Servers
Budget~22k7 servers
Open the budget
Measured on macOS arm64 · 4 OctMeasured 4 Oct 20 servers, one verdict each Token cost per server

The MCP Servers Worth Adding to Claude Code, With What Each One Costs

Seven servers earn their place. The rest cost context, copy a built-in tool, or only pay off for one kind of project. Copy a command, or check your own stack below.

The starter seven
  1. 01
    Context7Current library docs on demand, so Claude stops guessing APIs.
    1kmeasured claude mcp add context7 -- npx -y @upstash/context7-mcp
  2. 02
    PlaywrightDrives a real browser to check the UI it just built.
    3.9kmeasured claude mcp add playwright -- npx @playwright/mcp@latest
  3. 03
    GitHubIssues, pull requests and reviews without leaving the session.
    ~6kestimate claude mcp add --transport http --header "Authorization: Bearer $GITHUB_TOKEN" github https://api.githubcopilot.com/mcp
  4. 04
    SentryPulls the stack trace and context for the error you are fixing.
    ~5kestimate claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
  5. 05
    LinearReads the ticket, then updates it when the work lands.
    ~6kestimate claude mcp add --transport http linear https://mcp.linear.app/mcp
  6. 06
    ExaSearch built for agents, returning clean page text.
    485measured claude mcp add --transport http exa https://mcp.exa.ai/mcp
  7. 07
    PostgresOne read-only query tool: the cheapest server on this list.
    33measured claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres@0.6.2 postgresql://localhost/mydb
At load: ~22k tokensWith tool search: ~2.1kLoad these into the budget

What are the best MCP servers for Claude Code?

Short answer

Start with seven: Context7 for current docs, Playwright for the browser, GitHub, Sentry and Linear for the work around your code, Exa for search, and a read-only Postgres server for data. Skip servers that copy tools Claude Code already has: Filesystem, Fetch, Git and Sequential Thinking. Then add servers one at a time, and only for the projects that need them.

Most "best MCP servers" lists rank by GitHub stars. Stars measure how many people tried a server, not whether it helps once it is loaded, and every server you add takes part of the context window before you type a word.

Eight tools later, I deleted most of them.
Rituraj · CodeToDeploy on Medium

How we test each server

01 · load cost

Each server that starts without a sign-in is installed fresh, started, and its tools/list response counted with an approximate Claude tokenizer. That is what it costs before you use it.

02 · estimates

Servers that need an account sign-in show an estimate, marked ~, until we connect a test account, or n/a when we have no number to show.

03 · verdict

Keep earns its tokens on most projects. Situational pays off for one kind of work. Skip copies a built-in tool or costs more than it returns.

Popularity anti-correlates
0coCeo, after grading 27 servers and 510 tools · Hacker News · Mar 2026

Every server we tested

Filter by what you work on, sort by cost, and open a row for the command and the reason behind its verdict. Each row has its own link.

20 of 20 servers
Category Runs · auth Tools
Postgres Data Local · DB URL 1 33m Keep

One read-only query tool: the cheapest server on this list.

Data · Local · DB URL · 1 tool, 33 tokens at load, measured 4 Oct on version 0.6.2

The reference server is archived and its read-only mode can be bypassed, so connect it with a database role that can only read. The command pins the version we measured.

Source: modelcontextprotocol/servers-archived · #srv-postgres

add it
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres@0.6.2 postgresql://localhost/mydb
Exa Web Remote · API key 2 485m Keep

Search built for agents, returning clean page text.

Web · Remote · API key · 2 tools, 485 tokens at load, measured 4 Oct on version 3.2.1

Search and page fetch behind one connection, in two small tools: the case where an MCP beats the built-in WebSearch. It listed its tools without a key, so we could measure it.

Source: exa-labs/exa-mcp-server · #srv-exa

add it
claude mcp add --transport http exa https://mcp.exa.ai/mcp
Context7 Docs Local · None 2 1km Keep

Current library docs on demand, so Claude stops guessing APIs.

Docs · Local · None · 2 tools, 1,046 tokens at load, measured 4 Oct on version 4.1.1

Two tools, about a thousand tokens: the best value on this list.

Source: upstash/context7 · #srv-context7

add it
claude mcp add context7 -- npx -y @upstash/context7-mcp
Playwright Browser Local · None 25 3.9km Keep

Drives a real browser to check the UI it just built.

Browser · Local · None · 25 tools, 3,887 tokens at load, measured 4 Oct on version 0.0.83

Page snapshots add more tokens once you use it. One Claude Code session at a time.

Source: microsoft/playwright-mcp · #srv-playwright

add it
claude mcp add playwright -- npx @playwright/mcp@latest
Sentry Tracking Remote · OAuth n/a ~5k Keep

