DEV Community

dubleCC
dubleCC

Posted on • Originally published at heycc.cn

Best MCP Servers for Claude Code in 2026: A Curated, Job-by-Job Guide

Originally published at heycc.cn. This is a mirrored copy — the canonical version is kept up to date at the source.

Best MCP Servers for Claude Code in 2026: A Curated, Job-by-Job Guide

There are now thousands of MCP servers. You do not need them. The right number for a working setup is closer to five than fifty, and the skill is matching a server to a job you actually do every day, not collecting tools because a listicle ranked them.

The organizing principle here is job, not popularity. Each entry names one server worth installing for that job, gives the exact claude mcp add command verified against official docs, and flags the gotchas. If you have not wired up your first server yet, read the mechanics in How to set up an MCP server in Claude Code first — this article assumes you know how claude mcp add works and focuses on which servers earn a slot.

One thing changed in 2026 that makes curation matter less than it used to: Claude Code now ships MCP tool search on by default. Only tool names and server instructions load at session start; full tool schemas are deferred until Claude needs them. So adding another server costs almost nothing in context, and there is no fixed per-server tool cap. That removes the old "too many tools blows my context window" excuse — but it does not remove the security cost of connecting servers you do not trust. Curate for trust and signal, not for context budget.

The landscape shifted: the reference repo got smaller

If you are working from a 2024-era list, throw it out. The official modelcontextprotocol/servers repo now maintains only seven reference servers:

  • Everything — a test/demo server
  • Fetch — fetch and convert web content
  • Filesystem — read/write allow-listed directories
  • Git — read, search, and manipulate a repo
  • Memory — a persistent knowledge graph
  • Sequential Thinking — structured multi-step reasoning
  • Time — time and timezone conversion

