MCP マルチサーバ設定(5 プリセット全部入り)
filesystem、github、postgres、brave-search、fetch を 1 つの mcpServers に統合します。各エントリは独立しており、クライアントはサーバごとに 1 プロセスを起動します。
詳細な説明
複数サーバの組み合わせ
mcpServers 配下のエントリはそれぞれ別の子プロセスです。サーバを追加しても他のサーバの動作には影響しません — stdio で完全に分離されています。
フル設定
{
"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"]
}
}
}
起動コスト
クライアント起動時に 5 プロセス全部を立ち上げます。-y 付きで npm キャッシュが空だと初回 30〜60 秒の待ちが発生します。2 回目以降は npm/uvx キャッシュにより 1〜3 秒/サーバで起動します。
ツール名の衝突
各サーバはサーバ名をプレフィックスとしてツールを公開します(filesystem.read、github.search_issues、postgres.query など)。同名ツールを 2 サーバが公開しても衝突しません。モデルが文脈から適切な方を選びます。
リソース面
各サーバは Node.js または Python のプロセスで RAM を 50〜150MB 占有します。5 サーバで合計約 500MB です。アクティブに使わないものは外して、起動を速くしバッテリーを守ります。
何がロードされたかの確認
Claude Desktop では入力欄の右下にあるプラグアイコンをクリックすると、接続成功・失敗したサーバが見えます。失敗の多くは env 変数不足かパス間違いです — トラブルシューティング を参照してください。
ユースケース
Claude Desktop を日常的なワークスペースとして使い、「Issue #123 が言及しているバグをコードベースから探し、postgres の orders テーブルに該当行があるか確認し、関連 CVE を Web 検索する」を 1 つの会話で完結させる用途です。