Pulls the stack trace and context for the error you are fixing.

Tracking · Remote · OAuth · About 5k tokens, an estimate until a test account is connected

Sign in once from /mcp. Worth it on any project that reports errors to Sentry.

Source: mcp.sentry.dev · #srv-sentry

add it
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
GitHub Code Remote · Token n/a ~6k Keep

Issues, pull requests and reviews without leaving the session.

Code · Remote · Token · About 6k tokens, an estimate until a test account is connected

Heavy at load. If gh is installed and logged in, Claude can do most of this through the CLI at no load cost.

Source: github/github-mcp-server · #srv-github

add it
claude mcp add --transport http --header "Authorization: Bearer $GITHUB_TOKEN" github https://api.githubcopilot.com/mcp
Linear Tracking Remote · OAuth n/a ~6k Keep

Reads the ticket, then updates it when the work lands.

Tracking · Remote · OAuth · About 6k tokens, an estimate until a test account is connected

Swap for Atlassian if your team lives in Jira.

Source: Linear docs · #srv-linear

add it
claude mcp add --transport http linear https://mcp.linear.app/mcp
Memory Other Local · None 9 925m Situational

A small knowledge graph Claude can write facts into.

Other · Local · None · 9 tools, 925 tokens at load, measured 4 Oct on version 2026.8.31

CLAUDE.md covers most project memory. Use this when you want facts kept across projects.

Source: modelcontextprotocol/servers · #srv-memory

add it
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory
Figma Design Remote · OAuth n/a ~2.5k Situational

Turns a selected frame into layout, tokens and assets.

Design · Remote · OAuth · About 2.5k tokens, an estimate until a test account is connected

Front-end projects with a Figma file only.

Source: Figma docs · #srv-figma

add it
claude mcp add --transport http figma https://mcp.figma.com/mcp
Notion Docs Remote · OAuth n/a ~5k Situational

Reads specs and writes notes where your team keeps them.

Docs · Remote · OAuth · About 5k tokens, an estimate until a test account is connected

Useful when specs live in Notion; dead weight otherwise.

Source: Notion docs · #srv-notion

add it
claude mcp add --transport http notion https://mcp.notion.com/mcp
Chrome DevTools Browser Local · None 30 5.7km Situational

Performance traces, network and console from a real Chrome.

Browser · Local · None · 30 tools, 5,679 tokens at load, measured 4 Oct on version 1.10.1

Choose it over Playwright when you are profiling, not testing.

Source: ChromeDevTools/chrome-devtools-mcp · #srv-chrome-devtools

add it
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Supabase Data Remote · OAuth n/a ~8kuser Situational

Tables, logs and docs for a Supabase project.

Data · Remote · OAuth · About 8k tokens by a user report; not measured by us yet

One user put its search_docs tool alone at about 8k tokens (quoted below), so the whole server costs more. Scope it to Supabase projects.

Source: Supabase docs · #srv-supabase

add it
claude mcp add --transport http supabase https://mcp.supabase.com/mcp
Atlassian Tracking Remote · OAuth n/a ~9k Situational

Jira tickets and Confluence pages in one server.

Tracking · Remote · OAuth · About 9k tokens, an estimate until a test account is connected

Large tool list. Keep it to the projects tracked in Jira.

Source: Atlassian docs · #srv-atlassian

add it
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcp
Murkuzaffiliated Analytics Remote · OAuth n/a n/a Situational

Read-only Search Console, GA4 and Bing data for the site you are working on.

Analytics · Remote · OAuth · Not measured yet: it needs an account sign-in

For content and SEO work. Read-only, so it cannot change your analytics settings.

Source: murkuz.com · #srv-murkuz

add it
claude mcp add --transport http murkuz https://murkuz.com/mcp
Fetch Web Local · None 1 244m Skip

Fetches a URL and returns it as text.

Web · Local · None · 1 tool, 244 tokens at load, measured 4 Oct on version 2026.8.18

Copies the built-in WebFetch tool.

Source: modelcontextprotocol/servers · #srv-fetch

add it
claude mcp add fetch -- uvx mcp-server-fetch
Time Other Local · None 2 251m Skip

Current time and time-zone conversion.

Other · Local · None · 2 tools, 251 tokens at load, measured 4 Oct on version 2026.8.18

The shell has date. Cheap, but it earns nothing.

Source: modelcontextprotocol/servers · #srv-time

add it
claude mcp add time -- uvx mcp-server-time
Sequential Thinking Other Local · None 1 927m Skip

A scratchpad tool for step-by-step reasoning.

Other · Local · None · 1 tool, 927 tokens at load, measured 4 Oct on version 2026.8.31

