The MCP servers that reliably pay for themselves in Claude Code are GitHub, Playwright or Chrome DevTools, Context7, Sentry, your issue tracker, and one database server. Add them with claude mcp add, prefer remote HTTP endpoints and read-only variants, and skip the filesystem, git, and fetch servers because Claude Code already has those capabilities built in.
- Start with three. A list of twenty is a context tax you pay every turn.
- GitHub and a browser server are the two that pay off for nearly everyone.
- Context7 is the highest value-per-token server on this page.
- Prefer the read-only endpoint where the vendor ships one.
- Do not install filesystem, git, or fetch servers. Claude Code already does all three.
- Use
--scope userfor personal tools,--scope projectfor team ones.
How this list was cut
Four rules, applied hard. They are the reason this page is shorter than the lists it competes with.
- It must do something Claude Code cannot already do. That single test removes roughly half of every popular list.
- It must be maintained by the vendor whose system it touches, or be the obvious community standard. A third-party GitHub wrapper is a credential you handed to a stranger.
- Its tool surface must be small enough to describe. A server with ninety tools is a server the model will misuse.
- It must be installable in one command that we have verified against the vendor's own documentation.
claude mcp add --scope user --transport http github https://api.githubcopilot.com/mcp/x/all/readonly \
--header "Authorization: Bearer $GITHUB_PAT"
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp \
--header "Authorization: Bearer $CONTEXT7_API_KEY"
claude mcp add --scope user playwright -- npx @playwright/mcp@latest
claude mcp list
The shortlist
Endpoints and package names read from vendor documentation on 7 August 2026. Vendors move URLs; check before you paste.
| Server | Transport | Auth | What it earns you |
|---|---|---|---|
| GitHub | HTTP | OAuth or PAT header | PRs, issues, Actions logs, code search |
| Playwright | stdio | None | Drives a real browser via accessibility tree |
| Chrome DevTools | stdio | None | Console, network, performance traces |
| Context7 | HTTP | API key | Version-pinned library docs on demand |
| Sentry | HTTP | OAuth | Real stack traces for the error you are fixing |
| Linear | HTTP | OAuth | Issues, projects, comments |
| Atlassian | HTTP | OAuth 2.1 or API token | Jira, Confluence, JSM, Bitbucket |
| Notion | HTTP | OAuth | Specs and docs that live in Notion |
| Figma | HTTP | OAuth | Design context for UI work |
| Stripe | HTTP | OAuth | Billing objects and API docs |
| Supabase | HTTP or stdio | OAuth or PAT | Schema, migrations, logs |
| DBHub | stdio | Connection string | Any Postgres or MySQL, read-only |
| Cloudflare | HTTP | OAuth | Sixteen scoped servers: docs, bindings, logs |
| Slack | HTTP | OAuth | The thread where the decision was made |
The two everyone should have
GitHub
The one with the clearest payoff, because it collapses the loop of copying issue text and PR review comments into the terminal. GitHub runs the remote server itself, and it is unusual in exposing per-toolset endpoints so you can grant a narrow slice rather than everything.
# everything, read-only
claude mcp add --transport http github https://api.githubcopilot.com/mcp/x/all/readonly \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
# or just pull requests and issues, read-write
claude mcp add --transport http gh-pr https://api.githubcopilot.com/mcp/x/pull_requests \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
A browser server
Pick one, not both. Playwright is the better general driver: it exposes the page as a structured accessibility snapshot rather than screenshots, which means the model reads a tree instead of guessing at pixels. Chrome DevTools MCP is the better debugger, because it hands over the console, the network log, and real performance traces from a live Chrome.
# general automation and end-to-end checks
claude mcp add playwright -- npx @playwright/mcp@latest
# debugging a running page: console, network, performance
claude mcp add chrome-devtools --scope user -- npx chrome-devtools-mcp@latest
This is the category where an agent goes from writing plausible frontend code to verifying it. "Load the page, click through checkout, tell me what threw" is a genuinely different workflow from "read the component and guess".
Documentation and errors
Context7
The highest value-per-token server on this page. Models are confidently wrong about library APIs that changed after training, and the usual workaround is pasting documentation by hand. Context7 fetches version-specific docs and code examples for the library actually in your lockfile.
claude mcp add --transport http context7 https://mcp.context7.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Sentry
Turns "the checkout page is broken" into a stack trace, a release, and a first-seen timestamp without leaving the terminal. It authenticates over OAuth, so no credential goes into your config file.
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
Issue trackers, docs, and design
# Linear (read-only variant available)
claude mcp add --transport http linear https://mcp.linear.app/mcp
claude mcp add --transport http linear-ro https://mcp.linear.app/mcp/readonly
# Atlassian: Jira, Confluence, JSM, Bitbucket
claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcp/authv2
# Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Asana still only exposes SSE, which is deprecated but works
claude mcp add --transport sse asana https://mcp.asana.com/sse
Figma
Worth it only if you build UI against Figma files, in which case it is transformative: the agent reads the actual frame, variables, and spacing instead of inferring them from a screenshot you pasted.
claude mcp add --transport http figma https://mcp.figma.com/mcp
# or, as a plugin that bundles the server plus skills
claude plugin install figma@claude-plugins-official
Databases and infrastructure
The category with the highest upside and the sharpest edge. A schema-aware agent writes dramatically better migrations. A write-capable production credential attached to an agent is an incident with a date on it.
# any Postgres or MySQL, via DBHub
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@localhost:5432/app_dev"
# Supabase, hosted; sign in at /mcp afterwards
claude mcp add --transport http supabase https://mcp.supabase.com/mcp
# or the local package, where --read-only and --project-ref are available
claude mcp add supabase-local -- npx -y @supabase/mcp-server-supabase \
--read-only --project-ref=YOUR_PROJECT_REF
# Cloudflare ships sixteen scoped servers; add only the ones you use
claude mcp add --transport http cf-docs https://docs.mcp.cloudflare.com/mcp
claude mcp add --transport http cf-observability https://observability.mcp.cloudflare.com/mcp
Cloudflare's scoped servers, the ones worth having.
| Server | URL |
|---|---|
| Documentation | https://docs.mcp.cloudflare.com/mcp |
| Workers Bindings | https://bindings.mcp.cloudflare.com/mcp |
| Observability | https://observability.mcp.cloudflare.com/mcp |
| Workers Builds | https://builds.mcp.cloudflare.com/mcp |
| Radar | https://radar.mcp.cloudflare.com/mcp |
The ones to skip
These appear near the top of most lists and are actively counterproductive in Claude Code, because the capability already exists natively and costs nothing.
| Popular server | Why not | Use instead |
|---|---|---|
| Filesystem | Read, Write, Edit, Glob, Grep are built in | Nothing. Or --add-dir |
| Git | Bash already runs git | Nothing |
| Fetch or web browsing | WebFetch and WebSearch are built in | Nothing, unless you need a real browser |
| A shell or command server | Bash, with a permission model around it | Nothing |
| A memory server | Overlaps CLAUDE.md and confuses precedence | CLAUDE.md |
| Third-party GitHub wrappers | A token handed to an unrelated maintainer | The official GitHub server |
| Everything-in-one aggregators | Huge tool surface, unclear credential boundary | The two servers you actually use |
| A second issue tracker | Doubles tool count for one workflow | Pick one |
Keeping the list honest
# what is configured, and is it actually connecting?
claude mcp list
# what did I add and forget
claude mcp get some-server
# remove it, from whichever scope it lives in
claude mcp remove some-server
# and clear any OAuth credential it left behind
claude mcp logout some-server
Claude Code defers MCP tool definitions by default now, which softens the cost of a long list but does not remove it: server instructions still load at session start, and tool output still enters your context permanently once a call returns. A server you have not used in a month is pure overhead plus a live credential.
Questions people ask
GitHub, a browser server such as Playwright or Chrome DevTools, and Context7 cover the most ground for most developers. Add Sentry if you own production, one issue tracker, and one read-only database server. Three to six is the useful range.
Fewer than you want to. Each connected server contributes server instructions on every turn and expands the set of tools the model can choose wrongly. Start at three and add one only when a real workflow needs it.
No. Claude Code already has Read, Write, Edit, Glob, and Grep natively. The filesystem server exists for clients that lack file tools, and installing it in Claude Code just gives the model a second, worse way to read a file.
claude mcp add --transport http <name> <url> for a remote server, or claude mcp add <name> -- <command> for a local stdio one. Add --scope project to commit it as .mcp.json for the team, or --scope user for every project on your machine.
Different risks. A remote server authenticates over OAuth so no credential sits in your config, but your data goes to the vendor. A local server keeps data on your machine and runs arbitrary code you chose to trust. Prefer vendor-run remotes for that vendor's own data.
A plugin can bundle an MCP server together with skills, slash commands, and subagents, and installs as one unit. If a vendor ships both, the plugin is usually the better install because it includes usage guidance the bare server does not.
A long list adds startup connection time and standing context. Tool search defers definitions by default, but a slow or failing server still delays a turn when a tool from it is needed, and large tool output permanently occupies context.
The Anthropic connectors directory at claude.ai/directory lists reviewed remote servers, and the modelcontextprotocol/servers repository holds the reference implementations. Both are catalogues rather than recommendations, which is what this page is for.
Sources
Every figure above was read from these pages on 3 August 2026. Vendors reprice without notice; if you find a stale number, tell us.