Quick Answer: Install These Three First
GitHub MCP: repo access, PR review, issue management.
Context7: current, version-specific library documentation, so Claude stops guessing APIs.
Playwright MCP: real browser automation to verify UI changes.
Everything else is conditional. Skip Filesystem and Sequential Thinking servers unless you have a specific reason: Claude Code already reads local files and runs shell commands natively.
Start with those three, use them for a week, and keep only what you actually call. Add a fourth when your workflow demands database access, team notifications, or design-to-code.
The Core Three Servers Explained
GitHub MCP: code and collaboration context
GitHub's official github-mcp-server gives Claude Code direct access to your repositories: read files, search code, review PRs, manage issues, check Actions runs and code-scanning alerts.
- Hosting: remote server at
https://api.githubcopilot.com/mcp/, or local via Docker - Toolsets: more than 20 toolsets; the default set is
context,repos,issues,pull_requestsandusers - Safety: a read-only mode skips all write tools
- Auth: a GitHub personal access token, or OAuth where supported
Context7: current library documentation
Context7 (by Upstash) fetches documentation for the library and version you are using, so Claude reads the real API surface instead of relying on stale training data.
- Tools: two,
resolve-library-idandquery-docs - Hosting: remote at
https://mcp.context7.com/mcpor local via the@upstash/context7-mcppackage - Auth: a free API key is recommended for higher rate limits
- Limitation: it only helps when Claude asks for docs; a line in
CLAUDE.mdsuch as "use Context7 for library APIs" makes that consistent
Playwright MCP: real browser verification
Playwright MCP is maintained by Microsoft. It drives a real browser through Playwright's accessibility tree rather than screenshots or pixel coordinates, which makes interactions structured and repeatable.
- Tools: about 25 core tools (navigate, click, fill forms, snapshot, screenshot…), with more behind opt-in capability flags
- Requirements: Node.js 18 or newer
- Best for: verifying your own UI changes, testing login flows, scraping structured data
- Note: the Playwright team itself says high-throughput coding agents may be better served by its CLI plus skills, which is more token-efficient; MCP suits exploratory or long-running browser work
Feature Comparison Table
| Feature | GitHub MCP | Context7 | Playwright MCP |
|---|---|---|---|
| Primary use | Repo, PR and issue work | Current library docs | Browser automation |
| Maintainer | GitHub (official) | Upstash | Microsoft |
| Tools | Many, grouped in 20+ toolsets | 2 | ~25 core + opt-in extras |
| Hosting | Remote HTTP or local Docker | Remote HTTP or local npm | Local (npx) |
| Auth | PAT or OAuth | Free API key recommended | None |
| Read vs. write | Both; read-only mode available | Read-only | Read + browser interaction |
| Skip it if | Your code isn't on GitHub | You rarely touch third-party libraries | You only write backend code |
The Hidden Context Cost: Why Lean Matters
Context cost in 2026: Claude Code now runs MCP tool search by default. At session start only tool names and server instructions load; full tool definitions load when Claude actually needs them. Servers no longer flood your context just by being installed. Full definitions still load upfront if you set ENABLE_TOOL_SEARCH=false, route Claude Code through a non-first-party ANTHROPIC_BASE_URL proxy, or mark a server alwaysLoad: true. Tool results still cost tokens: Claude Code warns when one MCP tool output passes 10,000 tokens and caps it at 25,000 by default (MAX_MCP_OUTPUT_TOKENS).
That changes the old advice. "Every server you install costs thousands of tokens before you type" was true when all tool definitions loaded upfront; with tool search on, an idle server costs little. What still matters:
- Tool results: a single large response (a long issue thread, a full page snapshot) can take a big share of your context
- Tool choice: many overlapping servers with similar tools make it harder for Claude to pick the right one
- Security surface: every server is code or a service with access to your credentials
- Processes: each local server is another process to keep running and updated
The practical rules:
- Start with 3 servers (GitHub + Context7 + Playwright)
- Add a 4th or 5th only for a real, recurring need
- Use read-only credentials wherever possible
- Review after a week and remove what you didn't use (
claude mcp remove <name>)
When to Add More: Decision Guide
If you need database access: use a maintained Postgres server, or your provider's official one (Supabase publishes its own), with a read-only role. The original reference Postgres server in the modelcontextprotocol/servers repository has been archived, so don't build on it.
If you call external APIs: add a vendor server such as Stripe or n8n only if your workflow actually calls those services.
If your team lives in Slack: a Slack server lets Claude read channel context and post updates. Check Slack's current official offering before choosing a community server.
If you use Notion as a wiki: Notion's official MCP server lets Claude search pages, create new ones and update databases.
If you ship design-to-code: Figma's MCP server gives Claude structured access to your design files and components.
If you monitor production errors: Sentry's MCP server gives Claude issues, stack traces and release data for debugging.
For everything else: look for the server on the official MCP Registry and add it only if it solves a pain you hit every week.
Building Your Stack: Start Lean, Add on Demand
Day 1: the starter pack
- GitHub MCP (code context + PR review)
- Context7 (current docs)
- Playwright MCP (browser verification)
Use these for a week before adding anything. Many developers never need more.
Week 2: conditional adds (pick one or none)
- You query a database daily: a maintained Postgres or Supabase server, read-only
- Your team uses Slack: a Slack server
- You ship design-to-code: Figma
- You integrate with external APIs: Stripe, n8n or the vendor's own server
Don't add by default:
- Filesystem servers (Claude Code already reads local files)
- Sequential Thinking (current Claude models reason step by step without it)
- Generic "memory" or "AI search" servers you haven't evaluated
- Several servers that do the same job
Three to six well-chosen servers beat fifteen: fewer overlapping tools, fewer credentials to manage, and less to keep updated.
Installation: From Zero to Running
Add servers with claude mcp add; Claude Code writes the config for you (see the MCP docs). Servers go into ~/.claude.json for local and user scope, or into .mcp.json at the project root for project scope. They don't go in settings.json.
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"claude mcp add --transport http context7 https://mcp.context7.com/mcp \
--header "Authorization: Bearer YOUR_CONTEXT7_API_KEY"claude mcp add playwright -- npx @playwright/mcp@latestThen run /mcp inside Claude Code to check each server shows as connected.
Key gotchas:
- Remote servers that use OAuth work: run
/mcpand complete the browser sign-in - Keep tokens out of committed files; in a shared
.mcp.jsonuse environment-variable expansion instead of pasting secrets - For databases, use a read-only role
- In team setups, pin a server version (
package@x.y.z) instead of@latestso everyone runs the same build
Debugging: claude mcp get <name> shows a server's status and, if it failed, the error. In a session, /mcp → select the server → Reconnect. For a step-by-step walkthrough, see how to install an MCP server for Claude Code.