Adding MCP servers to Claude Code: remote, local and team setups that actually connect A developer published a guide on connecting MCP servers to Claude Code, identifying wrong transport selection, wrong scope, and a missing "type": "http" field in .mcp.json as the three most common causes of failed connections. The guide covers HTTP versus stdio transport commands, local/project/user scopes, environment variable expansion, and verifying connections with claude mcp list and /mcp. Most "my MCP server doesn't work in Claude Code" problems come down to three small things: the wrong transport, the wrong scope, or a .mcp.json entry that Claude Code silently skips. This post walks through each one with commands you can paste, then shows how to confirm the server is really connected before you rely on it. Everything below follows the official Claude Code MCP docs code.claude.com/docs/en/mcp https://code.claude.com/docs/en/mcp . Client CLIs change often, so if a flag behaves differently on your version, the docs win. The original, shorter version of this guide lives at AgentTask Atlas: How to add an MCP server to Claude Code https://agenttaskatlas.com/guides/connect-mcp-claude-code . Before typing anything, look at the server's README and find out which of these two it is: https://.../mcp . The server runs somewhere else; Claude Code talks to it over HTTP. The docs recommend the HTTP transport for remote servers. npx some-package or uvx some-tool . Claude Code starts that process on your machine and talks to it over stdin/stdout. Picking the wrong transport is the most common reason a server shows up as failed. The shape is claude mcp add --transport http