The best MCP servers for Claude Code, and the ones to skip

Most MCP server lists are a directory dump. This one is short on purpose: every connected server costs context on every turn, so the right number is closer to four than forty.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

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.

What you need to know
  • 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 user for personal tools, --scope project for 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.
If you read nothing else, this is a good default for a working developer.
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.

ServerTransportAuthWhat it earns you
GitHubHTTPOAuth or PAT headerPRs, issues, Actions logs, code search
PlaywrightstdioNoneDrives a real browser via accessibility tree
Chrome DevToolsstdioNoneConsole, network, performance traces
Context7HTTPAPI keyVersion-pinned library docs on demand
SentryHTTPOAuthReal stack traces for the error you are fixing
LinearHTTPOAuthIssues, projects, comments
AtlassianHTTPOAuth 2.1 or API tokenJira, Confluence, JSM, Bitbucket
NotionHTTPOAuthSpecs and docs that live in Notion
FigmaHTTPOAuthDesign context for UI work
StripeHTTPOAuthBilling objects and API docs
SupabaseHTTP or stdioOAuth or PATSchema, migrations, logs
DBHubstdioConnection stringAny Postgres or MySQL, read-only
CloudflareHTTPOAuthSixteen scoped servers: docs, bindings, logs
SlackHTTPOAuthThe 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.

Read-only across all toolsets is the sane default. Widen deliberately.
# 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.

Then run /mcp inside a session and complete the browser sign-in.
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

Issue trackers, docs, and design

One tracker. Adding two because your company uses both is how a context budget disappears.
# 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.

Note the read-only user in the DSN. That is the boundary, not the prompt.
# 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.

ServerURL
Documentationhttps://docs.mcp.cloudflare.com/mcp
Workers Bindingshttps://bindings.mcp.cloudflare.com/mcp
Observabilityhttps://observability.mcp.cloudflare.com/mcp
Workers Buildshttps://builds.mcp.cloudflare.com/mcp
Radarhttps://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 serverWhy notUse instead
FilesystemRead, Write, Edit, Glob, Grep are built inNothing. Or --add-dir
GitBash already runs gitNothing
Fetch or web browsingWebFetch and WebSearch are built inNothing, unless you need a real browser
A shell or command serverBash, with a permission model around itNothing
A memory serverOverlaps CLAUDE.md and confuses precedenceCLAUDE.md
Third-party GitHub wrappersA token handed to an unrelated maintainerThe official GitHub server
Everything-in-one aggregatorsHuge tool surface, unclear credential boundaryThe two servers you actually use
A second issue trackerDoubles tool count for one workflowPick one

Keeping the list honest

A quarterly five-minute job that nobody does.
# 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.

  1. Claude Code MCP documentation
  2. github/github-mcp-server
  3. Anthropic connectors directory
  4. Model Context Protocol specification
Try it

Three servers,
not thirty.

Continuum shows the token split per session, so you can see what a server list costs before it costs you a plan tier.

free app · your subscriptions · local-first