AICLI CHEATS ● 基礎知識 03 · MCP(Model Context Protocol)とは 最終更新 2026.05.17
03
基礎知識 / FUNDAMENTALS

MCP(Model Context Protocol)とは


AI エージェントに外部ツール・データソースを接続するための標準プロトコル。何ができて、何が怖くて、各CLIでどう設定するか。

公開 2026.05.17

MCP(Model Context Protocol)は Anthropic が 2024 年末に公開した、AI エージェントと外部ツール・データソースを繋ぐためのプロトコル。Claude Code、Codex CLI、Gemini CLI、Copilot CLI など主要な AI CLI が軒並み対応している。

ざっくり言うと「USB-C のような共通端子」。MCP サーバさえあれば、どの AI CLI からも同じツール・データソースを使える。


なぜ MCP が必要だったか

AI エージェントを実用にするには、モデル単体ではできないことを増やす必要がある。

  • ファイルシステムへの読み書き
  • データベースへのクエリ
  • API 呼び出し(Slack、GitHub、Notion など)
  • 社内のドキュメント検索

これを各 AI ツールが独自に実装すると、ユーザー側は「Claude Code 用の Slack 連携」「Codex 用の Slack 連携」「Gemini 用の Slack 連携」と別々に管理することになる。MCP はそのインターフェースを共通化した。


MCP の構成

3層に分かれている。

  • MCP ホスト — AI エージェント本体(Claude Code、Codex など)
  • MCP クライアント — ホストに組み込まれていて、サーバと通信する
  • MCP サーバ — 実際にツールやデータを提供する小さなプロセス

ホストが MCP サーバに「Slack の最近のメッセージ一覧を返して」とリクエストすると、サーバが Slack API を呼んで結果を返す。AI からは「Slack を読む」というツールが一つ生えたように見える。


MCP サーバには何がある

公式・コミュニティ製のサーバが多数公開されている。よく使うもの:

  • @modelcontextprotocol/server-filesystem — ローカルファイル操作
  • @modelcontextprotocol/server-github — GitHub Issues / PR
  • @modelcontextprotocol/server-slack — Slack 連携
  • @modelcontextprotocol/server-postgres — PostgreSQL クエリ
  • @modelcontextprotocol/server-brave-search — Web 検索

公式サーバ一覧 を見ると、何が標準で揃っているか把握しやすい。


各 CLI での設定方法

Claude Code

~/.claude/settings.json または プロジェクトの .claude/settings.json に書く。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}

Codex CLI

~/.codex/config.toml に書く。

[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]

Gemini CLI

~/.gemini/settings.json または プロジェクトの .gemini/settings.json に書く。フォーマットは Claude Code とほぼ同じ。

GitHub Copilot CLI

公式ドキュメントの MCP 設定セクションを参照。CLI 側で個人のサーバ追加は可能だが、組織レベルの MCP ポリシーは現時点で Web 側で管理する仕様。


MCP の怖いところ

MCP サーバは AI からの呼び出しを受けて実際に動くプロセス。つまり「AI が触れる範囲 = MCP サーバが触れる範囲」。これを甘く見ると事故になる。

具体的なリスク:

  • 過剰な権限付与@modelcontextprotocol/server-filesystem/ を渡すと、AI からシステム全体が見える
  • 認証情報の露出 — 多くの MCP サーバは環境変数で API キーを受け取る。設定ファイルに直書きしないこと
  • 意図しないコマンド実行 — シェル系の MCP サーバを入れると、AI が任意コマンドを実行できるようになる
  • データの外部送信 — クラウド連携系の MCP サーバは、ローカルデータを外部 API に送る経路を作る

新しい MCP サーバを足すときは:

  1. ソースコードか挙動の説明を読む
  2. アクセススコープを最小に絞る(パスを限定、読み取り専用モードがあれば使う)
  3. 機密情報を含むディレクトリを参照させない

いつ MCP を使うべきか

逆に言うと、いつ使わなくていいか。

MCP が要らない場合:

  • 単発の質問・コード生成だけ
  • 同じディレクトリ内のファイル編集だけ(標準のファイル操作で足りる)
  • Web 検索が単発で済む(モデルの組み込み検索で足りる)

MCP が効く場合:

  • 同じ外部システム(Slack、GitHub、社内 DB)に何度もアクセスする
  • 複数の AI CLI で同じ連携を使いたい(設定の使い回しが楽)
  • カスタムのデータソースを AI に見せたい(社内ドキュメント、独自 API など)

「とりあえず全部の MCP サーバを入れる」は推奨しない。必要になったとき、必要なものだけ足す。


関連記事