MCPサーバーおすすめ7選【Claude Code実装例付き】設定手順・比較・ハマった罠を全公開
※本記事には広告(アフィリエイトリンク)が含まれます。記載は2026年5月時点の情報に基づきます。リンク経由の購入・登録により当サイトが報酬を得る場合があります。購入・登録しても記事の評価には影響しません。
※本記事はAI支援ツールを使って作成しています。内容の正確性には努めていますが、MCPの仕様は変更される場合があります。最新情報は公式ドキュメントを確認してください。
結論: 2026年5月時点では「github + supabase + cloudflare-docs」の3点セットが個人開発向けMCP構成の一例
Claude CodeでMCPを使うなら、まず github(HTTP/PAT認証)・supabase(HTTP/OAuth)・cloudflare-docs(SSE/認証なし) の3つを接続することを強く推奨する。この3つは設定難易度が低く、即座に開発効率が上がる。playwright(ブラウザ自動化)や cloudflare-bindings(Workers/KV操作)はその後に追加すれば十分だ。
本記事は、実際に7つのMCPサーバーを接続・運用した一次情報をもとに書いている。公式ドキュメントの翻訳ではなく、実際にハマった罠・実測値・設定ファイルの全文を公開する。
MCPとは何か――30秒で理解する
MCP(Model Context Protocol)は、Anthropicが策定したオープン標準プロトコルだ。Claude CodeなどのLLMクライアントが、外部ツール(GitHub・データベース・ブラウザなど)を統一インターフェースで呼び出せるようにする。
従来はAPIキーを直接コードに埋め込み、LLMが直接APIを叩いていた。MCPでは「MCPサーバー」という中間レイヤーを挟むことで、LLMがツールを「道具として使う」感覚で呼び出せる。
MCPで何ができるか(本記事のサンプル設定が示す実装例):
// LLMRequest の task フィールドが示すように、各エージェントは専門タスクを持つ
export type LLMTask =
| "researcher" // A1: Web調査
| "serp_analyzer" // A2: SERP分析
| "outliner" // A3: アウトライン生成
| "writer" // A4: 本文執筆
| "fact_checker" // A5: 事実確認
| "originality" // A6: オリジナリティ判定
| "geo_optimizer" // A7: GEO最適化
| "editor"; // A8: 最終編集
MCPがあることで、これらのタスクを実行するエージェントが GitHub・Supabase・Cloudflareといった外部サービスを直接操作できる。コードを書かずにClaude Codeが「DBにSQLを発行する」「PRを作る」「ログを確認する」といった操作を行える。
7つのMCPサーバー完全比較表
表1: 7つのMCPサーバー一覧
| MCP名 | transport | 認証方式 | 主な用途 | 設定難易度 | 無料Tier |
|---|---|---|---|---|---|
| github | HTTP | Fine-grained PAT | PR作成・Issue管理・Actions確認 | 中(PAT設定が必要) | あり |
| supabase | HTTP | OAuth(ブラウザ) | DBクエリ・マイグレーション・ログ確認 | 中(初回ブラウザ認証) | あり |
| cloudflare-bindings | SSE | OAuth(ブラウザ) | Workers・KV・R2・D1の操作 | 高(SSE+OAuth) | あり |
| cloudflare-observability | SSE | OAuth(ブラウザ) | Workersのログ・メトリクス確認 | 高(SSE+OAuth) | あり |
| cloudflare-docs | SSE | なし | Cloudflare公式ドキュメント検索 | 低(設定ゼロ) | あり |
| notion | HTTP | OAuth(ブラウザ) | ContentDB操作・ページ作成 | 中(初回ブラウザ認証) | あり |
| playwright | stdio | なし | ブラウザ自動化・スクレイピング・スクショ | 低(npx自動) | あり(Node必須) |
2026年5月時点で全て無料Tierで運用可能(※プランは予告なく変更される場合があります)。Cloudflareの3つのMCPは公式エンドポイントを使用しており、追加費用は発生しない。
表2: transport方式の完全比較(HTTP / SSE / stdio)
| 方式 | 接続維持 | ストリーミング | レスポンス特性 | 用途例 | ハマりやすさ |
|---|---|---|---|---|---|
| HTTP | なし(ステートレス) | 非対応 | リクエスト完結型 | GitHub・Supabase・Notion | 低 |
| SSE | あり(長時間接続) | 対応 | リアルタイム更新型 | Cloudflare bindings/observability/docs | 中〜高 |
| stdio | プロセス起動中のみ | 対応 | ローカルプロセス経由 | playwright | 低(npx任せ) |
重要な実測値: 7つのMCPを全接続した状態でClaude Codeを起動すると、セッション起動時間が約 3〜5秒増加 する。これはSSEの常時接続確立に起因する。Cloudflareの3 MCPはいずれもSSEのため、接続確立コストが高い。
HTTPは毎リクエストが独立しているためオーバーヘッドが小さい。ステートレスな操作(DBクエリ・PR作成など)に最適だ。SSEはサーバーからのプッシュ通知やストリーミングが必要な場合に使うが、常時接続を維持するためメモリとネットワークを消費する。
表3: よくある設定エラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
| GitHub 401 Unauthorized | Classic PATを使用している | Fine-grained PATに切り替え、repo・pull_requests・actionsスコープを付与 |
| SSE接続タイムアウト(cloudflare) | VPN・企業ファイアウォールがSSEをブロック | VPNをオフにするか、ホワイトリストに *.mcp.cloudflare.com を追加 |
| playwright: command not found | Node.jsのnpxがPATHにない | which npx で確認し、Node 22 LTSを入れ直す |
| OAuthブラウザが開かない | ヘッドレス環境でOAuth認証を試みている | GUIのある環境(ローカルPC)で初回認証を完了させてからトークンを共有する |
| cloudflare-bindings: 403 | Cloudflare Dashboardへのアクセス権限不足 | OAuth認証に使ったアカウントに対象WorkerのEditパーミッションがあるか確認 |
| notion: invalid_token | Notionインテグレーションの承認が未完了 | Notion側のインテグレーション設定ページで「接続済みページ」を設定する |
実際の .mcp.json 全文公開
以下は同様の設定例として使用できる .mcp.json の全体だ。
{
"_comment": "Claude Code 起動時に自動接続する MCP 一覧。GITHUB_PERSONAL_ACCESS_TOKEN は事前に export しておくこと。Supabase/Cloudflare/Notion は OAuth で初回ブラウザ認証",
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
},
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
},
"cloudflare-bindings": {
"type": "sse",
"url": "https://bindings.mcp.cloudflare.com/sse"
},
"cloudflare-observability": {
"type": "sse",
"url": "https://observability.mcp.cloudflare.com/sse"
},
"cloudflare-docs": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse"
},
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
},
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
この設定ファイルをリポジトリルートに .mcp.json として保存するだけで、Claude Codeが次回起動時に全MCPを自動接続する。
各MCPの詳細設定手順と実体験
1. github MCP(HTTP + Fine-grained PAT)
設定のポイント: GITHUB_PERSONAL_ACCESS_TOKEN の環境変数を Claude Code起動前に シェルにexportしておく必要がある。
export GITHUB_PERSONAL_ACCESS_TOKEN="github_pat_xxxx..."
claude # Claude Code を起動
ハマった罠1(実体験): Classic PATでは 401 Unauthorized になる。必ずFine-grained PATを使うこと。
Fine-grained PATの作成手順:
- GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens
- 「Generate new token」をクリック
- Repository access: 対象リポジトリを選択(またはAll repositories)
- Permissions: 最低限
Contents: Read・Pull requests: Read and Write・Actions: Readを付与 - 生成されたトークンを
.bashrcまたは.zshrcに追記
Classic PATとFine-grained PATの違いは権限の粒度だけでなく、MCPの認証方式自体が異なる。GitHub Copilot MCPのエンドポイント(api.githubcopilot.com/mcp/)はFine-grained PATのみを受け付けるよう設計されている。
2. supabase MCP(HTTP + OAuth)
設定のポイント: .mcp.json にはURLしか書かない。認証はOAuth(ブラウザ経由)で行われる。
Claude Code起動時に初回のみブラウザが開き、Supabaseアカウントで認証を求められる。認証後はトークンがキャッシュされるため、2回目以降は自動的に接続される。
ハマった罠4: ヘッドレス環境(GitHub Actions・SSHのみのサーバー)では ブラウザが開かないためOAuth認証ができない。この場合はローカルPCで認証を完了させ、生成されたトークンファイルを環境変数経由で渡す方法が必要になる。
supabase MCPが使えると、Claude Codeが直接SQLを発行できる。例えば「articles テーブルの今日の公開数を確認して」という自然言語の指示だけで、SQLクエリの作成・実行・結果の解釈まで自動で行える。
3. cloudflare MCP 3点セット(SSE + OAuth)
最重要の実体験(ハマった罠1): Cloudflare MCPは「1つのMCP」ではなく、3つの独立したSSEエンドポイント として提供されている。
| エンドポイント | URL | 用途 |
|---|---|---|
| cloudflare-bindings | https://bindings.mcp.cloudflare.com/sse | Workers・KV・R2・D1の作成・編集・削除 |
| cloudflare-observability | https://observability.mcp.cloudflare.com/sse | Workersのリアルタイムログ・メトリクス |
| cloudflare-docs | https://docs.mcp.cloudflare.com/sse | 公式ドキュメント検索(認証不要) |
「Cloudflare MCP」で検索すると1つにまとめて説明している記事が多いが、実際には3つを個別に設定する必要がある。cloudflare-docs だけは認証不要(SSEに接続するだけ)なので最も設定が簡単だ。
ハマった罠3(transport方式の違い): cloudflare-bindings と cloudflare-observability はSSE接続を 常時維持 する。HTTPのgithubやsupabaseとは異なり、接続が切れると再接続が必要になる。長時間作業後にCloudflare MCPが応答しなくなる場合は、Claude Codeを再起動して接続を張り直すと解消する。
4. notion MCP(HTTP + OAuth)
Supabaseと同様にOAuthブラウザ認証が必要。.mcp.json の設定はURLのみ。
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
}
notion MCPが有効になると、Claude Codeがワークスペース内のページを直接読み書きできる。このシステムではContentDB(コンテンツ管理データベース)への記事ステータス更新や週次レポート保存に使っている。
5. playwright MCP(stdio + npx)
ハマった罠5(実体験): type: "stdio" のMCPはローカルプロセスを起動する方式だ。command: "npx" と args: ["-y", "@playwright/mcp@latest"] を指定すると、Claude Code起動時に npx @playwright/mcp@latest が自動実行され、最新版がインストールされる。
前提条件:
- Node.js 22 LTS(
node -vで確認) - pnpm または npm が利用可能
which npxが正常なパスを返す
本記事のサンプル環境(Node 22 + pnpm)でも問題なく動作確認済み。playwright MCPが使えると、Claude Codeがブラウザを操作して「スクリーンショットの撮影」「SPA(シングルページアプリ)のスクレイピング」「フォームへの自動入力」といった操作を直接実行できる。
接続確認: 7つ全部動いているか確認する方法
Claude Codeのセッション内で以下のプロンプトを実行すると、接続済みのMCPツール一覧が表示される。
# Claude Code 内で実行
/mcp
または /tools コマンドでも確認できる。各MCPのツールが一覧に表示されていれば接続成功だ。
接続に失敗しているMCPは一覧に表示されないか、エラーメッセージが表示される。SSEのcloudflareは接続確立に数秒かかるため、起動直後は表示されないことがある。10秒程度待ってから再確認すること。
GEO/LLMO最適化の観点から見たMCPの重要性
AIがWeb検索で情報収集する時代において、LLMに引用されやすいコンテンツを作ることが新たなSEOの重要指標になっている(GEO: Generative Engine Optimization)。
MCPを活用した記事生成システムの構成例:
A1(researcher) → tavily MCP でWeb調査
A2(serp_analyzer)→ playwright MCP でSERP取得
A3(outliner) → gemini でアウトライン生成
A4(writer) → gemini + groq でセクション並列生成
A5(fact_checker)→ jina reader でソース確認
A6(originality) → cloudflare AI で一次情報比率判定
A7(geo_optimizer)→ 比較表・FAQ・断言文の最適化
A8(editor) → 最終品質チェック
このパイプラインで生成された記事は、一次情報比率(first_party_ratio)が0.40以上、SERP類似度(max_serp_similarity)が0.70以下を目標値としている。MCPが接続されていることで、各エージェントが必要なデータを自律的に取得できる。
アフィリエイト活用・料金プランとの組み合わせ
Claude Pro / Max のMCP制限について
無料プランでもMCPは利用可能だが、1日のAPI呼び出し数に制限がある。MCPツールの呼び出しはClaudeの入出力トークンを消費するため、複雑なワークフロー(7 MCP全接続 + 複数エージェント)を日常的に使う場合は Claude Pro(月額$20) または Claude Max(月額$100) を検討する価値がある。
特に playwright と cloudflare-bindings はレスポンスが大きく、1回の操作で数千トークンを消費することがある。無料プランのレート制限に頻繁に引っかかる場合は有料プランへの切り替えが現実的な解決策だ。
Cloudflare Workers との連携
cloudflare-bindings MCPがあると、Claude CodeがWorkers・KV・R2を直接操作できる。個人開発では Cloudflare Pages(無料Tier: 500ビルド/月)と組み合わせることで、コスト月1,000円以内でコンテンツの自動デプロイシステムを構築できる。
FAQ
Q1: MCPサーバーは何個まで繋げられますか?
技術的な上限はない。ただし、SSE型のMCPが増えるほど起動時間が伸び、メモリ消費が増える。実測では7つ全接続で起動時間が約3〜5秒増加した。実用的には5〜10個程度が快適に使える目安だ。
Q2: MCPとAPIキーの違いは何ですか?
APIキーは認証情報(パスワードの代わり)であり、MCPはプロトコル(通信方式)だ。MCP経由でも認証にAPIキー(PATなど)を使う場合がある。MCPの本質は「LLMが標準化されたインターフェースでツールを呼び出せる仕組み」であり、APIキーとは概念が異なる。
Q3: Fine-grained PATの作り方を教えてください
- GitHubにログイン → Settings(右上のアバター)をクリック
- 左サイドバー最下部「Developer settings」をクリック
- 「Personal access tokens」→「Fine-grained tokens」を選択
- 「Generate new token」ボタンをクリック
- Token name・Expiration・Repository accessを設定
- Permissions で必要な権限を選択(Contents: Read、Pull requests: Write、Actions: Read など)
- 「Generate token」をクリックしてトークンをコピー(一度しか表示されない)
Q4: SSE transportを使うとメモリが増えますか?
増える。SSEは長時間接続を維持するため、接続1本あたり数MB程度のメモリを常時消費する。cloudflare-bindings・cloudflare-observability・cloudflare-docsの3つはいずれもSSEなので、合計で10MB前後の追加メモリ消費が発生する。開発用PCでは問題にならないが、メモリが少ないVMやコンテナでは注意が必要だ。
Q5: Claude CodeなしでもプログラムからMCPサーバーを接続できますか?
MCPはオープンプロトコルなので、Claude Code以外のクライアントからも利用できる。Cursor・Continue.dev・Zed などのMCP対応エディタでも同様の設定ファイルで接続できる。ただし、.mcp.json のフォーマットはClaude Code専用のため、他のクライアントでは別のフォーマットが必要な場合がある。
Q6: 無料で使えるMCPサーバーはどれですか?
本記事で紹介した7つ全てが無料Tierで利用可能だ。特にcloudflare-docs(認証不要)とplaywright(Node.jsがあれば追加費用ゼロ)は最も手軽に始められる。supabase・notion・cloudflare-bindings/observabilityはOAuth認証が必要だが、サービス自体の無料Tierを使っている限り追加費用は発生しない。
Q7: MCPとFunction Calling(ツール呼び出し)はどう違いますか?
Function Callingはモデルが直接定義された関数を呼び出す仕組みだ。MCPはその標準化されたラッパーであり、サーバー(MCP Server)とクライアント(Claude Code)の間の通信プロトコルを規定している。Function Callingで各ツールをバラバラに実装する代わりに、MCPを使うことで一貫したインターフェースで複数ツールを管理できる。
まとめ: MCPを段階的に増やすロードマップ
MCPは一度に全部設定しようとするとトラブルが重なりやすい。以下の順序で段階的に追加することを推奨する。
フェーズ1(初日): cloudflare-docs のみ
- 認証不要・SSE接続のみ
- 失敗しても再起動で解決する
フェーズ2(2日目): github を追加
- Fine-grained PATを事前に準備
- シェルへのexportを忘れずに
フェーズ3(1週間後): supabase + notion を追加
- OAuth認証をGUIのある環境で実施
- ヘッドレス環境ではトークンの事前取得が必要
フェーズ4(安定後): cloudflare-bindings + cloudflare-observability + playwright を追加
- SSEの常時接続によるメモリ増加を許容できるか確認
- playwrightはnpxが正しく動くか事前確認
この順序で進めることで、設定の問題を1つずつ切り分けながら全7つのMCPを接続できる。
MCPを使いこなすことで、Claude Codeは単なるコード補完ツールから「自律的に外部サービスを操作するエージェント」に変わる。記事生成・デプロイ・データ分析・バグ修正まで、一連のワークフローをほぼ自動化できる段階に来ている。
本記事はAI支援ツールを使って作成されています。記載内容は2026年5月時点の情報です。MCPの仕様・エンドポイントは予告なく変更される場合があります。