Most "best MCP servers" lists rank twelve coding tools and stop. That is a useful shape if you only live in Claude Code. It is a bad shape if you also use Claude Desktop, claude.ai, or Cowork, because those clients do not install the same way, and some of the most-copied npx lines now point at archived reference servers.

There is no universal top ten. The best MCP servers for Claude are the ones that match a job you actually have, from a vendor that still maintains them, on the transport your Claude client can speak. This review is organized by job. It was checked against official docs and READMEs on 9 September 2026. It is not a lab bake-off, and it does not pretend DialMCP is a GitHub replacement.

How Claude actually talks to an MCP server

Blue Ethernet cable plugged into a laptop
Photo: yakshas / Flickr (CC BY-SA 2.0).

Claude is three install paths sharing a protocol. Mixing them up is why half the configs you paste from 2025 blogs fail.

Claude Desktop, local. You edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json). The host launches a subprocess and talks stdio. The connection originates on your machine. Filesystem access, Docker, and secrets in the environment belong here. These servers are not available in Cowork or on claude.ai.

Claude custom connectors (claude.ai, Cowork, Desktop, mobile). You paste a URL under Settings → Connectors. Claude then connects from Anthropic's cloud, not from your laptop. Localhost and VPN-only servers will not work. Free plans are limited to one custom connector. This is a remote MCP server: Streamable HTTP on a public URL, usually OAuth.

Claude Code. The CLI is the source of truth. Anthropic's MCP docs recommend HTTP for hosted servers:

claude mcp add --transport http <name> <url>

Stdio still exists for local processes. SSE still exists and is deprecated. A JSON entry with a url and no "type": "http" is treated as stdio and skipped. /mcp inside a session shows health.

If you want the protocol walkthrough, including why Streamable HTTP replaced HTTP+SSE, use the remote MCP servers pillar. If you want to build one, use how to build an MCP server.

How this list was picked

Inclusion rules, applied in this order:

  1. Official or steering-group. A first-party vendor server (GitHub, Microsoft, Sentry, Notion, Upstash) or a current MCP reference server. Community clones and "awesome" dumps stay out unless they are the only option for a job.
  2. Still the current install. Archived packages such as @modelcontextprotocol/server-github and @modelcontextprotocol/server-puppeteer are called out as traps, not recommendations.
  3. A Claude-specific catch. Desktop OAuth gaps, Code vs Desktop overlap, connector network rules.
  4. Honest product placement. DialMCP is in the phone-call row. It is not in the coding starter set.

Star counts below are GitHub stargazers_count on 9 September 2026. They measure attention, not quality.

The short list

