Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteTo add an MCP server to Claude Code, run claude mcp add, choose the server’s transport and configuration scope, then verify it with /mcp or the claude mcp management commands. Local servers normally use stdio; hosted servers use HTTP or SSE. The examples below cover credentials, project sharing, OAuth, JSON configuration, Windows, and common failures.
What MCP adds to Claude Code
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to large language models. In Claude Code, an MCP server exposes tools or data that Claude can call during a session. The server may be a process on your computer or a remote service.
Four decisions determine a reliable setup:
- Where it runs: a local process or a remote service.
- Transport: stdio for local processes, or HTTP/SSE for remote servers.
- Scope: local, project, or user configuration.
- Authentication: environment variables, request headers, or OAuth.
Add a local stdio server
Use this form when Claude Code should start a command on your machine:
claude mcp add <name> <command> [args...]
For example, the documented Airtable pattern puts Claude-side options before --, then places the server command after it:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
claude mcp add airtable --env AIRTABLE_API_KEY=YOUR_KEY -- npx -y airtable-mcp-server
The double hyphen is significant. It separates options for the Claude CLI from the command and arguments that Claude will launch as the MCP server. Without it, a flag intended for the server can be interpreted as a Claude Code option.
Keep secrets out of the command history
For repeatable setups, supply credentials through the environment rather than hard-coding them in a checked-in project file. You can set a shell variable first and reference it in your server configuration, subject to the server’s own authentication requirements.
Windows and npx
On native Windows, a local npx server may need the cmd /c wrapper:
claude mcp add my-server -- cmd /c npx -y @some/package
This invokes the Windows command interpreter explicitly, avoiding executable-resolution problems that can occur when Claude Code starts npx directly.
Add a remote server over SSE or HTTP
Server-Sent Events (SSE)
Use SSE when the service documents an SSE endpoint:
claude mcp add --transport sse <name> <url>
When an API key is required, add the documented header option for that service. The exact header name and CLI syntax must match the service’s instructions; do not assume that every SSE server uses the same authentication header.
Streamable HTTP
For an HTTP MCP endpoint, use:
claude mcp add --transport http <name> <url>
Bearer-token services commonly require an authorization header. Use the provider’s documented header form and keep the token out of shared project files unless the project’s security policy explicitly permits it.
Choose the configuration scope
| Scope | Where it applies | Use it when | Important behavior |
|---|---|---|---|
local |
You and the current project | Testing privately or using personal credentials | Not intended for team sharing |
project |
The project-root .mcp.json |
A team should use the same server definition | Claude Code asks for approval before using project-scoped servers from the file |
user |
Your account across projects | A personal server should be available everywhere | Remains in your user configuration |
If servers with the same name exist at multiple scopes, precedence is local, then project, then user. This lets a project-specific or private definition override a broader one, but it can also make debugging confusing: inspect all scopes when Claude appears to be starting an unexpected command.
Project-wide setup
- Change to the project root.
- Add the server with project scope using the CLI’s scope option and the appropriate transport command.
- Commit
.mcp.jsononly after reviewing commands, URLs, headers, and variable references. - When a teammate opens the project, approve the project server when Claude Code prompts for permission.
Do not commit raw API keys. Use environment-variable expansion or a team-approved secret mechanism instead.
Use JSON configuration and variable expansion
For a complete JSON definition, use:
claude mcp add-json <name> '<json>'
The configuration format supports ${VAR} and ${VAR:-default} expansion in fields such as commands, arguments, environment values, URLs, and headers. A required variable with no value and no default causes parsing to fail, so define it before launching Claude Code or provide a safe default where appropriate.
Rank #3
The CLI reference also supports loading servers from JSON files or JSON strings with --mcp-config. This is useful in automation or when the same validated definition must be passed to several Claude Code invocations.
Authenticate an OAuth-protected server
- Add the remote server with
--transport httpor--transport sse. - Inside Claude Code, run
/mcp. - Select the server and complete its OAuth 2.0 login flow in the prompted browser or authorization screen.
- Return to Claude Code and retry the tool call.
OAuth support is documented for both HTTP and SSE transports. A server that instead expects a static token still needs its documented header or environment-variable configuration.
Check, inspect, and remove servers
List configured servers
claude mcp list
Use this first when you are unsure whether the add command succeeded.
Inspect one definition
claude mcp get <name>
Check the resolved name, transport, command or URL, scope, and configured options. Confirm that an environment variable is present without exposing its secret value in logs or screenshots.
Remove a definition
claude mcp remove <name>
Remove stale or duplicate entries, then add one definition at the intended scope. Removing a server configuration does not necessarily revoke a token issued by the remote provider; revoke credentials with that provider when required.
Verify that Claude can use the server
- Run
claude mcp listand confirm the expected name appears. - Run
claude mcp get <name>and verify the transport and command or URL. - Start or reopen Claude Code.
- Run
/mcpand confirm the server is connected; complete OAuth if prompted. - Ask Claude to perform a small, read-only operation supplied by the server.
A successful registration does not prove that the server’s downstream API credentials, permissions, network access, or individual tools are valid. The first harmless tool call is the practical end-to-end check.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchTroubleshoot common failures
“Command not found” or immediate startup failure
- Confirm the runtime (Node, Python, or another executable) is installed and on the PATH visible to Claude Code.
- Run the same command manually in a terminal.
- On Windows, retry with
cmd /c npx .... - Check that arguments appear after the
--separator.
The server appears, but tools do not connect
- Use
claude mcp get <name>to detect a wrong URL, transport, or scope. - Confirm the remote endpoint really supports the selected HTTP or SSE transport.
- Check firewall, proxy, DNS, and TLS access from the machine running Claude Code.
- Verify API-key headers, bearer-token formatting, and required environment variables.
OAuth keeps asking you to sign in
- Open
/mcpand complete the flow for the exact server entry you added. - Remove duplicate entries with different URLs or scopes.
- Check that the provider has not revoked the grant or changed its redirect requirements.
Project configuration is ignored or blocked
- Make sure
.mcp.jsonis in the project root. - Approve the project-scoped server when Claude Code requests permission.
- Check scope precedence: a same-named local server overrides the project entry.
- Validate every required
${VAR}; an unset variable without a default prevents parsing.
Startup or output limits are too restrictive
Claude Code documents MCP_TIMEOUT for startup-timeout configuration and MAX_MCP_OUTPUT_TOKENS for changing the warning threshold for tool output. Increase them only when a server genuinely needs more time or returns large results; excessive output can make sessions slower and harder to review.
Operational choices: reliability, security, and performance
- Prefer stdio for local-only data. It avoids exposing a listening network endpoint, but every developer needs the same runtime and package installation.
- Prefer remote HTTP or SSE for centrally managed services. Updates and credentials can be managed by the provider, while connectivity and provider availability become dependencies.
- Use project scope deliberately. It improves team consistency, but review the file as executable integration configuration and approve only trusted servers.
- Keep tool output focused. Ask for narrow queries and use server-side filters where available; large responses consume context and may trigger the output warning.
- Separate test and production credentials. A successful connection proves reachability, not that the account has the least privilege needed.
Or skip the browser setup: ScreenshotNeo MCP and API
If your MCP workflow needs website screenshots, ScreenshotNeo provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. It also offers a direct API, so a browser process does not have to be installed in your project.
One request returns a PNG, JPEG, WebP, or PDF. Before capture, it accepts cookie or consent banners like a visitor 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 the response identifies the result with X-Page-Verdict and X-Billed headers.
Using the ScreenshotNeo API documentation, a cURL call is:
Recommended Free Tools
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
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)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo supports full-page captures with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets plus custom viewports, retina scale, PDF paper sizes and page ranges, HTML/CSS-to-image, custom CSS and JavaScript, clicks, waits, request blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, selectable-TTL caching, signed links, async jobs with signed webhooks, bulk capture of up to 100 URLs per call, usage reporting, and an OpenAPI specification. It accepts parameter names used by other screenshot APIs, which can simplify migration.
Plans include 1,000 shots per month free with no card; paid plans start at $5 for 3,000 shots. Higher plans are Growth ($15 for 15,000), Pro ($39 for 60,000), Scale ($99 for 250,000), and Business ($249 for 1,000,000); yearly billing gives two months free, and every feature is included on every plan. Create a free ScreenshotNeo account to get started.
Quick decision checklist
- Use
claude mcp add name commandfor a local stdio process. - Use
--transport httpor--transport ssefor a hosted endpoint. - Put Claude CLI flags before
--; put server arguments after it. - Choose local, project, or user scope before sharing credentials or configuration.
- Use
/mcpfor OAuth, thenclaude mcp listandclaude mcp getto verify. - Use JSON and variable expansion for repeatable, secret-safe definitions.
Frequently Asked Questions
Can one Claude Code project use both local and remote MCP servers?
Yes. Add each server under its appropriate transport and give each a distinct name; Claude Code can manage local stdio and remote HTTP or SSE entries together.
What happens if two scopes contain the same MCP server name?
The local definition wins over project, and project wins over user. Inspect or remove duplicates when the running configuration is unexpected.
Free tools Windows power users keep installed
One-click scans. No signup required.
Is importing Claude Desktop servers available everywhere?
The documented claude mcp add-from-claude-desktop import is limited to macOS and WSL.
Does adding an MCP server grant it access to every project file?
No. Access depends on the server, its credentials, the tools it exposes, and the operation Claude requests. Review permissions and use least-privilege credentials.
Quick Recap
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.

