MCP servers
External tools and data sources Claude can call, packaged behind the Model Context Protocol.
What it is
An MCP server exposes tools, resources, and prompts over the Model Context Protocol so Claude can call them. The server runs as a local subprocess (stdio transport) or as a remote HTTP service (streamable HTTP transport). MCP is an open spec, so the same server works with Claude Code, Claude Desktop, the Claude.ai connector directory, and other MCP-aware clients.
You install one MCP server per data source — PubMed, ClinicalTrials.gov, your filesystem, your issue tracker — and Claude picks tools from it as needed.
When to use it
- You need Claude to query a database or API (PubMed, ChEMBL, your internal services).
- You want Claude to read or write files on your machine.
- A vendor publishes a hosted MCP endpoint you want to point Claude at.
- You’re building a shared team integration committed to a repo via
.mcp.json.
How to install / enable
Use claude mcp add from your shell. Flags go before the server name; -- separates stdio commands.
# Remote HTTP server
claude mcp add --transport http pubmed https://pubmed.mcp.claude.com/mcp
# Local stdio server (default transport)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Documents
# Share with your team (commits .mcp.json at repo root)
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp
Inside a session, run /mcp to see status and trigger OAuth login for servers that require it.
Common pitfalls
- Putting flags after the server name — they’re silently ignored.
- Forgetting
--before the stdio command and its arguments. - Committing
~/.claude.json(it holds local-scope credentials). Use--scope projectfor.mcp.jsoninstead. - Using
--transport sse— deprecated; use--transport http. - Assuming static API keys work for remote MCP. Remote servers use OAuth 2.1; pass bearer tokens via
--headerwhen supported. - Trying to expose an MCP server inside a private network. Don’t poke firewall holes — request access to MCP tunnels (Research Preview, May 2026), which run a
cloudflaredagent outbound from your network. Console-managed only; not yet exposed as claude.ai connectors. - Assuming MCP is pull-only. Since v2.1.80 (March 2026), Claude Code supports channels — allowlisted MCP servers that push events into a session (
claude --channels discord,telegram,imessage). Useful for CI failures, monitoring alerts, or chat-bridge bots reaching Claude in your terminal. Research preview;claude.aiOAuth only; Team / Enterprise admins must opt in. See the channels cross-cutting note.
See also
- Plugins — bundle an MCP server with skills and slash commands
- Connectors — Anthropic-managed remote MCP servers exposed in Claude.ai
- Authentication
- MCP reference for Claude Code — canonical docs
- Model Context Protocol spec
- Catalog example: PubMed MCP
Sources
- Connect Claude Code to tools via MCP — Anthropic docs; verified 2026-05-19.
- Model Context Protocol specification — verified 2026-05-19.
- MCP donated to Linux Foundation Agentic AI Foundation — December 2025 announcement; verified 2026-05-19.
- New in Claude Managed Agents: self-hosted sandboxes and MCP tunnels — Anthropic blog; published 2026-05-19 — MCP tunnels (Research Preview),
cloudflared-based. - Anthropic Introduces MCP Tunnels for Private Agent Access to Internal Systems — InfoQ; published 2026-05-19.
- MCP tunnels (API docs) — Anthropic docs; verified 2026-05-20.
- Channels reference — Anthropic docs; verified 2026-06-03 (this run) — MCP push-mode via
claude --channels, allowlisted plugins, Team / Enterprise admin gating.