Installing an MCP server is not the same as adding a normal library. You are giving an AI client a new set of actions it can call on your behalf. That may mean file access, database reads, browser automation, payment flows, issue tracking, or access to a private SaaS account.

The right question is not only “does this server work?” It is “should this server be allowed inside my agent workflow?” Use this checklist before adding any MCP server to Claude Desktop, Claude Code, Cursor, or a production agent runtime.

1. Start with the Use Case

Before reviewing code, write down the job the server needs to do. Good MCP server choices are narrow. They expose the smallest set of tools needed for a workflow and avoid broad access when a smaller integration would work.

Ask three questions:

  • What action should the agent be able to take?
  • What data does the server need to see?
  • What should the agent never be able to do through this server?

For example, a research agent may need read-only access to a documentation index. It probably does not need write access to your repository. A support agent may need to search tickets and draft replies. It may not need permission to delete users or issue refunds.

If you cannot describe the boundary in plain language, do not install the server yet.

2. Inspect the Tool List

An MCP server should make its capabilities clear. Look for documentation that lists every tool, what each tool does, and what inputs it accepts. If the server hides broad operations behind vague names like run, execute, or admin_action, slow down.

Healthy tool design usually has:

  • Specific names such as search_docs, create_issue, or get_customer_by_email
  • Typed input schemas
  • Clear read vs write separation
  • Predictable return formats
  • No hidden shell execution unless that is the stated purpose

Run the server locally and inspect tools/list before connecting it to a real account. For stdio servers, you can test the list call directly or use the MCP Inspector:

npx @modelcontextprotocol/inspector

If the tool list is broader than the workflow requires, look for a safer server or configure a restricted account.

3. Check Authentication Scope

Most useful MCP servers connect to something valuable: GitHub, Slack, Notion, Stripe, Postgres, a browser session, or an internal API. That makes credentials the main risk.

Prefer servers that support scoped credentials. A read-only token is better than an admin token. A project-level key is better than an organization-wide key. A test workspace is better than production for first install.

Before adding credentials, answer:

  • Can this token be scoped to one project, repo, database, or workspace?
  • Can write access be disabled?
  • Can the token be rotated quickly?
  • Will the server store credentials locally, and where?
  • Does the server require OAuth, API keys, or no auth?

For local desktop use, keep secrets out of the command string when possible. Use environment variables or the client config’s supported secret mechanism. Do not paste long-lived admin credentials into sample configs copied from a README.

4. Review the Install Path

A server’s install command tells you a lot. A simple package install from a known registry is easier to audit than a curl script that pipes directly into a shell.

Safer patterns include:

npx -y package-name
uvx package-name
pipx run package-name

Riskier patterns include:

curl https://example.com/install.sh | sh

That does not mean curl installers are always bad. It means you should read the script first, pin versions where possible, and understand what files it writes. For production, pin the package version and run the server from a locked environment instead of installing whatever is latest at runtime.

5. Test with Fake or Read-Only Data First

Never make production the first test. Connect the server to a sandbox account, sample repository, staging database, or read-only token. Then run three checks:

  1. List tools and confirm the exposed actions match the docs.
  2. Call the safest read-only tool with known input.
  3. Try a write action only in a sandbox and confirm the result is reversible.

Watch logs during this step. Stdio servers must not write debug text to stdout because stdout is reserved for JSON-RPC messages. Good servers log to stderr or a file. If a server corrupts the protocol stream during basic testing, fix that before giving it real access.

6. Decide How It Will Be Used

A local helper for one developer can accept more friction than a server used by a team. A production agent needs stricter rules: pinned versions, scoped credentials, log retention, monitoring, and a rollback path.

Use this decision table:

SituationRecommendation
Personal read-only workflowLocal install is usually fine after tool inspection
Personal workflow with writesUse scoped credentials and test in a sandbox first
Team workflowPin versions and document config in the repo
Production agentRun in a controlled environment with monitoring and rotation
Broad admin accessAvoid unless there is no narrower option

The more authority the server has, the more boring the deployment should be.

Red Flags

Skip or isolate the server if you see any of these:

  • No documented tool list
  • Broad filesystem, shell, or network access without clear limits
  • Requires admin credentials for a narrow task
  • No version pinning path
  • Unclear maintainer or abandoned repository
  • Writes logs or secrets to stdout
  • Sample config includes real-looking tokens
  • Tool names do not explain what they do

One red flag may be fixable. Several red flags mean the server should stay outside your main agent workflow.

A Simple Evaluation Flow

Use this flow when you find a new MCP server:

  1. Define the workflow and access boundary.
  2. Read the tool list and install docs.
  3. Check auth type and credential scope.
  4. Run locally with the MCP Inspector.
  5. Test with sandbox or read-only data.
  6. Pin the version if it will be reused.
  7. Document the config and removal steps.

This turns MCP server selection from a vibe check into an operational review. The point is not to avoid new tools. The point is to install them with a clear boundary, a known trust model, and a way back out.

FAQ

Should I install MCP servers globally?

Usually no. For development, local project installs or per-client config are easier to reason about. Global installs make it harder to know which version a client is using.

No. Popularity helps with discovery, but it does not replace review. Still check the tool list, auth scope, install path, and maintainer activity.

Can I use one token for every MCP server?

Avoid that. Use separate credentials per server or workflow when possible. Separate tokens make rotation easier and reduce the blast radius if a server misbehaves.

What is the fastest safe first test?

Run the server with the MCP Inspector and a read-only or sandbox credential. Confirm the tool list, call one read action, and inspect the logs before adding the server to your main AI client.