Claude Codeはファイル操作やコマンド実行だけでなく、GitHub、データベース、Slack、Sentryなど外部のツールやサービスとも連携できることをご存知ですか?

それを実現するのが「MCP(Model Context Protocol)」です。MCPサーバーを接続するだけで、Claudeが外部ツールをまるで自分の手足のように使えるようになります。

リア(平常)
リア

今日はMCPサーバーについて解説するよ! …って、MCPってなんの略?

メカ(通常)
メカ

Model Context Protocolの略です。Anthropicが策定したオープンな標準規格で、AIモデルと外部ツールを安全に接続するためのプロトコルです。

リア(軽い思考)
リア

う〜ん、もうちょっと簡単に言うと…?

メカ(考え中)
メカ

USBのようなものです。USBは「パソコンにどんな機器でも接続できる共通規格」ですが、MCPは「AIにどんなツールでも接続できる共通規格」です。

リア(ひらめき)
リア

あ、それ分かりやすい! GitHubとかデータベースとかを「USBで挿す」みたいに繋げるんだね!

メカ(承認)
メカ

そしてClaude Codeだけでなく、ChatGPT、Gemini、Cursor、Windsurf等もMCPに対応しています。一度MCPサーバーを作れば、どのAIクライアントからでも使えます。

MCPの仕組み

MCPのアーキテクチャ図

MCPの基本構造はシンプルです。「MCPクライアント」(Claude Code)が「MCPサーバー」(各種ツール)に接続し、サーバーが提供する「ツール」をClaudeが呼び出します。

┌─────────────┐     MCP Protocol      ┌─────────────┐
│ Claude Code │ ◄──────────────────► │ MCPサーバー  │
│ (クライアント) │                      │ (GitHub等)   │
└─────────────┘                      └──────┬──────┘
                                            │
                                     ┌──────▼──────┐
                                     │  外部サービス │
                                     │ (API/DB等)   │
                                     └─────────────┘

MCPサーバーは3つの機能を提供できます。

🤖 メカメモ

MCPの通信方式は3種類:

HTTP(推奨): クラウドAPI・SaaS向け。GitHubやSentryなどリモートサーバーに最適。

Stdio(ローカル向け): ローカルツール・npmパッケージ向け。プロセス間通信で高速。

SSE(非推奨): Server-Sent Events方式。2026年に非推奨化。新規利用は避けてください。

MCPサーバーの追加方法

MCPサーバーの設定方法

MCPサーバーの追加はCLIコマンド一発です。

HTTPサーバーの追加(クラウドサービス向け)

# GitHub MCPサーバーを追加
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# Sentry(エラー監視)を追加
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# 認証ヘッダー付きで追加
claude mcp add --transport http stripe https://mcp.stripe.com/mcp \
  --header "Authorization: Bearer $STRIPE_API_KEY"
リア(軽い驚き)
リア

えっ、コマンド一行で追加できるの? もっと大変かと思った!

メカ(通常)
メカ

認証はOAuth対応のサーバーなら/mcpコマンドからブラウザ経由で認証できます。APIキーが必要な場合は--headerで渡します。

Stdioサーバーの追加(ローカルツール向け)

# PostgreSQLデータベース接続
claude mcp add --transport stdio db \
  --env DATABASE_URL="postgresql://user:pass@localhost/mydb" \
  -- npx -y @bytebase/dbhub

# Puppeteer(ブラウザ自動操作)
claude mcp add --transport stdio browser \
  -- npx -y @modelcontextprotocol/server-puppeteer

# カスタムPythonサーバー
claude mcp add --transport stdio custom \
  -- python /path/to/my-server.py
リア(好奇の目)
リア

npx -yで直接パッケージを実行してるんだね。データベースにも繋がるの、すごいなぁ。

🤖 メカメモ

CLIフラグの注意点:

全てのフラグ(--transport, --env, --scope, --header)はサーバー名のに書く必要があります。--(ダブルダッシュ)の後にコマンドを記述します。

Windows環境ではnpxの前にcmd /cが必要な場合があります: -- cmd /c npx -y @some/package

設定ファイルに直接記述する方法

CLIの代わりに、設定ファイルに直接JSONを記述することもできます。

// .mcp.json(プロジェクトルートに配置、チームで共有可能)
{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    },
    "database": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@bytebase/dbhub"],
      "env": {
        "DATABASE_URL": "${DB_URL}"
      }
    }
  }
}
リア(深い思考)
リア

