MCP Configuration
The Model Context Protocol (MCP) lets Claude Code connect to external tools and data sources through lightweight servers. The team runs a standard set of MCP servers to extend what Claude can do during a session.
What is MCP
MCP servers expose tools (actions Claude can call) and resources (data Claude can read). They run as local processes or remote endpoints and communicate with Claude Code over stdio or HTTP.
Recommended servers
| Server | Purpose | Install |
|---|---|---|
@anthropic/mcp-filesystem | Read and write files with permissions | npm i -g @anthropic/mcp-filesystem |
@anthropic/mcp-github | Interact with GitHub repos, PRs, issues | npm i -g @anthropic/mcp-github |
@anthropic/mcp-fetch | Make HTTP requests | npm i -g @anthropic/mcp-fetch |
@anthropic/mcp-memory | Persistent key-value memory | npm i -g @anthropic/mcp-memory |
Configuration file
MCP servers are declared in .claude/mcp.json at the project root or ~/.claude/mcp.json for
global configuration.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-filesystem", "--root", "."]
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"fetch": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-fetch"]
}
}
}
Environment variables
Some servers need credentials passed through environment variables. Store tokens in your shell
profile or .envrc (never commit them) and reference them with ${VAR} syntax in the config.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Server does not start | Missing Node.js or npx | Ensure Node 18+ is installed |
| "Permission denied" errors | Filesystem server root too narrow | Widen the --root path |
| GitHub tools fail | Invalid or expired token | Regenerate GITHUB_TOKEN |
| Slow responses | Server process crashed silently | Restart Claude Code session |
Tips
- Start with the filesystem and GitHub servers — they cover most workflows.
- Add servers incrementally; each one increases startup time slightly.
- Use project-level config (
.claude/mcp.json) so the setup is shared across the team.