Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To add an MCP server to Claude Code, use the server’s documented transport and then verify it: run claude mcp add --transport http <name> <url> for a remote HTTP server, or claude mcp add <name> -- <command> [args...] for a local stdio server. Choose a configuration scope, complete authentication if required, and check the connection with claude mcp list, claude mcp get <name>, or the in-session /mcp panel.

MCP (Model Context Protocol) is an open standard for connecting AI applications to external systems. In this setup, Claude Code is the client and an MCP server supplies tools, data, resources, or prompts. The exact capabilities depend on the server, so review its documentation and permissions before connecting it.

What you need before adding a server

  • A current Claude Code installation and access to its command-line interface.
  • The MCP provider’s official setup instructions: a remote URL, a local launch command, or an mcpServers JSON entry.
  • Any required account, API key, OAuth permission, runtime, or package manager.
  • A decision about where the configuration should apply: one project, your user account, or the current local context.

Server instructions may be written for another MCP client. Translate the transport and fields rather than copying an incompatible command blindly. Never put a live secret in a command that will be saved in shell history or in a committed configuration file.

Choose the right MCP transport

Remote HTTP

Use HTTP when a hosted service exposes an MCP endpoint. The current Claude Code reference recommends HTTP for remote servers and cloud services:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
claude mcp add --transport http notion https://mcp.notion.com/mcp

Replace the name and URL with the values supplied by your provider.

Local stdio

Use stdio when Claude Code should start a local process. The double hyphen is significant: everything after it belongs to the server command, not to Claude Code.

claude mcp add --transport stdio example -- npx -y @example/mcp-server

A server that needs an environment variable can be configured like this:

claude mcp add --env API_KEY=your-key --transport stdio example -- npx -y @example/mcp-server

Use placeholder values while testing and prefer your shell’s secret-management facilities for real credentials.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

SSE and WebSocket cases

Server-Sent Events (SSE) is deprecated in the current reference. Use HTTP when the service supports it; select SSE only when the provider still requires it and your installed Claude Code version documents that option:

claude mcp add --transport sse legacy https://example.com/mcp

WebSocket does not use --transport ws in the documented CLI. Configure it with claude mcp add-json or a project .mcp.json, following the provider’s JSON schema. HTTP is normally a better fit for request-and-response services.

Step-by-step: add a remote HTTP server

  1. Read the provider’s current instructions. Confirm the endpoint, required transport, authentication method, and requested scopes.
  2. Choose a scope. Decide whether the server belongs only to this project, should be shared with a team, or should follow you across projects.
  3. Run the add command.
    claude mcp add --transport http <name> <url>
  4. Authenticate. If the server supports Claude Code’s OAuth flow, open /mcp inside Claude Code and complete sign-in. For header-based or provider-specific credentials, follow that service’s instructions.
  5. Verify health.
    claude mcp list
    claude mcp get <name>

    You can also open /mcp to inspect servers and authentication.

  6. Start with a low-risk request. Prefer a read-only tool first and confirm that the returned tool and data match what you expected.

An “Added” message means Claude Code wrote the configuration; it does not prove that the endpoint is reachable or authenticated.

Step-by-step: add a local stdio server

  1. Install the runtime and package named by the server documentation (for example, Node.js and the required npm package).
  2. Test the launch command directly in your terminal so missing executables and permissions are obvious.
  3. Add it with the separator before the command:
claude mcp add <name> -- <command> [args...]

For example:

claude mcp add files -- python /path/to/server.py --root /path/to/project
  1. Use claude mcp list and claude mcp get files to inspect the saved entry.
  2. Open /mcp, approve the server if Claude Code requests approval, and try a harmless operation.

On native Windows, follow the current shell-specific guidance for commands such as npx; quoting and executable discovery differ between shells.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configuration scope: local, project, or user

Scope Best for Storage and implications
Local A private, project-specific setup The MCP reference describes local configuration as stored per project in ~/.claude.json.
Project A team configuration shared through version control Stored in a project-root .mcp.json. Keep secrets out of the file. Interactive sessions prompt for approval before using project-scoped servers.
User A server available across your projects Private to your user account and available across projects.

When a server is defined in more than one scope, the documented precedence is local, then project, then user. Claude Code uses the complete higher-priority definition rather than merging individual fields. This behavior is version-sensitive, so check the current reference if precedence matters to your workflow.

Using JSON configuration

If a provider gives another client’s mcpServers block, pass the relevant entry to:

claude mcp add-json <name> '<json>'

Alternatively, adapt it into .mcp.json. A remote entry needs a valid type, such as http, sse, or ws; a URL without a type is an error in the current documentation. Local entries use stdio-style command and args fields.