Everything else you remember as "official" — GitHub, GitLab, PostgreSQL, Puppeteer, Slack, Google Drive/Maps, Brave Search, Redis, Sentry, SQLite — was moved to a separate servers-archived repo and is no longer maintained there. The important consequence: for several of these jobs, the real maintained server is now a first-party vendor server (GitHub's own, Microsoft's own, Brave's own), not an Anthropic reference. Installing the archived version is how you end up debugging a server nobody patches.

The three filters every pick had to clear

In order:

  1. Official-source verification. Every command below is checked against modelcontextprotocol.io or the server's own repo/docs, not a blog's copy of a copy.
  2. Transport correctness. stdio vs. HTTP vs. SSE is not interchangeable. The wrong transport is the single most common reason a server "won't connect."
  3. Real daily value. A server has to replace something you currently paste into chat by hand.

The decision table

Find your job, install one thing, move on.

The job you have Server to install Who maintains it Transport
Read/write project files Filesystem Anthropic reference stdio (npx)
Inspect/commit a git repo Git Anthropic reference stdio (uvx)
Remember facts across sessions Memory Anthropic reference stdio (npx)
PRs, issues, CI, code scanning github-mcp-server GitHub (official) HTTP (remote)
Drive a real browser / E2E test Playwright MCP Microsoft (official) stdio (npx)
Natural-language DB queries dbhub (@bytebase/dbhub) Bytebase stdio (npx)
Live web search for the model Tavily or Brave Tavily / Brave (official) HTTP / stdio
Up-to-date library docs Context7 Upstash stdio or remote

Job 1: Touch the local filesystem and git

These two are the closest thing to "always install." Filesystem is allow-listed by directory — you pass the folders Claude may read and write, and nothing else is reachable:

claude mcp add --transport stdio filesystem \
  -- npx -y @modelcontextprotocol/server-filesystem ~/projects ~/notes
Enter fullscreen mode Exit fullscreen mode

Note the --. For stdio servers, the double dash separates Claude's own flags (--transport, --env, --scope) from the command that runs the server. Everything after -- is passed to the server untouched. Forget it and Claude Code tries to parse the server's own flags as its own — the number-one stdio install failure.

Git ships as a Python server, run with uvx (or pip install mcp-server-git):

claude mcp add --transport stdio git -- uvx mcp-server-git
Enter fullscreen mode Exit fullscreen mode

Memory, if you want a knowledge graph that survives across sessions:

claude mcp add --transport stdio memory \
  -- npx -y @modelcontextprotocol/server-memory
Enter fullscreen mode Exit fullscreen mode

Job 2: Work with GitHub (and stop pasting PR diffs)

This is where the "official" label moved. The maintained GitHub server is now GitHub's own github/github-mcp-server, not an Anthropic reference. The remote endpoint is https://api.githubcopilot.com/mcp/ over HTTP, and Claude Code's docs show adding it with a personal access token in the header:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"
Enter fullscreen mode Exit fullscreen mode

What you get is real: toolsets for repos, issues, pull_requests, actions (CI/CD workflows), and code_security (Code Scanning), among others. When you do not specify toolsets, the default activates context, repos, issues, pull_requests, and users — enough to review a PR, file an issue, and read repo context out of the box. Prefer to run it locally? A Docker image is published at ghcr.io/github/github-mcp-server.

Job 3: Drive a real browser

For end-to-end testing, screenshotting flows, or "click through the signup and tell me what breaks," the pick is Microsoft's official Playwright MCP (microsoft/playwright-mcp):

claude mcp add playwright npx @playwright/mcp@latest
Enter fullscreen mode Exit fullscreen mode

The reason it is the default over older browser servers: it drives the page through Playwright's structured accessibility tree, not pixels, so no vision model is required and the model operates on deterministic, labeled elements. It needs Node.js 18 or newer. If you remember the archived puppeteer server, this is its maintained, vision-free successor.

Job 4: Query a database in plain English

Claude Code's own docs demonstrate database access through dbhub (@bytebase/dbhub) over stdio, pointed at a connection string:

claude mcp add --transport stdio db \
  -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
Enter fullscreen mode Exit fullscreen mode

Then ask "show me the schema for the orders table" or "find customers with no purchase in 90 days" and get natural-language queries plus schema inspection. The detail that decides whether this is safe sits in the DSN: connect with a read-only role against anything you care about. Handing an LLM a writable production credential is the kind of mistake you only make once, MCP or not.

Job 5: Give the model live web access

Three good options, and they are not interchangeable. They split cleanly by what kind of retrieval you need:

Pick When it wins Install
Tavily Cleanest default for LLM-consumed retrieval — pre-formatted, citation-ready snippets claude mcp add --transport http --scope user tavily https://mcp.tavily.com/mcp/?tavilyApiKey=<key>
Brave You want an independent index and predictable high-volume pricing npx -y @brave/brave-search-mcp-server with BRAVE_API_KEY set
Exa Semantic / "find similar pages" search rather than keyword use Exa's MCP server

Tavily's official remote server gives search, extract, map, and crawl tools and is the lowest-friction choice for "let the model research and cite." Brave's official @brave/brave-search-mcp-server defaults to STDIO (HTTP available via --transport http or BRAVE_MCP_TRANSPORT=http), authenticates with BRAVE_API_KEY, and exposes 8+ tools spanning web, local, news, image, video, and AI summarization. Reach for Exa specifically when you want semantic find-similar rather than keyword matching.

Bonus: Context7 for up-to-date library docs

If Claude keeps hallucinating an API that changed two versions ago, Context7 (upstash/context7) feeds current library documentation into the model. It exposes just two tools — resolve-library-id and the docs query tool — and installs locally as a user-scoped server:

claude mcp add --scope user context7 \
  -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
Enter fullscreen mode Exit fullscreen mode

A free API key (from the Context7 dashboard) raises your rate limits; the server still works without one at lower limits.

Scope: where each server lives

Claude Code has three install scopes, and choosing wrong is how teammates end up with servers they did not ask for — or how your API keys leak into version control:

  • local (default) — current project only, stored in ~/.claude.json. Use for personal/experimental servers and anything with credentials.
  • project — shared with the team via a checked-in .mcp.json. Use for servers everyone on the repo should have.
  • user — available across all your projects. Use for personal utilities like a search or docs server.

Precedence, highest to lowest: local > project > user > plugin > claude.ai connector. When the same server name is defined in two places, the higher-precedence entry wins outright — fields are not merged.

Trust is the cost most lists leave out

Any server that fetches external content — web search, fetch, a docs server, a database that returns user-supplied text — can carry prompt-injection payloads into your session. Claude Code's docs are explicit: verify you trust each server before connecting it, and project-scoped servers from a checked-in .mcp.json require explicit approval before first use. That approval prompt is a feature. Do not reflexively click through it for a repo you just cloned. The same instinct that makes you read a Dockerfile before running it applies to a .mcp.json.

Job-to-server routing diagram for Claude Code MCP servers

A starter set that covers most developers

If you want a copy-paste baseline rather than a buffet:

  1. Filesystem + Git — local file and repo work.
  2. github-mcp-server — PRs, issues, CI, code scanning.
  3. One web-search server — Tavily if you want it to "just work," Brave if you want an independent index.
  4. Add Playwright, dbhub, or Context7 only when you hit the specific job they solve.

That is five servers doing real work, each from a maintained source, each on the correct transport. Resist the urge to add the sixth until a task forces your hand.

How the picks were checked

Every install command and feature claim was read on 2026-06-28 against the sources below, each tied to a specific assertion. The seven maintained reference servers and the servers-archived move come from modelcontextprotocol.io and the MCP servers repo; the GitHub server's https://api.githubcopilot.com/mcp/ endpoint and its default toolset (context, repos, issues, pull_requests, users) from github/github-mcp-server; Playwright MCP's accessibility-tree approach and Node 18+ floor from microsoft/playwright-mcp; the dbhub stdio invocation and tool-search-on-by-default behavior from the Claude Code MCP docs; and the Brave defaults from brave/brave-search-mcp-server. Paid-tier pricing for Tavily, Brave, and Context7 is left out on purpose — it is the fastest-moving number in this space, and each vendor's pricing page is the only place worth trusting for it.

One thing this piece deliberately does not quantify: what fraction of real repos actually check in a .mcp.json, and which servers appear most often when they do. No MCP directory (PulseMCP, Smithery, Glama, the awesome-mcp-servers list) publishes that specific statistic — they report server counts and GitHub stars, not adoption-in-the-wild — and GitHub's own code search (github.com/search?q=filename:.mcp.json&type=code) requires a signed-in session to show a result count, so it's not something this article can responsibly cite a number for. If you want a live read, that search is public and free to run yourself.

Sources

Top comments (0)