Claude Code models think before acting already.

Source: modelcontextprotocol/servers · #srv-sequential-thinking

add it
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
Git Code Local · None 12 1.2km Skip

Git status, diff and commit as tools.

Code · Local · None · 12 tools, 1,158 tokens at load, measured 4 Oct on version 2026.8.18

Claude Code runs git in the shell already, with nothing to load.

Source: modelcontextprotocol/servers · #srv-git

add it
claude mcp add git -- uvx mcp-server-git --repository /path/to/repo
Filesystem Code Local · None 14 1.7km Skip

File reads and writes inside chosen folders.

Code · Local · None · 14 tools, 1,748 tokens at load, measured 4 Oct on version 2026.8.31

Claude Code already reads, edits and searches files with built-in tools.

Source: modelcontextprotocol/servers · #srv-filesystem

add it
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/folder
Azure DevOps Tracking Local · PAT 40 16km Skip

Boards, repos and pipelines in Azure DevOps.

Tracking · Local · PAT · 40 tools, 16,396 tokens at load, measured 4 Oct on version 2.10.0

The heaviest server we measured. The az CLI does the same work at no load cost.

Source: microsoft/azure-devops-mcp · #srv-azure-devops

add it
claude mcp add azure-devops -- npx -y @azure-devops/mcp your-org
m measured on 4 Oct, approximate tokenizer~ estimate, until a test account is connecteduser a user report, quoted on this pagen/a not measured yet
Supabase MCP really devours your context window. IIRC, it uses 8k for its search_docs tool alone
consumer451 · Hacker News · Oct 2025

How many MCP servers is too many?

Short answer

Count tokens, not servers. Keep tool definitions under about 10% of your context window: 20k tokens on a 200k window. Five light servers can cost less than one heavy one. Tool search, on by default in Claude Code, loads tool names first and full definitions only when Claude needs them, which removes most of that cost.

Context budget
7 servers selected
Context window
Presets
Without tool search~22k · 11% of the window
With tool search (est.)~2.1k · 1.1% of the window
Tool definitions at loadNames only, full schema on demandDashed line: 10% of the window
Fine with tool search on, the default. Turn it off and these fill 11% of the window before you type.
my context window would start around 25% full
wincy, on the Azure DevOps server · Hacker News · Dec 2025

When a CLI beats an MCP server

Claude Code can already run any command-line tool you have installed, and it costs nothing until it is used. An MCP server is worth its load cost when it does something the CLI cannot: sign in for you, limit what Claude may do, or chain several tools behind one connection.

JobUse the CLI whenUse the MCP server when
GitHubgh is installed and logged in: zero tokens at loadYou need it on machines without gh, or in Claude Desktop
Azure DevOpsaz covers your boards and pipelinesRarely: the full server loaded 40 tools and about 16k tokens in our run
KubernetesYou trust Claude with every kubectl verbYou want to block exec and delete, which raw kubectl cannot
PostgresYou want writes and migrations through psqlYou want one read-only query tool for 33 tokens
Web searchThe built-in WebSearch and WebFetch are enoughYou want search, crawl and page text chained in one place
particularly usefuly in trying to restrict LLM access to certain tools such as exec and delete tools
iamspoilt, on the Kubernetes server · Hacker News · Mar 2026
Exa is a good example of where MCP makes sense
arthurjean · Hacker News · Mar 2026

How do I add an MCP server to Claude Code?

Short answer

Run claude mcp add. For a remote server: claude mcp add --transport http name https://url. For a local one: claude mcp add name -- npx package. Add --scope project to share it with your team through .mcp.json, or --scope user for every project. Type /mcp in a session to check it connected.

Pick your servers and where they should go. The builder writes the command or the config file, with secrets left as placeholders.

Config builder
Servers
terminal
claude mcp add context7 -- npx -y @upstash/context7-mcp
claude mcp add playwright -- npx @playwright/mcp@latest
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres@0.6.2 postgresql://localhost/mydb

Then run /mcp in a session to sign in and check status.

Already set up in Claude Desktop?

Paste the mcpServers block from claude_desktop_config.json. You get one command per server, and remote servers bridged through mcp-remote come back as direct HTTP connections.

Desktop JSON to Claude Code

2 servers converted; 1 mcp-remote bridge replaced with a direct connection.

terminal
claude mcp add-json context7 '{"type":"stdio","command":"npx","args":["-y","@upstash/context7-mcp"]}'
claude mcp add --transport http linear https://mcp.linear.app/mcp

Where does Claude Code store MCP servers?

Short answer

