メインコンテンツへスキップ
注目 MCP ツール 設定 ワークフロー 生産性

MCP サーバー選択ガイド:Claude Code ワークフローに最適なツールを見つける

Claude Code 向け MCP サーバーの選択と設定の実践ガイド。必須サーバーから専門ツールまで、最適な開発環境を構築します。

2026年1月18日 12 分 著者:Claude World

Model Context Protocol (MCP) エコシステムは急速に成長しており、様々な目的で利用できる 80 以上のサーバーがあります。適切な組み合わせを選ぶことで Claude Code の生産性を大幅に向上させることができますが、選びすぎるとコンテキストが膨張し、処理が遅くなります。

このガイドでは、特定のニーズに合わせて最適な MCP サーバーの組み合わせを選択する方法を説明します。

MCP コンテキストコストの理解

サーバーを選択する前に、このトレードオフを理解してください:

より多くの MCP サーバー = より多くの機能 + より高いコンテキストコスト

有効化された各 MCP サーバーは:

  • Claude のコンテキストにツール定義を追加(サーバーごとに約 500〜2000 トークン)
  • 起動時間が増加
  • 他のサーバーと競合する可能性がある

経験則:3〜5 個の必須サーバーから始め、必要な場合にのみ追加する。

必須スターターキット

これらのサーバーは最小限のコンテキストオーバーヘッドで最大の価値を提供します:

1. Filesystem サーバー(必須)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    }
  }
}

理由:コアファイル操作。Claude Code がコードファイルの読み書きに必要。

コンテキストコスト:約 800 トークン

2. Memory サーバー(強く推奨)

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-memory"]
    }
  }
}

理由:セッション間での永続的な知識。プロジェクトコンテキスト、決定、学習したパターンを保存。

コンテキストコスト:約 600 トークン

使用タイミング

  • 複数のセッションで複雑なプロジェクトに取り組む場合
  • アーキテクチャの決定を覚えておく必要がある場合
  • セッション間で一貫した動作が必要な場合

3. Git サーバー(チームにお勧め)

{
  "mcpServers": {
    "git": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-git"]
    }
  }
}

理由:基本的な CLI を超える強化された git 操作。

コンテキストコスト:約 700 トークン

使用タイミング

  • チームリポジトリで作業する場合
  • インテリジェントなコミット提案が必要な場合
  • ブランチ管理のサポートが必要な場合

サーバーカテゴリと選択

カテゴリ 1:データベースサーバー

サーバー最適な用途コンテキストコスト
mcp-postgresPostgreSQL データベース約 900 トークン
mcp-supabaseSupabase プロジェクト約 1100 トークン
mcp-sqliteローカル SQLite DB約 600 トークン
mcp-mongodbMongoDB データベース約 800 トークン

選択ガイド

技術スタックに基づいて1つのデータベースサーバーを選択:
- Supabase プロジェクト? → mcp-supabase
- PostgreSQL バックエンド? → mcp-postgres  
- ローカルプロトタイピング? → mcp-sqlite
- ドキュメントデータベース? → mcp-mongodb

設定例(Supabase)

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "@supabase/mcp-server"],
      "env": {
        "SUPABASE_URL": "${SUPABASE_URL}",
        "SUPABASE_SERVICE_ROLE_KEY": "${SUPABASE_SERVICE_ROLE_KEY}"
      }
    }
  }
}

カテゴリ 2:API & 統合サーバー

サーバー最適な用途コンテキストコスト
mcp-fetchHTTP リクエスト約 500 トークン
mcp-brave-searchウェブ検索約 600 トークン
mcp-githubGitHub API約 1200 トークン
mcp-slackSlack 統合約 700 トークン

選択ガイド

ワークフローのニーズに基づいて API サーバーを追加:
- ウェブリサーチが必要? → mcp-brave-search
- GitHub ヘビーユーザー? → mcp-github
- API リクエストを行う? → mcp-fetch
- チームコミュニケーション? → mcp-slack

設定例(GitHub)

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

カテゴリ 3:開発ツール

サーバー最適な用途コンテキストコスト
mcp-puppeteerブラウザ自動化約 1000 トークン
mcp-chromium-devtoolsChrome デバッグ約 900 トークン
mcp-dockerコンテナ管理約 800 トークン
mcp-kubernetesK8s クラスター約 1100 トークン