${DB_URL}って書いてあるけど、これ環境変数が展開されるの?

メカ(感心)
メカ

よく気づきました。${VAR}で環境変数を展開できます。${VAR:-default}でデフォルト値も指定できます。APIキーやパスワードをファイルに直書きせず、環境変数経由で安全に渡せる仕組みです。

設定ファイルの場所と優先順位

設定スコープの優先順位

MCP設定は4つのレベルで管理されます。

# マネージド設定(企業管理、最高優先度)
/etc/claude-code/managed-mcp.json          # Linux
C:\Program Files\ClaudeCode\managed-mcp.json  # Windows

# プロジェクト設定(チーム共有、gitコミット可能)
.mcp.json

# ユーザー設定(個人用、全プロジェクト共通)
~/.claude.json

# ローカル設定(個人用、プロジェクト固有)
~/.claude.json 内のプロジェクト別セクション
リア(首かしげ)
リア

4つもあるの? フックの時も3つあったし…どれに書くのがいいんだろう?

メカ(自信)
メカ

判断基準は明確です。チームで共有するなら.mcp.json。自分だけが使うサーバーは~/.claude.json。プロジェクト固有で個人的なものはローカル設定。企業ポリシーは管理者が設定します。

🤖 メカメモ

設定スコープの使い分け:

