Complete guide to MCP servers and plugins for the unified Claude Code template.
The template includes .mcp.json with essential servers pre-configured. Just run claude and they'll be available.
For additional servers or API key configuration, add to .claude/settings.local.json.
These servers are included in .mcp.json and work without API keys.
# Already in .mcp.json, or add manually:
claude mcp add sequential-thinking -s user -- npx -y @modelcontextprotocol/server-sequential-thinkingUsed by: /think, /plan, /debug
Purpose: Step-by-step reasoning, branching logic, hypothesis testing
# Already in .mcp.json, or add manually:
claude mcp add context7 -s user -- npx -y @upstash/context7-mcp@latestUsed by: /plan, research tasks
Purpose: Up-to-date API docs for 100+ frameworks
# Already in .mcp.json, or add manually:
claude mcp add playwright -s user -- npx -y @playwright/mcp@latestUsed by: /browser, designer agent, UI verification
Purpose: Screenshots, form filling, E2E testing
# Already in .mcp.json, or add manually:
claude mcp add memory -s user -- npx -y @modelcontextprotocol/server-memoryUsed by: /memory command, cross-session persistence
Purpose: Entities, relations, facts that persist
Work without API keys but enhanced with them.
claude mcp add exa -s user -- npx -y exa-mcp-server
# Optional: export EXA_API_KEY=your-keyTools:
web_search_exa- Semantic search with AI understandingget_code_context_exa- Find code examples, GitHub repos
claude mcp add jina -s user -- npx -y jina-mcp
# Optional: export JINA_API_KEY=your-keyTools:
read_url- Any URL to clean markdownparallel_read_url- Batch fetchweb_search- SERP results
# Install mgrep CLI
cargo install mgrep
# Or via npm
npm install -g mgrep-cli
# Usage
mgrep "Where is auth middleware?"
mgrep --web "How to implement OAuth2"Benefit: 2x fewer tokens than grep workflows
claude mcp add github -s user -- npx -y @modelcontextprotocol/server-githubRequires: GITHUB_TOKEN environment variable
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxclaude mcp add postgres -s user -- npx -y @modelcontextprotocol/server-postgresRequires: DATABASE_URL environment variable
export DATABASE_URL=postgresql://user:pass@localhost/dbclaude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem .Provides: Advanced file operations beyond built-in tools
claude mcp add neon -s user -- npx -y @neondatabase/mcp-server-neonRequires: NEON_API_KEY environment variable
/plugin marketplace add https://github.com/EveryInc/compound-engineering-plugin
/plugin install compound-engineeringAdds:
- 14 review agents (security-sentinel, performance-oracle, etc.)
- 4 research agents
- 5 workflow agents
/workflows:plan,/workflows:work,/workflows:review,/workflows:compound
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-memAdds: Automatic session memory with AI compression Note: The unified template uses opt-in memory instead; use this if you prefer auto-capture
# Clone and use directly
git clone https://github.com/snarktank/ralph.gitAdds: Long-running autonomous feature implementation
Note: The unified template includes /sprint command which implements this pattern
sequential-thinking + context7 + playwright + memory
All in .mcp.json, works out of box.
Default + exa + jina + github
Add search and GitHub integration.
Default + postgres + github + filesystem
Database and GitHub access.
Default + exa + jina + github + postgres + compound-engineering
Everything for complex projects.
Default + exa + jina
Research-focused with documentation access.
| Variable | Server | Purpose |
|---|---|---|
EXA_API_KEY |
exa | Enhanced search |
JINA_API_KEY |
jina | More URL reads |
GITHUB_TOKEN |
github | GitHub API access |
DATABASE_URL |
postgres | Database connection |
NEON_API_KEY |
neon | Neon database |
BRAVE_API_KEY |
brave-search | Brave search |
PERPLEXITY_API_KEY |
perplexity | Perplexity AI |
FIRECRAWL_API_KEY |
firecrawl | Web scraping |
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
}
}
}Your 200k context budget shrinks dramatically with excessive tool loading.
| MCPs Enabled | Active Tools | Context Available | % Lost |
|---|---|---|---|
| 0-5 servers | <40 tools | ~190k tokens | 5% |
| 6-10 servers | 40-80 tools | ~150k tokens | 25% |
| 11-20 servers | 80-150 tools | ~100k tokens | 50% |
| 20+ servers | >150 tools | ~70k tokens | 65% |
Recommended Limits:
- Configure: 20-30 MCPs total maximum
- Enable: <10 per project actively
- Active Tools: Keep under 80 tools
- Best Practice: Enable only what you need right now
| Server | Approx Overhead | Recommended Usage |
|---|---|---|
| sequential-thinking | ~500 tokens | Always (essential) |
| context7 | ~300 tokens | Always (essential) |
| playwright | ~800 tokens | Enable for UI work only |
| memory | ~400 tokens | Always (essential) |
| exa | ~400 tokens | Enable for research only |
| jina | ~350 tokens | Enable for research only |
| github | ~600 tokens | Enable for PR/issue work |
| postgres | ~500 tokens | Enable for DB work |
| compound-eng (plugin) | ~2000 tokens | High overhead, powerful |
1. Disable Unused Servers
// In .mcp.json
"disabledMcpServers": [
"playwright", // Only enable for browser testing
"exa", // Only enable for research tasks
"jina", // Only enable for web reading
"github", // Only enable for PR/issue work
"postgres" // Only enable for DB work
]2. Project-Specific Configs
# Web app project - enable UI tools
cp .mcp-web.json .mcp.json
# Backend project - enable DB tools
cp .mcp-backend.json .mcp.json
# Research project - enable search tools
cp .mcp-research.json .mcp.json3. Runtime Management
# Check enabled servers
/mcp
# Disable server temporarily
/mcp disable playwright
# Re-enable when needed
/mcp enable playwright
# Compact context when getting full
/compact4. Monitor Context Usage
- Check status bar for context consumption
- Warning at 80% (160k tokens used)
- Critical at 90% (180k tokens used)
- Use
/compactbefore hitting limits
✓ DO:
- Start with 4 essential servers (sequential-thinking, context7, playwright, memory)
- Enable additional servers only when task requires them
- Disable after use to reclaim context
- Use project-specific MCP configs
- Monitor context usage in status bar
- Compact context regularly
✗ DON'T:
- Enable all MCPs "just in case"
- Leave research tools enabled during coding
- Ignore context warnings
- Add servers without measuring impact
- Use heavy plugins for simple tasks
Symptom: Responses getting cut off
Solution: /compact or disable unused MCPs
Symptom: Slow startup (>5 seconds) Solution: Reduce active MCP count to <10
Symptom: "Context limit exceeded" errors Solution: Disable non-essential MCPs immediately
Tips:
- Disable unused MCPs with
/mcpcommand - Each server adds to system prompt overhead
- Use
/compactto summarize context - Use
/clearbetween unrelated tasks - Fewer, powerful tools > many specialized tools
# Check if npx works
npx -y @modelcontextprotocol/server-sequential-thinking --version
# Verify in Claude Code
/mcp# Verify environment variable is set
echo $GITHUB_TOKEN
# Add to shell profile
echo 'export GITHUB_TOKEN=xxx' >> ~/.zshrc
source ~/.zshrcRemove servers you don't use from .mcp.json or settings.local.json.
- MCP Server List - Official servers
- Claude Code Docs - Official docs
- Compound Engineering - Extended plugin
- Claude-Mem - Session memory
- Ralph - Autonomous loops