選択ガイド

プロジェクトタイプに基づいて開発ツールを追加:
- E2E テストが必要? → mcp-puppeteer
- フロントエンドデバッグ? → mcp-chromium-devtools
- コンテナ化アプリ? → mcp-docker
- K8s デプロイメント? → mcp-kubernetes

カテゴリ 4:ドキュメント & ナレッジ

サーバー最適な用途コンテキストコスト
mcp-context7ライブラリドキュメント約 500 トークン
mcp-notionNotion ワークスペース約 700 トークン
mcp-confluenceAtlassian ドキュメント約 800 トークン

選択ガイド

以下の場合にナレッジサーバーを追加:
- 不慣れなライブラリを使用 → mcp-context7
- チームが Notion を使用 → mcp-notion
- エンタープライズドキュメント → mcp-confluence

設定例(Context7)

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

推奨される組み合わせ

🎯 ソロ開発者(Web アプリ)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-memory"]
    },
    "supabase": {
      "command": "npx",
      "args": ["-y", "@supabase/mcp-server"],
      "env": {
        "SUPABASE_URL": "${SUPABASE_URL}",
        "SUPABASE_SERVICE_ROLE_KEY": "${SUPABASE_SERVICE_ROLE_KEY}"
      }
    }
  }
}

合計コンテキストコスト:約 2500 トークン

この組み合わせの理由

  • Filesystem でコード操作
  • Memory でプロジェクト知識の永続化
  • Supabase で DB + 認証 + ストレージをワンストップ

🎯 フルスタックチーム

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-memory"]
    },
    "git": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-git"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-postgres"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    }
  }
}

合計コンテキストコスト:約 4200 トークン

この組み合わせの理由

  • コアファイル + memory 操作
  • Git でバージョン管理
  • GitHub で PR/Issue 管理
  • PostgreSQL で本番データベース

🎯 データ分析

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    },
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-sqlite", "./data.db"]
    },
    "fetch": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-fetch"]
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-brave-search"],
      "env": {
        "BRAVE_API_KEY": "${BRAVE_API_KEY}"
      }
    }
  }
}

合計コンテキストコスト:約 2500 トークン

この組み合わせの理由

  • Filesystem でデータファイル
  • SQLite でローカルデータ分析
  • Fetch で API データ収集
  • Brave Search でリサーチ

🎯 DevOps/インフラストラクチャ

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    },
    "git": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-git"]
    },
    "docker": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-docker"]
    },
    "kubernetes": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-kubernetes"],
      "env": {
        "KUBECONFIG": "${KUBECONFIG}"
      }
    }
  }
}

合計コンテキストコスト:約 3400 トークン

この組み合わせの理由

  • コアファイル + git 操作
  • Docker でコンテナ管理
  • Kubernetes でクラスター操作

🎯 フロントエンド開発者

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "."]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-memory"]
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"]
    },
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-puppeteer"]
    }
  }
}

合計コンテキストコスト:約 2900 トークン

この組み合わせの理由

  • コアファイル + memory
  • Context7 で React/Vue/フレームワークドキュメント
  • Puppeteer で E2E テスト

コンテキスト最適化戦略

戦略 1:遅延読み込み

すべてのサーバーを一度に有効にしない。プロジェクト固有の設定を使用:

project-a/.claude/settings.json  → データベースサーバー
project-b/.claude/settings.json  → インフラサーバー

戦略 2:エージェント専用 MCP

上級ユーザーは、特定の MCP サーバーを特定のエージェントに割り当てることができます:

# CLAUDE.md

## エージェント MCP 割り当て

### security-auditor
- filesystem (読み取り専用)
- データベースアクセスなし

### developer
- filesystem (フル)
- database
- git

### doc-writer
- filesystem (読み取り専用)
- context7

注意:これは概念的なパターンです。MCP Context Isolation の RFC については Issue #17668 を参照してください。

戦略 3:環境ベースの設定

# 開発環境
export MCP_PROFILE=dev
claude --mcp-config ./mcp-dev.json

# 本番環境
export MCP_PROFILE=prod
claude --mcp-config ./mcp-prod.json

よくある問題のトラブルシューティング

問題:コンテキスト使用量が高い

症状:「Context limit exceeded」または遅い応答

