MCP servers explained: the useful ones worth wiring up

MCP is a real, spreading standard — but half the 'official server' links in older blog posts point at repos Anthropic has since archived. Check what's actually maintained before you wire anything in.

The full review

What we found.

What MCP actually is

Model Context Protocol is a standard Anthropic open-sourced on November 25, 2024, for connecting AI assistants to “the systems where data lives” — a way for a model to call out to external tools and data sources through one consistent interface instead of a bespoke integration per tool. Anthropic’s own shorthand for it is “like a USB-C port for AI applications” (modelcontextprotocol.io; original announcement). It launched with a spec, SDKs, local server support in Claude Desktop, and a set of pre-built reference servers.

It’s not an Anthropic-only thing anymore. The protocol’s own site lists Claude, ChatGPT, Visual Studio Code, Cursor, and MCPJam as supporting clients today, with direct links into OpenAI’s and Microsoft’s own MCP documentation (modelcontextprotocol.io) — genuine cross-vendor adoption, not just Anthropic’s own ecosystem talking to itself.

The maintained-server list has changed — check before you copy an old tutorial

This is the part worth being blunt about: a lot of 2025-era “here are the official MCP servers” posts point at a repo layout that no longer reflects what’s actively maintained. As of now, the reference servers actively maintained by the MCP Steering Group are: Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, and Time. Several servers that used to live in that same repo — including GitHub, PostgreSQL, and Slack — have been moved to a separate servers-archived repo, meaning they’re no longer the officially-maintained path even though plenty of still-indexed tutorials link straight to them (modelcontextprotocol/servers). The broader community catalog now lives at the MCP Registry.

Servers actually worth wiring up

A short list, favoring ones that are either official-vendor-maintained or widely recognized and currently active — not an exhaustive catalog:

  • GitHub’s official server (github/github-mcp-server) — now maintained directly by GitHub rather than in Anthropic’s reference repo; actively developed, with a large open community around it.
  • Playwright MCP (microsoft/playwright-mcp) — Microsoft’s official browser-automation server. It drives the browser via accessibility snapshots rather than raw screenshots, which is a meaningfully cheaper and more reliable way to let an agent interact with a real page.
  • Context7 (upstash/context7) — pulls current, version-specific library documentation into the model’s context instead of relying on whatever was baked into training data, which matters a lot for fast-moving libraries.
  • Filesystem, Git, Fetch, Time — the small, boring, actively-maintained reference servers from the modelcontextprotocol/servers repo. Not exciting, but they’re the base layer most agent workflows end up needing anyway.
  • Hosted, OAuth-gated servers for things like Sentry, Linear, and Notion — you sign in through a browser flow rather than running a local process, which sidesteps some of the local-execution risk described below (Claude Code MCP quickstart).

The security question you should actually ask

Running a local MCP server is running arbitrary code with your own privileges — not a sandboxed plugin. The protocol’s own security-best-practices document is explicit about this: a local server “run[s] with the same privileges as the client,” a user typically has “no visibility” into what a startup command actually executes, and the spec’s own illustrative example of a malicious command is one that reads and exfiltrates an SSH private key. The spec says clients must show the exact command and require explicit consent before running one (MCP security best practices). The same document also covers confused-deputy OAuth proxy attacks and SSRF risks in server metadata for the hosted case.

The practical takeaway: treat “just run this MCP server” with the same suspicion you’d give an unfamiliar shell one-liner. Prefer official or vendor-maintained servers over random community packages, and actually read what a local server’s command and arguments invoke before you approve it — the consent prompt exists specifically because you’re expected to look at it, not click through it.

Wiring one up in Claude Code

In practice: claude mcp add --transport http <name> <url> for a hosted server, or claude mcp add <name> -- npx -y @scope/package@latest for a local one that runs over stdio. Servers can be scoped local (this project only, the default), user (all your projects), or project (checked into .mcp.json, so teammates get an approval prompt rather than a silent install). Run claude mcp list or /mcp inside a session to check status — OAuth-gated servers show as “Needs authentication” until you complete a browser sign-in (Claude Code MCP quickstart).

For where this fits into a full agent setup — hooks, subagents, worktrees, verification loops — see the AI dev workflow guide or getting real work out of AI agents directly.

Read the next one.

Reviews