Essential MCP Servers for Claude Code (and How to Configure Them)
The MCP servers worth installing first — GitHub, Playwright, Context7, Supabase — with the config commands, scopes, and security practices to run them well.
The Model Context Protocol is how Claude reaches beyond its context window: MCP servers give it live access to your repos, browsers, databases, and documentation. With thousands of servers published, the practical question is which handful to configure first — and how to do it without turning your agent into a security liability.
How MCP configuration works
Claude Code manages servers with the claude mcp command family:
# Add a server (stdio transport, runs locally)
claude mcp add <name> <command>
# Add a remote server over HTTP
claude mcp add <name> <url> --transport http
# List and inspect
claude mcp list
Every server has a scope. Local scope (default) applies to you in the
current project; project scope writes a .mcp.json file you commit so
the whole team shares the config; user scope follows you across projects.
Choose deliberately: a database server probably belongs to a project, your
personal notes server to your user scope.
The servers worth installing first
Source control
Browser automation
Documentation that isn't stale
Your database
The reference collection
Security practices that actually matter
MCP servers execute with real credentials, so a few habits pay off:
- Scope tokens narrowly. Give the GitHub server a fine-grained token for the repos it needs, not your account-wide PAT. Use read-only modes where servers offer them (Supabase's does).
- Prefer official servers. Vendor-maintained servers (GitHub's, Microsoft's, Supabase's) have security teams behind them. For anything else, read the source before wiring it to production data.
- Watch your context budget. Every connected server adds tool definitions Claude carries around. Connect the three servers you use daily, not the fifteen you might use someday — you can always add one per-project.
- Treat tool output as untrusted. Content fetched by a server (web pages, issue comments) can contain prompt-injection attempts. Claude Code has protections, but least-privilege tokens are what limit the blast radius.
When something doesn't work
Most MCP failures are one of three things: the server process failed to start
(run claude mcp list to see status), authentication is missing (check the
env vars the server expects), or the transport is wrong (remote servers need
--transport http). The /mcp command inside a session shows what's
connected and which tools each server exposes.
Going deeper
Browse the full MCPs category for more servers, or see how MCP fits alongside skills, hooks, and plugins in the broader Claude Code configuration stack. If you want to build your own server, the official reference implementations above are the place to start.