Multi-Server MCP Config (All Five Presets Together)
Combine filesystem, github, postgres, brave-search, and fetch in a single mcpServers block. Each entry is independent and the client spawns one process per server.
Detailed Explanation
Combining Multiple Servers
Every entry under mcpServers is a separate child process. Adding more servers does not change any other server's behavior — they're isolated by stdio.
Full config
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/me/projects"
]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://readonly:pw@localhost/dev"
]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": { "BRAVE_API_KEY": "BSA_xxx" }
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
Startup cost
The client launches all five processes when it boots. With -y and cold npm caches that means a one-time 30-60 second wait on first run. Subsequent launches use the npm/uvx cache and start in 1-3 seconds per server.
Tool name conflicts
Each server exposes tools under its server name as a prefix (filesystem.read, github.search_issues, postgres.query), so two servers exposing similarly-named tools never collide. The model picks the right one from context.
Resource considerations
Each server is a Node.js or Python process holding ~50-150MB RAM. Five servers = roughly 500MB resident. Drop servers you're not actively using to keep the launch fast and your laptop battery happy.
Seeing what's loaded
In Claude Desktop, click the plug icon at the bottom-right of the input box to see which servers connected successfully and which failed. Failures usually mean missing env vars or wrong paths — see troubleshooting.
Use Case
Setting up Claude Desktop as a daily-driver workspace where you can ask 'find the bug Issue #123 mentions in our codebase, then check the postgres orders table for matching rows, then search the web for related CVEs' in a single conversation.