Claude Code MCP Explained: How to Connect Claude to Your Other Tools (2026)
MCP (Model Context Protocol) is an open standard that lets Claude Code talk directly to your other tools — Notion, GitHub, Sentry, your browser, your database — instead of you copy-pasting between tabs. Here's what MCP actually is, how to connect your first server in about five minutes, and how to do it safely.
MCP — the Model Context Protocol — is an open standard that connects Claude Code to your other tools and data. Instead of you copying an issue out of your tracker and pasting it into a chat, Claude reads it directly. You add a tool once with a single command, Claude gains a new set of abilities, and from then on you just ask in plain English. Anthropic calls the connected tools MCP servers.
What is MCP, in plain English?
Think of Claude Code as a very capable assistant who just started at your company. It's smart, it's fast, and it can read and edit the files on your computer — but it has no login to anything else. It can't see your Notion pages, your GitHub issues, your error logs, or your calendar. Every time you want it to use that information, you have to go fetch it and paste it in.
MCP is how you hand it the keys. It's an open standard — published by Anthropic, and used far beyond Claude — that defines one common way for AI assistants to talk to outside systems. A company builds an MCP server for their product once, and any AI tool that speaks MCP can use it. That's why the list of available connections grew so fast: nobody has to build a custom integration for every AI and every tool.
The practical result: you stop being the copy-paste layer between your AI and your software.
What can you actually do once MCP is connected?
This is the part that clicks for most people. Anthropic's own documentation gives examples like these — all of them things you ask for in one sentence, in one conversation:
- Build a feature straight from a ticket — "Add the feature described in JIRA issue ENG-4521 and open a pull request on GitHub."
- Check what's actually broken — "Look at Sentry and tell me which errors spiked after yesterday's release."
- Ask your own database questions — "Find the ten users who used this feature most last week."
- Pull designs into the work — "Update our email template based on the new Figma design that was posted in Slack."
- Verify in a real browser — "Open our staging site, click through the signup flow, and tell me where it breaks."
Notice what all of these have in common: the information lives somewhere Claude couldn't previously reach. MCP is the bridge, and every bridge you build removes a chunk of manual work from your day.
Is MCP the same thing as a Claude connector?
Mostly, yes — "connector" is the friendly name and MCP is the plumbing underneath. The connectors you see in the Anthropic Directory at claude.ai/directory run on exactly the same MCP infrastructure as the servers you add from a terminal. Any remote server listed in the Directory can be added to Claude Code with the same command.
It's also worth knowing that MCP isn't terminal-only. Every Claude Code surface can connect servers: the desktop app has a Connectors screen you click through, VS Code has its own setup, Claude Code on the web reads the configuration file from your repository, and connectors you add at claude.ai load automatically in the CLI when you sign in with the same account. Same standard, different front doors.
How do you connect your first MCP server?
Anthropic's recommended first server is the Claude Code documentation server. It's a good practice run because it needs no account, no API key, and no sign-in — so if something goes wrong, it's your setup, not a credential problem. Here's the whole flow.
Add the server
Open a terminal in any project folder and run this. Note: run it in your terminal, not inside a Claude session — you're setting things up before the conversation starts.
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
Reading it left to right: claude mcp add registers a server. --transport http means it's hosted at a web address rather than running on your machine. claude-code-docs is just a nickname you invent — it's how you'll refer to the server later. The URL is where the server lives. You should see a confirmation line starting with Added.
Check that it connected
"Added" only means the setting was saved. To confirm it actually works:
claude mcp list
You'll get a status next to each server. ✔ Connected is what you want. ! Needs authentication means it's reachable but wants you to sign in. ✘ Failed to connect means it didn't respond at all — see the troubleshooting section below.
Use it
Start a session with claude and ask for something that needs the new server. Naming the server explicitly the first time guarantees the answer comes from it and not from Claude's own memory:
Use the claude-code-docs server to look up what MCP_TIMEOUT does
Claude will ask permission the first time it calls a new tool. Approve it. The tool call in the output is labelled with your server's name — that's your proof the answer came through MCP.
Remove it when you're done (optional)
claude mcp remove claude-code-docs
Worth knowing why this step exists: every connected server takes up a little room in Claude's context window, because its tool list loads into every single session. Servers you don't use are quiet overhead. Tidy up.
How do you connect a tool that needs a login?
Most of the interesting ones — Sentry, Linear, Notion, GitHub — sit behind a login. The pattern barely changes: you add the URL, then sign in through your browser once.
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
Right after this, claude mcp list will show ! Needs authentication. That's expected. Start a Claude session, type /mcp, pick the server from the list, and choose Authenticate. Your browser opens, you approve the connection on the service's own sign-in page, and the status flips to connected. You never paste a password into Claude — the sign-in happens where it should, on their site.
--header "Authorization: Bearer <your-token>". The service's own docs will tell you which of the two it expects.What about tools that run on your own machine?
Not every MCP server lives on the internet. Some run as a small program on your computer — that's called a stdio server — and they're the right choice for anything that needs local access: your filesystem, a database, or a browser.
The Playwright server is the classic one to try. It hands Claude a real browser it can open, click, and read. It needs no account, and it runs through npx, so you'll need Node.js 18 or newer installed.
claude mcp add playwright -- npx -y @playwright/mcp@latest
Two things are different here. There's no --transport flag, because local servers use stdio by default. And that double dash -- matters: everything after it is the command Claude Code runs to start the server, passed through untouched. Leave it out and Claude Code tries to read the server's own options as its own, and the whole thing fails in a confusing way.
npx is still downloading the package in the background. Once it finishes, the status turns to Connected on its own.Where does the configuration actually live?
Claude Code saves your servers at one of three scopes, and picking the right one saves a lot of confusion later. The scope decides which projects the server shows up in, and whether your teammates get it too.
- Local — the default. The server works only in the project folder where you added it, and only for you. Stored in
~/.claude.json. Right for experiments and anything with personal credentials. - Project — shared. Stored in a
.mcp.jsonfile in your project root, which you commit to version control so everyone who clones the repo gets the same tools. Add it with--scope project. - User — personal but everywhere. Stored in
~/.claude.jsonand loaded in every project you open. Add it with--scope user. This is the one most people actually want for their everyday tools.
A server's scope is fixed when you add it, so "moving" one means removing it and adding it again with a different --scope flag. Not a big deal, but it catches people out.
If you'd rather write the configuration by hand — and for the project scope it's genuinely nicer, because the file doubles as documentation for your team — a .mcp.json looks like this:
{"mcpServers": {"claude-code-docs": {"type": "http","url": "https://code.claude.com/docs/mcp"},"playwright": {"type": "stdio","command": "npx","args": ["-y", "@playwright/mcp@latest"]}}}
Claude Code reads that file when a session starts, so save it and restart. The first time it sees a project server it asks you to approve it — that prompt exists so a repository you cloned from a stranger can't quietly launch programs on your machine.
The safety rules that actually matter
An MCP server is real software with real access to real systems. Anthropic's own documentation opens with a warning about this, and it's worth taking seriously — not because MCP is dangerous, but because "convenient" and "careless" look identical until something goes wrong.
- Trust the source. Only connect servers from the Anthropic Directory or from the vendor's own documentation. A random server from a forum post can read whatever you give it access to.
- Prefer read-only. Many services offer a read-only token. If Claude only needs to look at your issues, don't hand it permission to close them.
- Watch for prompt injection. A server that fetches outside content — web pages, tickets, emails — can pull in text written by someone else. Treat anything Claude reads from the outside world as information, never as instructions.
- Keep secrets out of shared files.
.mcp.jsongets committed to your repo. Anything with a personal token belongs at local or user scope instead. - Connect three to six, not thirty. Every server costs context space and adds surface area. Start with the one that removes the most copy-pasting from your week.
Which MCP servers should a beginner start with?
Don't shop for servers — shop for annoyances. The right first connection is whichever tool you currently paste out of most often. That said, here's a sensible order for most people:
- The Claude Code docs server — zero setup, zero risk, and it makes Claude accurate about its own features. A perfect test run.
- Your issue tracker (GitHub, Linear, Jira) — this is where "read the ticket and do the thing" comes from, and it's the single biggest time saver for most teams.
- Your notes or docs tool (Notion, Google Drive) — so Claude answers from what your company actually wrote down, not from the open internet.
- A browser server (Playwright) — so Claude can check its own work on a real page instead of assuring you it probably works.
- Your error monitoring (Sentry) — turns "something's broken" into a specific, already-diagnosed problem.
What do you do when a server won't connect?
Almost every MCP problem is one of five things. Run /mcp inside a session or claude mcp list from your shell, then match the symptom:
- "No MCP servers configured" — you're in the wrong folder. Local-scoped servers only load in the project where you added them. Re-add it there, or use
--scope userso it follows you everywhere. - "Failed to connect" on a hosted server — the URL is wrong or unreachable. A
404or405fromcurl -I <url>is actually fine (many MCP endpoints only answer POST); no response at all means check the address. - "Failed to connect" on a local server — run the command yourself in a terminal. If it starts and waits, the server is fine and your configuration is off. If it errors, the message names what's missing, usually Node.js.
- "Connection timed out" — the server was slow to start, common on a first
npxdownload. Raise the limit:MCP_TIMEOUT=60000 claude. - Edits to `.mcp.json` did nothing — that file is read once, at session start. Exit and restart. If you rejected the approval prompt earlier, reset it with
claude mcp reset-project-choices.
One more that trips people up: if a server connects but shows no tools, it usually started without an API key it needed. Pass it with --env KEY=value when you add the server — the service's docs will list which variables it wants.
Is MCP worth learning if you're not a developer?
Yes — arguably more so. Developers already have a dozen ways to move data between systems. If you don't write code, MCP is the first time you can wire your tools together by typing one line and then asking in English. There's no integration platform to configure, no automation builder to learn, and no per-task pricing.
The honest catch is that MCP rewards restraint. Connect everything and you'll get a slower, more confused assistant with a lot of permissions. Connect the two tools you paste out of every day, and the difference in your week is immediate.
Want to learn Claude Code the hands-on way?
Inside the club there's a full Claude Code course — step-by-step video lessons with me, plus a support group so you're never stuck. We start from the basics and build up to connectors, agents, and automations.
Frequently asked questions
What is MCP in Claude Code?
MCP stands for Model Context Protocol — an open standard that connects Claude Code to external tools, databases, and APIs. Each connected tool is called an MCP server. Once a server is connected, Claude can read from and act on that system directly instead of you copying information into the chat by hand.
How do I add an MCP server to Claude Code?
For a hosted server, run `claude mcp add --transport http <name> <url>` in your terminal. For a server that runs on your own machine, run `claude mcp add <name> -- <command>`. Then run `claude mcp list` to confirm it shows ✔ Connected, and start a session with `claude` to use it.
Do I need to be a developer to use MCP?
No. Adding a server is a single copy-paste command, and the Claude Code desktop app lets you add connectors by clicking instead. The part that takes judgement isn't technical — it's deciding which tools are worth connecting and what access to grant them.
Where are Claude Code MCP servers stored?
In one of three places, depending on the scope you chose. Local scope (the default) and user scope are stored in `~/.claude.json`; project scope is stored in a `.mcp.json` file in your project root, which you commit to version control so your whole team gets the same servers.
Is it safe to connect MCP servers?
It's safe if you're deliberate about it. Anthropic advises verifying that you trust each server before connecting, because servers that fetch external content can expose you to prompt injection. Use read-only credentials where the service offers them, keep tokens out of files you commit, and connect only the tools you actually use.
How many MCP servers should I connect?
A handful — most people land on three to six. Every connected server loads its tool list into every session, which uses context window space, so unused servers are pure overhead. Start with the tool you copy and paste out of most often, and add more only when a real need shows up.
Why does my MCP server say 'Needs authentication'?
The server is reachable but you haven't signed in yet. Start a Claude Code session, type /mcp, select the server, and choose Authenticate — your browser opens to the service's own sign-in page. Servers that use a static token instead need it passed at add time with --header "Authorization: Bearer <token>".
Still have questions?
Stuck on a step, or want to send a screenshot and have someone take a look? That's exactly what the community is for — real people, quick answers, and no question too basic.
Try your first two weeks for $1No commitment · cancel anytime