Authentication and permissions

There is no universal MCP credential format. A hosted server may use OAuth through /mcp, an authorization header, an API key, or a provider-specific login. Grant only the scopes required for the task and keep credentials outside shared files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Before approval, identify who operates the server, which tools it exposes, what accounts or files it can access, and whether it fetches external content. Anthropic advises: “Verify you trust each server before connecting it.” External pages and tool results can contain prompt-injection attempts, so treat returned instructions as untrusted data and do not grant broader access merely because a tool requests it.

Verify what Claude Code can actually use

  • claude mcp list shows configured servers and their status.
  • claude mcp get <name> shows one server’s details.
  • /mcp provides in-session controls and supported authentication flows.

Ask Claude Code for a read-only action that clearly identifies the server’s tool. If the server exposes databases, issue trackers, monitoring data, or design resources, begin with a query rather than a write operation. Capabilities vary by implementation; do not assume that every MCP server can perform the same actions.

Troubleshooting common failures

“Added” appears, but the server is unavailable

The command probably wrote configuration without completing a health check. Run claude mcp list, then claude mcp get <name>. Recheck the URL, DNS access, credentials, and the provider’s transport requirements.

A local command exits immediately

Confirm that the runtime and package are installed, the executable is on your PATH, and every server argument follows --. Run the exact command outside Claude Code to reveal package, permission, or working-directory errors.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The remote server asks you to log in

Open /mcp and complete the supported OAuth flow. If login succeeds but tools remain unavailable, verify that the account has the required organization, project, or resource permissions.

A project server is waiting for approval

Open Claude Code in the project, inspect the .mcp.json entry, and approve it only after confirming the operator, command, URL, and access requested.

JSON will not load

Validate the JSON syntax and required fields. For remote services, include a valid type such as http; for local servers, use the documented command and argument fields. Check for shell quoting errors when passing JSON on the command line.

The transport is rejected

Ask the provider which transport its endpoint supports. Prefer HTTP over deprecated SSE where possible. Configure WebSocket through add-json or .mcp.json, not a --transport ws flag.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Performance, reliability, and operational limits

Remote HTTP avoids installing a runtime but depends on network latency, service availability, and token or request limits. Local stdio can reduce network dependency and provide direct access to local files or scripts, but you must patch packages, manage processes, and secure the host.

Keep tool requests narrow. Large tool outputs consume Claude’s context and can obscure the result; the current reference documents an MCP output warning threshold of 10,000 tokens and a default maximum of 25,000 tokens, values that may change with Claude Code versions. Request filtered fields, date ranges, or pagination where the server supports them.

For production use, pin or review package versions, monitor authentication expiry, document the selected scope, and remove unused servers. A project configuration is convenient for teams, but credentials should come from environment variables or an approved secret manager rather than committed JSON.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup: ScreenshotNeo through MCP or one API call

ScreenshotNeo is a website screenshot API and MCP server for Claude, Cursor, and other MCP clients. Its MCP tools include take_screenshot, get_page_info, and capture_pdf, so an AI agent can request captures without you wiring a browser automation script.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If you only need a capture, call the API directly (see the ScreenshotNeo documentation):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Before capture, ScreenshotNeo accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. The service also supports full-page and element captures, device and viewport settings, retina scale, dark mode, PDFs, custom CSS and JavaScript, waits, request blocking, headers, cookies, geolocation, signed links, asynchronous jobs, bulk capture, caching, usage data, and an OpenAPI specification.

There is a free allowance of 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is included on every plan. Create a free ScreenshotNeo account to try it.

Security checklist before you approve any server

  • Confirm the server’s operator and official URL or package.
  • Read the tools, resources, and scopes it requests.
  • Use a least-privilege account and separate credentials for development.
  • Review project-scoped entries before approving them.
  • Assume fetched web content may contain prompt injection.
  • Start with read-only work and revoke unused access.

Official references

See Anthropic’s current Claude Code MCP reference for version-specific commands and the Model Context Protocol introduction for the protocol’s concepts. CLI behavior and third-party server instructions can change, so check those pages and your installed version before deployment.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Can Claude Code use an MCP server from another client?

Yes. MCP servers are client-independent, but you must translate the provider’s transport and configuration fields into Claude Code’s command or JSON format.

Should I choose project or user scope?

Choose project scope for a reviewed team configuration and user scope for a private server you need across projects. Keep credentials out of shared project files.

Is SSE still recommended for Claude Code?

No. The current reference marks SSE as deprecated; use HTTP when the service offers it.

Does adding a server prove it works?

No. The confirmation indicates that configuration was written. Check status with claude mcp list, inspect details, authenticate, and run a low-risk tool call.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.