Local and user scope live in ~/.claude.json in your home folder: user servers at the top level, local servers under that project's entry. Project scope lives in .mcp.json at the repo root, which you commit. When two scopes define the same name, local wins over project, and project wins over user.

You have MCPs disabled by default but turn on the ones you need in specific projects.
fg137 · Hacker News · May 2026

Keep the context lean

  1. Measure first. Run /context in a session. It lists what each MCP server costs right now.
  2. Scope heavy servers to the projects that use them. Playwright belongs in the web app, not in every Go service.
  3. Turn servers off for a session from /mcp instead of removing them.
  4. Pick toolsets where the server offers them. GitHub's server can load only the toolsets you name.
  5. Cap tool output. Claude Code warns when one MCP result passes 10,000 tokens; raise or lower the limit with MAX_MCP_OUTPUT_TOKENS.
when using MCP be selective about which tools you enable
deaux · Hacker News · Dec 2025
all WebSearch, WebFetch, Context7 exposed as a single "web research" tool
alexsmirnov, on building one composite server · Hacker News · Apr 2026

When a server will not connect

Work from the outside in: is it configured, does it start, does it sign in.

terminal, in this order
# 1. is it configured?claude mcp list# 2. what exactly is saved?claude mcp get playwright# 3. start with a longer timeout (ms) and debug outputMCP_TIMEOUT=30000 claude --debug# 4. native Windows only: wrap npx serversclaude mcp add playwright -- cmd /c npx @playwright/mcp@latest

Slow servers need a longer start-up window. Set it in milliseconds with MCP_TIMEOUT; values past 60 seconds have been ignored in some versions. On native Windows, wrap npx servers in cmd /c.

Claude code does not obey values of MCP_TIMEOUT longer than 60 seconds
GitHub issue #16837

Security checklist

An MCP server runs with your permissions, outside Claude Code's sandbox. Treat each one like a dependency you are about to give shell access.

Before you add a server0 of 7 done
  • Install from the vendor. Use the repo or docs the company itself links to, not a lookalike package.
  • Read the tool list. Run /mcp after adding it and check every tool name before the first call.
  • Pin team configs. Use exact versions in .mcp.json; @latest changes under you.
  • Keep secrets out of git. Reference ${VAR} in .mcp.json and set the value in your shell.
  • Prefer read-only. Give database and analytics servers read-only roles.
  • Block destructive tools. Deny delete and exec style tools in your permission rules.
  • Check what loaded. Account-level connectors can appear in the CLI after login.
MCP is an instant obligatory sandbox escape
wren6991 · Hacker News · May 2026

MCP servers, skills or plugins?

They solve different problems, and a plugin can carry the other two.

mcp server

A live connection

Talks to a system outside your machine or repo: a tracker, a database, a browser.

  • Tool definitions load up front
  • Tool search trims that cost
  • Needs sign-in or a running process
skill

Know-how on demand

A folder of instructions and scripts Claude reads only when the task calls for it.

  • Only a short description loads
  • No process, no sign-in
  • Best for repeatable procedures
plugin

A bundle to install

Packages skills, slash commands, agents, hooks and MCP servers so a team installs them in one step.

  • Costs what it contains
  • Shared through a marketplace
  • Best for team setups
Most MCP servers still bloat up my context even when I am not using them at all.
cheema33 · Hacker News · Aug 2026

Questions people ask

How do I see which MCP servers are loaded?

Type /mcp in a session for status and sign-in, or run claude mcp list in your terminal. /context shows what each one costs.

How do I remove an MCP server?

claude mcp remove name. Add --scope project or --scope user if it was not added locally.

Can I reuse my Claude Desktop servers?

Yes. Run claude mcp add-from-claude-desktop on macOS or WSL, or paste the JSON into the converter above.

Why did servers I never added show up?

Connectors on your claude.ai account can load into the CLI after login. Turn them off in /mcp if you do not want them.

Should I use SSE or HTTP?

HTTP. SSE still works but is deprecated; use it only when a server offers nothing else.

Do MCP servers make Claude Code slower?

Start-up waits for local servers to launch, and every loaded definition is read on each turn. Fewer, lighter servers start faster and leave more room for your code.

Sources

  1. Connect Claude Code to tools via MCP, Claude Code docs
  2. Model Context Protocol specification and its security best practices, modelcontextprotocol.io
  3. Each server's own repository or docs, linked in its row
  4. Token counts: our own tools/list run on 4 Oct, counted with an approximate Claude tokenizer
  5. GitHub issues #6759, #16837, #50062; Hacker News threads credited beside each quote

Changelog

  • 4 Oct: 12 servers measured, including Exa, Postgres and Azure DevOps.
  • 4 Oct: Murkuz added under Analytics, marked affiliated.
  • First published with the server table and the config builder.