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.

Composition

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.

Try It — MCP Server Config Generator

Open full tool