JobServerClaude pathTransport
Repos, issues, PRs, ActionsGitHub MCP ServerCode: remote HTTP. Desktop: local Docker.Streamable HTTP or stdio
Version-specific library docsContext7Code or connectorsRemote HTTP (https://mcp.context7.com/mcp)
Drive a real browserPlaywright MCPDesktop or Code, localstdio (npx @playwright/mcp@latest)
Production errorsSentry MCPCode or connectorsRemote HTTP (https://mcp.sentry.dev/mcp)
Notion workspaceNotion (Anthropic's own HTTP example)Code or connectorsRemote HTTP (https://mcp.notion.com/mcp)
Files outside the projectFilesystem reference serverDesktop local. Usually skip on Code.stdio
Place a real phone callDialMCPCode, connectors, or stdio bridgeRemote HTTP (https://mcp.dialmcp.com/mcp)

Install two or three that match this week's work. Every extra server dumps tool schemas into context. Playwright's own README now says the same thing in the other direction: for high-throughput coding agents, their CLI plus skills can be cheaper than the MCP because it avoids loading accessibility trees into the window.

GitHub: the one coding server almost everyone actually needs

The official GitHub MCP Server (about 32.7k stars) is GitHub's own. It is not the old @modelcontextprotocol/server-github package, which the steering group archived. If a 2025 gist still has that npm name, throw the gist out.

What it is for: repositories, issues, pull requests, Actions, code search, Dependabot, discussions. What it is not for: editing files on disk. That is still the host, or a filesystem server.

Claude Code. GitHub's Claude install guide documents the remote endpoint https://api.githubcopilot.com/mcp with a PAT in the Authorization header. On Claude Code 2.1.1 and newer they prefer claude mcp add-json. Older CLIs use --transport http. Do not paste a PAT into a committed .mcp.json.

Claude Desktop. The same GitHub guide is blunt: the hosted remote server expects a registered GitHub App (or OAuth App), which Desktop custom connectors do not currently support. Use the local Docker image ghcr.io/github/github-mcp-server in claude_desktop_config.json, either with the loopback OAuth callback on 127.0.0.1:8085 or with GITHUB_PERSONAL_ACCESS_TOKEN. GitHub notes that some Desktop users have had Docker friction; if that is you, the native binary on PATH is the fallback.

VS Code and Copilot can do the remote URL with OAuth. That is a different host. Do not copy a VS Code JSON block into Desktop and expect it to grow an OAuth app.

Context7: stop the agent inventing last year's API

Context7 (about 61.8k stars on the platform repo) is Upstash's documentation server. The pitch is specific: LLMs guess APIs from training data; Context7 pulls version-specific docs into the prompt. The MCP surface is two tools, resolve-library-id and query-docs. That is a feature. Small tool catalogs cost less context than GitHub's kitchen sink.

Remote URL: https://mcp.context7.com/mcp. Pass CONTEXT7_API_KEY as a header if you have one. Upstash says a key is recommended for rate limits, not required to exist. npx ctx7 setup can install a skill instead of MCP. For Claude Code that is often the better default, for the same token-budget reason Playwright cites.

This is the highest-impact add for library work. It does not replace reading the library's own docs when the index is wrong. Context7's README is honest that indexed projects are community-contributed.

Playwright: a browser, not a screenshot model

Playwright MCP (about 36.9k stars) is Microsoft's. It drives pages through Playwright's accessibility tree. No vision model, no pixel clicking. Standard config:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Claude Code, from the same README: claude mcp add playwright npx @playwright/mcp@latest. Desktop uses the JSON block in claude_desktop_config.json. This is a local stdio server. It needs Node 18+ and a machine that can launch a browser. It will not run as a Claude custom connector, because the browser is on your laptop and the connector traffic is not.

Do not install the archived Puppeteer reference server. The steering group moved it to servers-archived. Playwright is the current first-party browser MCP.

One caveat Microsoft wrote themselves: if you already have a coding agent that is good at shelling out to the Playwright CLI, MCP can be the more expensive interface. Use MCP when you want a persistent browser and structured snapshots. Use the CLI when you are burning context on a large repo.

Sentry and Notion: add them when you already live there

Sentry. The current product is the hosted server at mcp.sentry.dev, not the archived @modelcontextprotocol/server-sentry reference. Base URL: https://mcp.sentry.dev/mcp. You can scope it to https://mcp.sentry.dev/mcp/{org}/{project}. Sentry says it is aimed at human-in-the-loop coding agents (errors, traces, triage), not a full Sentry admin API. Auth is OAuth. Claude Code:

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp/{organizationSlug}/{projectSlug}

Self-hosted Sentry is a different path (npx @sentry/mcp-server plus a user auth token). Skip that unless you run Sentry yourself.

Notion. Anthropic's Claude Code MCP page uses Notion as the canonical remote HTTP example: claude mcp add --transport http notion https://mcp.notion.com/mcp. That is the only reason it is on this short list. If you do not use Notion, do not install it to complete a bingo card.

Linear, Stripe, Vercel, Figma, and Hugging Face all ship official remote servers in 2026. They belong in your config when they are your stack. They do not belong in a generic "best of" because a Stripe MCP on a repo with no payments is dead weight.

Filesystem and Fetch: still right on Desktop, often redundant in Code

The steering group's reference servers still include Filesystem, Fetch, Git, Memory, Sequential Thinking, Time, and Everything. The README warning is not decoration: they are educational examples, not production products. Evaluate them against your own threat model.

Filesystem (npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/files) is the one that still earns a Desktop slot. Claude Desktop does not automatically read your disk. Pin the allowed directory. Do not point it at $HOME.

Claude Code already reads and edits the project. Anthropic also answers roots/list with the launch directory plus anything you added with --add-dir. A second filesystem server is usually duplicate tools and a wider blast radius. Add it only when Claude Code must touch a tree outside those roots.

Fetch is a small Markdown-from-URL tool. Fine on Desktop. Claude Code can already run curl. Sequential Thinking and Memory show up on almost every listicle. Sequential Thinking is a thought-sequence toy from the reference repo. Claude already reasons. Memory is a local knowledge graph. Neither is a substitute for GitHub issues or a real store. Skip them until you have a reason.

DialMCP: the phone-call server, not a coding tool

This is the product we run, so here is the non-inflated version.

DialMCP is a hosted remote MCP server that lets an MCP-enabled agent place a real outbound phone call from your SMS-verified number, navigate IVR and hold, and return a transcript, recording, and structured outcome. US and Canada, destination-local hours, server-enforced AI disclosure, rate limits, permanent opt-out. It is free during launch. It is not a voice API you embed in a call center, and it is not a GitHub or Playwright substitute.

Connect it the same way you connect any remote server:

claude mcp add --transport http dialmcp https://mcp.dialmcp.com/mcp

On claude.ai or Desktop, paste https://mcp.dialmcp.com/mcp as a custom connector. Clients that cannot do remote MCP can run the stdio bridge (npx -y dialmcp-connector); the calling service is still the hosted URL. Setup details live in client setup and configuration examples. Tools are documented on the tool reference.

If the job is "open a PR," install GitHub. If the job is "call the dentist from my cell number," install DialMCP. Putting both in every session is how you blow the tool budget.

Other MCP calling products exist (VOYP, AgentCall, and similar). They occupy the same query space. DialMCP's wedge is the caller's own verified number plus enforced disclosure. That is a product difference, not a ranking.

What not to install

Archived npm names. GitHub, Puppeteer, Postgres, Slack, Sentry, Brave Search, and several others in modelcontextprotocol/servers now redirect to servers-archived or to a vendor's official server. The old npx line may still run. It is not maintained as the product.

Everything at once. Tool lists load into context whether you call them or not. Start with GitHub plus one more. Watch /mcp. Remove what you have not used in a week.

Random npx from a directory. Anthropic's Claude Code docs say servers that fetch external content can expose you to prompt injection. Custom connectors are unverified by Anthropic. Review OAuth scopes. Prefer first-party hosted URLs with OAuth over a stranger's stdio binary that wants ALL on your disk.

A "best MCP servers" mega-config from a vendor roundup. Several page-one articles in this SERP are written by companies that sell one of the servers on the list. Read the table, then install from the vendor README, not from the roundup's copy-pasted block.

How to add an MCP server to Claude without making a mess

  1. Decide the client. Desktop local, Code, or a custom connector. They are not interchangeable. See how Claude clients differ.
  2. Prefer HTTP for anything that already has a public URL. Prefer stdio for anything that must see your disk or a local browser.
  3. For Claude Code, copy the vendor's current command. If you hand-write JSON, set "type": "http" whenever there is a url. The configuration sheet has the file-path map (mcp.json vs claude_desktop_config.json vs config.toml).
  4. Authenticate. Remote servers should do OAuth. Local servers should take environment credentials, not a committed secret.
  5. Run claude mcp list or check Desktop's connector toggles. Then ask Claude to use one specific tool, not "use all MCPs."

Server authors publish metadata to the Official MCP Registry (still in preview as of 2026). Hosts are supposed to consume downstream marketplaces, not scrape a directory of 25,000 entries. Directories are fine for browsing. They are a poor install source.

Need the phone-call server, not another coding tool? Connect DialMCP as a remote MCP server and let Claude place a real outbound call from your SMS-verified number.

Connect DialMCP

FAQ

What are the best MCP servers for Claude in 2026?

GitHub (official), Context7, and Playwright cover most coding work. Add Sentry or Notion if you already use them. Add DialMCP if the agent needs to place a phone call. There is no meaningful global ranking past that.

How do I add an MCP server to Claude?

Claude Code: claude mcp add --transport http <name> <url> for remote, or claude mcp add <name> -- <command> for stdio. Desktop local: claude_desktop_config.json. claude.ai / Cowork / Desktop connectors: paste the public URL. Details: client setup.

What is a Claude MCP server?

An MCP server Claude can call. Same protocol as Cursor or VS Code. The difference is install path and, for custom connectors, the fact that the TCP connection comes from Anthropic's cloud.

Do I need the filesystem MCP server for Claude Code?

Usually no. Claude Code already works in the project directory and exposes extra working directories through roots/list. Filesystem MCP is for Claude Desktop, or for a tree Code is not allowed to see.

Are the official reference MCP servers production-ready?

The steering group says no. They demonstrate the SDK. Use vendor servers (GitHub, Playwright, Sentry) when they exist. Treat Filesystem and Fetch as small, sandboxed utilities, not as a platform.

Can I use the same MCP servers in Claude Desktop and Claude Code?

Often yes on the protocol. Not always on auth or network. GitHub remote OAuth works in some hosts and not in Desktop connectors. Playwright is local-only. DialMCP's hosted URL works anywhere the client speaks Streamable HTTP; use the stdio bridge only when the client cannot.

Further reading