解決策

  1. 有効なサーバーを確認:claude --list-mcp
  2. 未使用のサーバーを削除
  3. グローバル設定ではなくプロジェクト固有の設定を使用

問題:サーバー起動失敗

症状:「MCP server failed to start」

解決策

# npx がパッケージを見つけられるか確認
npx -y @anthropic/mcp-filesystem --version

# npx キャッシュをクリア
rm -rf ~/.npm/_npx

# 環境変数を確認
env | grep -E "(SUPABASE|GITHUB|DATABASE)"

問題:権限拒否

症状:MCP サーバーから「Access denied」

解決策

  1. ターゲットディレクトリのファイル権限を確認
  2. API トークンに正しいスコープがあることを確認
  3. 必要な権限について MCP サーバーのドキュメントを確認

問題:サーバーの競合

症状:予期しない動作、ツール名の重複

解決策

  1. 同じデータベースに複数のデータベースサーバーを使用しない
  2. サーバードキュメントでツール名の競合を確認
  3. 可能な限りカテゴリごとに1つのサーバーを使用

上級:カスタム MCP サーバーの作成

既存のサーバーがニーズを満たさない場合:

基本的なカスタムサーバー構造

// my-mcp-server.js
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({
  name: "my-custom-server",
  version: "1.0.0"
}, {
  capabilities: {
    tools: {}
  }
});

// ツールを定義
server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "my_tool",
    description: "有用な何かをする",
    inputSchema: {
      type: "object",
      properties: {
        input: { type: "string" }
      }
    }
  }]
}));

// ツール呼び出しを処理
server.setRequestHandler("tools/call", async (request) => {
  if (request.params.name === "my_tool") {
    return { content: [{ type: "text", text: "結果" }] };
  }
});

// サーバーを開始
const transport = new StdioServerTransport();
await server.connect(transport);

いつカスタムを構築するか

以下の場合にカスタム MCP サーバーを構築:

  • ✅ 内部 API 統合が必要
  • ✅ プロプライエタリデータベースアクセス
  • ✅ 会社固有のツール
  • ✅ 特化したドメインロジック

カスタムを構築しない場合:

  • ❌ 既存のサーバーが 80%+ のニーズをカバー
  • ❌ 小さな変更のみ必要(代わりにフォーク)
  • ❌ 一回限りのユースケース(代わりに fetch MCP を使用)

クイックリファレンス:人気のサーバー

サーバーパッケージ主な機能
Filesystem@anthropic/mcp-filesystemファイル操作
Memory@anthropic/mcp-memory永続的な知識
Git@anthropic/mcp-gitバージョン管理
GitHub@anthropic/mcp-githubGitHub API
PostgreSQL@anthropic/mcp-postgresSQL データベース
Supabase@supabase/mcp-serverフル Supabase スタック
Fetch@anthropic/mcp-fetchHTTP リクエスト
Puppeteer@anthropic/mcp-puppeteerブラウザ自動化
Context7@context7/mcp-serverライブラリドキュメント
Brave Search@anthropic/mcp-brave-searchウェブ検索

スタートチェックリスト

今日(10分)

  1. ✅ 現在の MCP サーバーを監査:cat .claude/settings.json
  2. ✅ 未使用のサーバーを削除
  3. ✅ 必須サーバーが設定されていることを確認

今週

  1. ✅ プロジェクト固有の MCP 設定を設定
  2. ✅ ユースケースに合った推奨組み合わせをテスト
  3. ✅ CLAUDE.md に設定を文書化

今月

  1. ✅ コンテキスト使用パターンを監視
  2. ✅ 実際の使用状況に基づいて最適化
  3. ✅ 繰り返しのニーズにカスタム MCP を検討

主なポイント

  1. 小さく始める - 3〜5 個の必須サーバーから始める
  2. ワークフローに合わせる - 実際の作業に合ったサーバーを選択
  3. コンテキストを監視 - トークン使用量を追跡して最適化
  4. プロジェクト固有 - 異なるプロジェクトには異なる設定を使用
  5. 最新を維持 - MCP エコシステムは急速に進化

適切な MCP の組み合わせは、Claude Code 体験を良いものから卓越したものに変えることができます。時間をかけて適切に設定してください。


関連記事:MCP コンテキスト効率MCP 遅延読み込みMCP Director Mode Server