Guides
Claude MCP Servers: The Ones Actually Worth Connecting
A verified roundup of the best Claude MCP servers, grouped by what they let Claude do, plus the exact commands to add one to Claude Code or Claude Desktop.
Claude MCP servers are how you hand Claude real tools: a repository it can open pull requests against, a browser it can drive, a database it can query, an image model it can call. This is a shortlist of the ones worth connecting, grouped by what they let Claude do, with the exact command for each. Every entry was checked against the maintainer's own documentation, because a lot of the MCP config floating around the internet still points at packages that were archived a year ago.
Two things to get straight before the list. First, an MCP server is usually not something you host: it is either a URL you point Claude at, or an npx command Claude runs on your machine. Second, the Model Context Protocol is an open standard, published and open-sourced by Anthropic on November 25, 2024, so the same server works in Claude Code, the Claude desktop app, Cursor, and Codex. You are not buying into a Claude-only format.
How to add an MCP server to Claude
Adding a server takes one command or one click, depending on which Claude you use. Both surfaces are worth knowing, because the good local servers are easier in Claude Code and the good hosted ones are easier in the desktop app.
Claude Code
Everything runs through claude mcp add. There are three transports and you pick the one the server's docs tell you to use:
# A hosted server over HTTP (the most common case now)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# A hosted server that wants a token instead of OAuth
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
# A local server Claude runs itself. Note the -- before the command.
claude mcp add --transport stdio playwright -- npx @playwright/mcp@latestThat -- matters. Without it, Claude Code tries to parse the server's own flags as its options. Then run /mcp inside a session to confirm the server shows connected, and claude mcp list from the shell to see everything you have registered. claude mcp remove <name> undoes it.
The one flag people miss is --scope, which decides who gets the server:
| Scope | Loads in | Stored in |
|---|---|---|
local (default) | The current project, only for you | ~/.claude.json |
project | The current project, for your whole team | .mcp.json in the repo root |
user | Every project on your machine | ~/.claude.json |
Use --scope project for anything your teammates need too, since .mcp.json is designed to be committed. Claude Code asks each person to approve a project-scoped server before it connects, which is the behaviour you want from a file that arrives over git.
Claude Desktop
The Claude desktop app no longer expects you to hand-edit JSON. Open Settings, go to Extensions, and click Browse extensions to install a packaged server in one click. For a server that is not in the directory, go to Settings, Extensions, Advanced settings, then the Extension Developer section, choose Install Extension, and pick its .mcpb bundle. Hosted servers show up as connectors instead, so a remote server like Linear or Notion is an OAuth prompt rather than a config file. Yes, the desktop app connects to remote servers, not just local ones.
Anthropic also keeps a reviewed list of hosted connectors in the Anthropic Directory, and anything listed there can also be added in Claude Code with claude mcp add, because it is the same MCP plumbing underneath.
The best MCP servers for Claude, by what they let it do
Skip the 10,000-entry directories. These are the servers that change what Claude can actually finish, and each one is maintained by the company whose product it touches, which is the single best signal that it will still work next quarter.
Files, git, and local context
The Model Context Protocol steering group maintains seven reference servers in the official servers repo: Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, and Time. Filesystem is the one most people want, giving a client read and write access to directories you explicitly allow:
claude mcp add --transport stdio files \
-- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/filesWorth knowing before you copy an old tutorial: thirteen servers that used to live in that repo, including the original GitHub, PostgreSQL, Slack, and Google Drive ones, were moved to a separate archived repository. If a config snippet tells you to install @modelcontextprotocol/server-github, the snippet is stale. Use the vendor-maintained server instead.
In Claude Code specifically, Filesystem is largely redundant, since Claude Code already reads and writes files in your working directory. It earns its place in the desktop app, where Claude otherwise has no local access at all.
Repositories and pull requests: the GitHub MCP server
GitHub maintains its own MCP server, and it is the one to use. It lets an agent read repositories and code, work issues and pull requests, and trigger workflows. There is a hosted endpoint plus a local Docker image (ghcr.io/github/github-mcp-server) if you would rather keep the token on your machine:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"Two features are the difference between useful and overwhelming. Toolsets let you enable only the capability groups you need (repos, issues, pull requests, actions, code security) instead of loading everything, and a --read-only mode means you can let Claude investigate a repository without giving it write access. Note that claude mcp add saves credentials without validating them, so a typo in the token looks fine until /mcp reports failed.
Browsers: Playwright MCP and Chrome DevTools MCP
Two good options here, and they are not the same tool. Microsoft's Playwright MCP drives a browser through Playwright's accessibility tree rather than screenshots, so no vision model is involved and the page arrives as structured text. That makes it the cheaper, more deterministic choice for clicking through flows and checking that a feature works:
claude mcp add --transport stdio playwright -- npx @playwright/mcp@latestThe Chrome DevTools team maintains chrome-devtools-mcp, which is aimed at debugging rather than automation. It records performance traces and extracts insights, reads console messages with source-mapped stack traces, inspects network requests, and automates the browser with Puppeteer under the hood:
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latestPick Playwright when you want Claude to use your app, and Chrome DevTools when you want Claude to explain why your app is slow or throwing.
Databases
Since the reference PostgreSQL server was archived, the practical answer is DBHub from Bytebase, which speaks PostgreSQL, MySQL, SQL Server, MariaDB, and SQLite behind one server. Point it at a connection string:
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"Do that with a read-only database user, every time. DBHub also offers a read-only mode that sets the session read-only at the engine level, which is the belt-and-braces version. An agent that can write to production because you were in a hurry is the most expensive MCP server you will ever install.
Library documentation that is not two years stale: Context7
Upstash maintains Context7, which pulls current, version-specific documentation and code samples for a library into the conversation. It exists because a model's training data has a cutoff and your dependencies do not, so Claude confidently writes an API call that was removed three releases ago. The hosted server is at https://mcp.context7.com/mcp:
claude mcp add --transport http context7 https://mcp.context7.com/mcpIt works without an account, and a free API key raises the rate limits. Of everything on this list, this is the one that most reliably improves code quality per token spent.
Issue trackers, errors, and design files
These four all run as hosted servers with OAuth, so setup is one command and a browser prompt:
- Linear at
https://mcp.linear.app/mcp, maintained by Linear, for finding, creating, and updating issues, projects, and comments. There is a read-only endpoint athttps://mcp.linear.app/mcp/readonlyif you only want Claude to look things up. Auth is OAuth 2.1 with dynamic client registration, so/mcphandles it. - Sentry at
https://mcp.sentry.dev/mcp, maintained by Sentry, for issue and error lookup, natural-language event search, trace inspection, and root cause analysis through Seer. This is the shortest path from “production is broken” to a patch, because Claude reads the actual stack trace instead of your paraphrase of it. - Figma at
https://mcp.figma.com/mcp, maintained by Figma, which hands over design context (variables, components, layout) and turns a selected frame into code. Figma's docs say it is free during beta and will eventually become a usage-based paid feature, so treat the current price as temporary. - Notion at
https://mcp.notion.com/mcp, maintained by Notion, for reading and writing pages and searching the workspace. Full workspace access over OAuth, which is convenient and also a good reason to think about which workspace you approve.
Money and business data: the Stripe MCP server
Stripe runs an official server at https://mcp.stripe.com that exposes read and write access to the Stripe API, plus documentation search, so Claude can look up a customer, issue a refund, or check a subscription without you opening the dashboard:
claude mcp add --transport http stripe https://mcp.stripe.comStripe recommends OAuth or a restricted API key rather than a full secret key, and sessions are scoped to one environment, so a sandbox session cannot touch live data. Both of those defaults are worth keeping.
Image and video generation: the Dream Pixel Forge MCP server
Claude cannot draw. It is a language model, so the only way it produces an image is by calling a tool that runs an image model, which is exactly what an image generation MCP server is for. We build one, so read this section knowing that, and know that the honest comparison matters more to us than the pitch.
Most image MCP servers you will find in a directory are a single tool that forwards a prompt to one model and returns a URL. That is fine for a decorative picture. It has no idea what your brand looks like, no cap on spend, and no opinion on whether the image it just made is any good. Dream Pixel Forge is built as an agent-native server instead: the agent starts a run from a brief, stores a concept plan before generating anything, generates each concept, then calls a vision tool that scores the result against the brief and your brand so it can redo a near-miss before you see it. It also exposes generate_video, get_brand_profile, get_subjects, and get_templates, so the agent can pull real context instead of guessing.
claude mcp add --transport http dream-pixel-forge \
https://www.dreampixelforge.com/api/mcp \
--header "Authorization: Bearer dpf_your_key_here"Generation debits credits from your workspace balance, and each API key has a daily limit on credit-spending calls, so an unattended agent has a hard ceiling it cannot argue its way past. The free tier covers the image models, which is enough to test the whole loop. The full walkthrough, including Cursor and the claude.ai connector form, is in our guide to the image generation MCP server, and the endpoint and copy-paste agent prompt live on the agentic creation page.
If you work in a terminal rather than over MCP, the same account drives the AI image generator CLI, and the tool-call shape is documented in our image generation API for AI agents guide. For the background on why the model itself cannot render pixels, see can Claude generate images. The same tools also ship as an Agent Plugins package, which bundles the server and the workflow skill in one folder for clients that adopt that standard.
The memory and reasoning servers, honestly
Memory (a knowledge-graph store) and Sequential Thinking (a structured thought-sequence tool) are both official reference servers, and both get recommended far more often than they get used. They are demos of what the protocol can do rather than daily drivers, and in Claude Code the memory case is largely covered by files in your repo that you can read and edit yourself. Try them, but do not expect them to change your week the way the GitHub or Sentry servers will.
MCP servers for Claude Code versus Claude Desktop
The servers are the same; the fit is different. Claude Code already has your filesystem, your shell, and your git history, so the servers that pay off there are the ones reaching outside the repo: GitHub, Sentry, Linear, your database, Context7, generation tools. The desktop app starts with nothing local, so Filesystem and the hosted connectors do more of the work, and one-click extensions make setup easier than the CLI for non-developers. If you want a server available in every repository you touch, add it with --scope user once instead of re-adding it per project.
How many MCP servers should you actually connect?
More than you would have wanted a year ago. Claude Code now defers MCP tool definitions by default and searches for the relevant ones when a task needs them, so only the tools Claude actually uses enter your context window. There is no fixed per-server tool cap; your context budget is the practical limit, and that budget is no longer consumed just by having servers installed.
The real limit is trust, not tokens. Every server you add is code with access to an account, and Anthropic's own documentation warns that servers which fetch external content can expose you to prompt injection: text on a fetched page can try to instruct the model. Practical defaults that cost you almost nothing: prefer the vendor's own server over a third-party wrapper, use read-only endpoints and read-only database users wherever they exist, scope tokens down to what the job needs, and keep credentials out of committed .mcp.json files by referencing environment variables instead.
The short answer
If you want a starting set rather than a menu: the GitHub server for repository work, Context7 so Claude stops writing deprecated API calls, one browser server (Playwright to use your app, Chrome DevTools to debug it), your issue tracker, and DBHub against a read-only user. Add Sentry the first time production breaks, and add a generation server the first time you need an image in the middle of a build. Then run Claude Code image generation for the visual half of the work, and let the agent take the brief.