プロジェクト(.mcp.json: チーム全員が使うサーバー。初回実行時にユーザー承認が必要。

ユーザー(~/.claude.json: どのプロジェクトでも使いたいサーバー。自動実行。

スコープ指定: claude mcp add --scope user または --scope project でCLIから指定可能。

人気のMCPサーバー

MCPエコシステムの全体像

2026年4月現在、5,000を超えるコミュニティMCPサーバーが公開されています。ここでは特に有用なサーバーを紹介します。

開発ツール系

# GitHub — PR、イシュー、コードレビュー
claude mcp add --transport http github \
  https://api.githubcopilot.com/mcp/

# Sentry — エラー監視、スタックトレース分析
claude mcp add --transport http sentry \
  https://mcp.sentry.dev/mcp
リア(キラキラ)
リア

GitHubのMCPサーバーを入れたら、「PR #123をレビューして」って言うだけでClaudeがコードレビューしてくれるの?

メカ(承認)
メカ

はい。PRの差分取得、コメント投稿、イシュー作成まで自然言語で指示できます。ghコマンドの代わりに、より直感的なインターフェースとして使えます。

データベース系

# PostgreSQL / MySQL — データベースクエリ、スキーマ確認
claude mcp add --transport stdio db \
  --env DATABASE_URL="postgresql://user:pass@localhost/mydb" \
  -- npx -y @bytebase/dbhub

データベースMCPサーバーを使えば、「先月の売上トップ10の商品を教えて」といった自然言語でSQLクエリを実行できます。読み取り専用のアカウントで接続すれば安全です。

ブラウザ自動操作

# Puppeteer — ブラウザ操作、スクリーンショット
claude mcp add --transport stdio browser \
  -- npx -y @modelcontextprotocol/server-puppeteer

コミュニケーション系

# Notion — データベース、ページ管理
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Slack — チャンネル参照、メッセージ送信
# (Slackの公式MCPエンドポイントは問い合わせが必要)
リア(感嘆)
リア

5,000以上もサーバーがあるの!? もうほとんどの外部サービスと繋がれるじゃん!

メカ(通常)
メカ

MCPサーバーの一覧は公式リポジトリで確認できます。自作も可能です。

MCPサーバーの管理

MCPサーバーの管理コマンド

MCPサーバーの日常的な管理に使うコマンドを紹介します。

# サーバー一覧の確認
claude mcp list

# 特定サーバーの詳細
claude mcp get github

# サーバーの削除
claude mcp remove github

# Claude Desktopから設定をインポート
claude mcp add-from-claude-desktop

# JSON形式で直接追加
claude mcp add-json myserver '{"type":"http","url":"https://api.example.com/mcp"}'

# プロジェクトのMCP承認をリセット
claude mcp reset-project-choices

/mcp コマンド

Claude Codeのセッション内で/mcpと入力すると、接続中のMCPサーバーの管理画面が開きます。

# Claude Codeのプロンプトで
> /mcp

ここから以下の操作ができます。

リア(笑顔)
リア

/mcpで全部管理できるんだ! CLIコマンドを覚えなくても、ここからポチポチ操作できるね。

MCPツールサーチ — コンテキストの節約術

MCPサーバーを複数接続すると、全てのツール定義がClaudeのコンテキストを消費します。50以上のツールで約77,000トークンにもなることがあります。

この問題を解決するのが「ツールサーチ」です。2026年からデフォルトで有効になっています。

リア(軽い困惑)
リア

ツールサーチって何するの?

メカ(考え中)
メカ

セッション開始時に全ツールを読み込む代わりに、Claudeが必要なツールだけをその場で検索・読み込みます。77,000トークン→約8,700トークンまで削減。コンテキストの95%を節約します。

リア(驚き)
リア

95%削減!? それはすごい…! MCPサーバーたくさん入れても安心だね。

🤖 メカメモ

ツールサーチの制御:

デフォルト有効。無効にするには環境変数ENABLE_TOOL_SEARCH=falseを設定。

settings.jsonでも設定可能: {"env": {"ENABLE_TOOL_SEARCH": "false"}}

注意: Sonnet 4以上またはOpus 4以上のモデルが必要。Haikuは非対応。

セキュリティの注意点

MCPのセキュリティ対策

MCPサーバーは外部との通信を行うため、セキュリティは特に重要です。

リア(真剣)
リア

外部と通信するってことは、セキュリティリスクもあるよね? どんなことに気をつければいいの?

メカ(通常)
メカ

過去にはMCPの設定ファイル(.mcp.json)を悪用した脆弱性も報告されています。信頼できるサーバーのみを使用し、以下のルールを守ってください。

守るべきルール

パーミッションによるアクセス制御

settings.jsonでMCPツールの使用を許可・拒否できます。

// .claude/settings.json
{
  "permissions": {
    "allow": [
      "MCP(github *)",
      "MCP(sentry *)"
    ],
    "deny": [
      "MCP(curl *)",
      "MCP(fetch external-api.com)"
    ]
  }
}
メカ(自信)
メカ

allowで許可したツールは自動実行されます。denyで拒否したツールはClaudeから呼び出せなくなります。ホワイトリスト方式で必要最小限のアクセス権を与えるのが理想です。

MCP・Hooks・Skillsの使い分け

Claude Codeには拡張機能が3つあります。それぞれの役割を整理しましょう。

リア(う〜ん)
リア

MCP、Hooks、Skills…3つもあると混乱しそう。どう使い分ければいいの?

メカ(通常)
メカ

一言で表すなら: MCPは「外部接続」、Hooksは「自動処理」、Skillsは「専門知識」です。

🤖 メカメモ

3つの拡張機能の比較:

MCP: 外部サービスとの接続。GitHub、DB、Slack等を操作。設定は.mcp.json

Hooks: イベント駆動の自動処理。ファイル保存後のlint、危険コマンドのブロック等。設定はsettings.json

Skills: 再利用可能な専門知識。デプロイ手順、コーディング規約等。SKILL.mdに記述。

これらは排他的ではなく、組み合わせて使うことで最大の効果を発揮します。

リア(ひらめき)
リア

なるほど! たとえばMCPでGitHubと繋いで、Hooksでコミット前にテストを走らせて、Skillsにレビューのルールを書いておく…みたいな組み合わせ!

メカ(感心)
メカ

…完璧な例です。3つを適切に組み合わせることで、Claude Codeは単なるコーディング支援から、開発ワークフロー全体の自動化エンジンへと進化します。

リア(ドヤ顔)
リア

ふふん、今日は冴えてるでしょ?

メカ(無表情)
メカ

…MCPの綴りを「Model Control Protocol」と3回言い間違えていた件は不問にしましょう。

リア(ぷくっ頬)
リア

ContextだよContextっ! ちゃんと覚えてたもん!

まとめ

MCPの全体像まとめ

MCPサーバーは、Claude Codeを「閉じたコーディングツール」から「あらゆるサービスと連携する自動化ハブ」へと変える強力な仕組みです。

まずはclaude mcp add --transport http github https://api.githubcopilot.com/mcp/でGitHub MCPを試してみてください。「こんなことまでClaude Codeでできるのか」という新しい体験が待っています。

リア(お疲れ)
リア

今日はここまで! MCPで外部サービスと繋がれるようになると、もう手作業に戻れなくなるかも…!

メカ(通常)
メカ

お疲れさまでした。MCPは日々進化しています。新しいサーバーが追加されるたびに、Claude Codeの可能性が広がります。定期的にエコシステムをチェックすることを推奨します。

リア(至福)
リア

それじゃ、また次の記事で会おうね! ばいばい〜!