This document describes the MCP servers that can be configured for Claude Desktop and Claude Code.
The macbook-dev-setup project includes several scripts to manage MCP servers:
setup-claude-mcp.sh- Installs and configures MCP servers for Claude Desktopsetup-claude-code-mcp.sh- Configures MCP servers for Claude Code CLIfix-mcp-servers.sh- Repairs MCP configuration with dynamic server selectiondebug-mcp-servers.sh- Tests and debugs MCP server installations
These servers are maintained by the official MCP team:
- filesystem - Secure file operations with access controls
- memory - In-memory key-value storage for temporary data
- git - Tools to read, search, and manipulate Git repositories
- fetch - Web content fetching and conversion
- sequentialthinking - Dynamic problem-solving through thought sequences
These servers are now managed via Claude Code plugins (installed with /plugin install):
-
github (
github@claude-plugins-official)- Native GitHub MCP — richer PR/issue context than
ghCLI alone - Installed as user-scope plugin
- Native GitHub MCP — richer PR/issue context than
-
playwright (
playwright@claude-plugins-official)- Browser automation and web scraping capabilities
- Previously configured as manual MCP; now managed via plugin
-
slack (
slack@claude-plugins-official)- Slack MCP for reading/sending messages from Claude
-
pr-review-toolkit (
pr-review-toolkit@claude-plugins-official)- Specialized PR review agents, complements reviewer sub-agent
These plugins provide auto-diagnostics after every edit + code navigation (jump-to-def, find refs):
- typescript-lsp — requires
typescript-language-server(brew) - swift-lsp — requires
sourcekit-lsp(bundled with Xcode) - pyright-lsp — requires
pyright(brew) - kotlin-lsp — requires
kotlin-language-server(brew)
These were previously community MCP servers, now managed via plugins:
- context7 (
context7@claude-plugins-official) — library docs lookup vianpx @upstash/context7-mcp - playwright (
playwright@claude-plugins-official) — browser automation (previously listed above) - figma (
figma@claude-plugins-official) — Figma design data via hosted OAuth (no API key needed)
These servers are still installed from source:
-
semgrep (https://github.com/semgrep/mcp)
- Security scanning and code analysis
- Helps identify vulnerabilities and code patterns
-
exa (https://github.com/exa-labs/exa-mcp-server)
- AI-optimized search engine integration
- Better web search results for AI agents
-
taskmaster (https://github.com/eyaltoledano/claude-task-master)
- AI-powered task management and project planning
- Dual role functionality:
- As "taskmaster" MCP server: Direct task commands (
task-master list,task-master next) - As "Product Manager" sub-agent: Product discovery, customer validation, risk assessment
- As "taskmaster" MCP server: Direct task commands (
- Features PRD parsing, task generation, and complexity analysis
- Optional research capabilities with Perplexity API
- Naming convention: Use "taskmaster" for MCP operations, "Product Manager" for agent workflows
Pieces MCP requires special configuration:
- Requires PiecesOS running locally
- Configure manually with SSE endpoint:
http://localhost:39300/model_context_protocol/2024-11-05/sse - Provides long-term memory and context-aware coding assistance
-
Server not found
# Check if server is installed ./scripts/debug-mcp-servers.sh # Reinstall servers ./scripts/setup-claude-mcp.sh
-
API key not working
- Ensure API keys are exported in
~/.config/zsh/51-api-keys.zsh - Reload shell:
source ~/.zshrc - Verify key is set:
echo $EXA_API_KEY
- Ensure API keys are exported in
-
Claude Desktop not recognizing servers
- Restart Claude Desktop after configuration
- Check config file:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json - Run fix script:
./scripts/fix-mcp-servers.sh
-
Claude Code CLI issues
- List current servers:
claude mcp list - Remove and re-add:
claude mcp remove <server>then re-run setup - Check configuration:
claude settings show
- List current servers:
# Install all MCP servers
./scripts/setup-claude-mcp.sh
# Fix/update configuration
./scripts/fix-mcp-servers.sh
# Exclude servers that need API keys
./scripts/fix-mcp-servers.sh --no-api-keys
# Only install specific servers
./scripts/fix-mcp-servers.sh --servers filesystem,memory,git
# Debug MCP server installations
./scripts/debug-mcp-servers.sh# Add all servers to user scope (global)
./scripts/setup-claude-code-mcp.sh
# Add to project scope (.mcp.json in current directory)
./scripts/setup-claude-code-mcp.sh --scope project
# Explicitly add to user scope (default)
./scripts/setup-claude-code-mcp.sh --scope user
# Update Exa MCP server specifically
./scripts/update-exa-mcp.sh-
User Scope (default): Configures MCP servers globally for all Claude Code sessions
- Configuration stored in
~/.config/claude/claude_code_config.json - Available across all projects
- Configuration stored in
-
Project Scope: Configures MCP servers for a specific project
- Creates
.mcp.jsonin the current directory - Takes precedence over user configuration
- Useful for project-specific servers or API keys
- Creates
./scripts/setup-claude-code-mcp.sh --no-api-keys
./scripts/setup-claude-code-mcp.sh --servers semgrep,exa
## Debugging
```bash
# Test all MCP servers
./scripts/debug-mcp-servers.sh
This will:
- Check environment variables for API keys
- Test each server individually
- Verify Claude Desktop configuration
- Check Claude Code configuration
Run the setup script to install all servers:
./scripts/setup-claude-mcp.shDuring installation, you'll be prompted for API keys for servers that require them:
- Exa: Get your API key from https://dashboard.exa.ai/api-keys
- Taskmaster (optional):
- Requires ANTHROPIC_API_KEY and OPENAI_API_KEY (usually already configured)
- Optionally uses PERPLEXITY_API_KEY for research features (https://www.perplexity.ai/settings/api)
- Works without Perplexity but with limited research capabilities
- When used as MCP server: Direct task management commands
- When used as "Product Manager" agent: Comprehensive product discovery workflows
API keys are securely stored in ~/.config/zsh/51-api-keys.zsh and automatically loaded by your shell.
Once installed, the servers are automatically available in Claude Code. You can:
- Check configured servers:
claude mcp list - Update servers:
./scripts/setup-claude-mcp.sh --update - Remove servers:
./scripts/setup-claude-mcp.sh --remove
- Node.js and npm (for TypeScript servers)
- Python 3 and uv (for Python servers)
- Claude Code CLI
- For specific servers:
- Exa: Requires API key (will be prompted during setup)
- Figma: Now a plugin (no API key needed — uses hosted OAuth)
- Semgrep: May require Semgrep CLI installation
- Pieces: Requires PiecesOS running locally
To debug MCP connection failures:
- Run
claude mcp listto see connection status - Use
./scripts/debug-mcp-servers.shto test individual servers - Check API keys are set:
echo $EXA_API_KEY - Restart Claude after configuration changes:
osascript -e 'quit app "Claude"' && open -a "Claude"
Exa server fails to connect:
- Ensure EXA_API_KEY is set in your shell environment
- Check
~/.config/zsh/51-api-keys.zshcontains the key - Reload your shell or run
source ~/.zshrc
Note: Figma and Playwright are now managed as plugins, not MCP servers. Use
/plugin install figma@claude-plugins-officialand/plugin install playwright@claude-plugins-official.
Semgrep server fails:
- Requires Python and uv package manager
- Run
cd ~/repos/mcp-servers/community/semgrep && uv sync
Configuration gets corrupted:
- Backup exists at
~/.setup-backups/configs/claude-mcp/ - Or use
./scripts/fix-mcp-servers.shto reset
Product Manager (TaskMaster) not showing research options:
- Check if Perplexity API key is set:
echo $PERPLEXITY_API_KEY - If not set, research features are disabled but product management still works
- Add key to
~/.config/zsh/51-api-keys.zshand restart Claude to enable - Product discovery features work via AI simulation even without Perplexity
If a server fails to build or install:
- Check that all prerequisites are installed
- Ensure you have internet connectivity for cloning repositories
- Some servers may have pre-built distributions and don't require building
- Check the logs for specific error messages
~/repos/mcp-servers/
├── official/ # Official MCP servers
├── community/ # Community MCP servers
└── custom/ # Custom/local MCP servers