Dance with Agents

MCPとは何か――エージェントに道具を持たせる、共通の差し込み口

実践

自分の資料で、専門特化のエージェントを作るで、MCP(Model Context Protocol)に軽く触れました。「エージェントに道具を持たせる、共通の差し込み口」という話です。この記事は、そこだけを掘り下げます。

おさらい:USB-Cのようなもの

公式ドキュメントの説明はこうです。

“MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems.”

(MCPとは、AIアプリケーションを外部のシステムに接続するためのオープンソースの標準規格である)

“Think of MCP like a USB-C port for AI applications.”

(MCPは、AIアプリケーションにとってのUSB-Cポートのようなものだと考えてほしい)

規格が共通なので、道具を作る側は1回作ればいろいろなエージェントから使ってもらえます。 逆に使う側も、エージェントを乗り換えても同じ道具をつなぎ直せます。

つながる先は、3種類に整理できる

公式は、MCPでできることをこう説明しています。

“AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g. specialized prompts)”

(ClaudeやChatGPTのようなAIアプリケーションは、データソース(ローカルのファイル、データベースなど)、ツール(検索エンジン、電卓など)、ワークフロー(専用のプロンプトなど)につながることができる)

  • データソース — 読みに行く先。ファイル、データベース、社内のドキュメントなど
  • ツール — 実行できる機能。検索、計算、外部サービスの操作など
  • ワークフロー — 定型の手順。「この形式でレポートを作る」のような、繰り返し使う指示のひな型

「読む」「実行する」「決まった手順を呼び出す」の3つが、MCPで繋がる相手の正体、とざっくり捉えておけば十分です。

Claude Codeでの使い方

Claude Codeでは、/mcpコマンドで接続中のサーバーを確認したり、有効・無効を切り替えたりできます。サーバーの追加は、ターミナルからclaude mcp addで行います。

# リモートのMCPサーバーをつなぐ例(Notion)
claude mcp add --transport http notion https://mcp.notion.com/mcp

公式ドキュメントによると、繋いだ先は例えばこんな使い方ができます。

  • 「JIRAのENG-4521に書かれている機能を実装して、GitHubにPRを作って」
  • 「SentryとStatsigを見て、この機能の利用状況を確認して」
  • 「新しいFigmaのデザインに合わせて、メールテンプレートを更新して」

チャットに情報をコピペしている作業があれば、それがMCPサーバーをつなぐ合図だと公式は書いています。コピペの代わりに、エージェントが向こう側を直接読みに行けるようになるからです。

自分で1から作らなくても、Anthropic Directoryにレビュー済みのサーバーが並んでいて、そこから選んでclaude mcp addするだけで使えます。すでに動いているサーバーを流用する形なので、コネクタ経由でGmailやGoogleドライブとつながる仕組みも、公式いわく「Claude Codeと同じMCPの基盤」の上にあります。

ChatGPTも、実は同じ規格の上にいる

MCPは、Anthropicだけのものではありません。公式サイトのトップに、こう明記されています。

“AI assistants like Claude and ChatGPT … all support MCP”

(ClaudeやChatGPTのようなAIアシスタントは……すべてMCPに対応している)

コードを書かずに任せるエージェントで触れた、ChatGPTの中でCanvaやSpotifyなどのアプリが動く仕組み(Apps SDK)も、OpenAI公式ヘルプによればMCPを土台に拡張したものです。

「MCP=Claude Code用の設定ファイル」ではなく、業界全体が乗っている土管のようなもの、と捉えておくと実態に近くなります。VS CodeやCursorのような開発ツールも対応している、とMCP公式に並んでいます。

気をつけたいこと:つないだ相手を信頼できるか

便利な分、注意も要ります。Claude Code公式のセキュリティページには、こうはっきり書かれています。

“We encourage either writing your own MCP servers or using MCP servers from providers that you trust. … Anthropic reviews connectors against its listing criteria before adding them to the Anthropic Directory, but does not security-audit or manage any MCP server.”

(自分でMCPサーバーを書くか、信頼できる提供元のMCPサーバーを使うことをすすめる。……AnthropicはAnthropic Directoryに加える前に掲載基準に沿ってレビューするが、個々のMCPサーバーをセキュリティ監査したり管理したりはしていない)

「公式のディレクトリに載っている」は、「安全性まで保証されている」とは違う、ということです。

もう1つ、同じページに具体的な警告があります。

“Verify you trust each server before connecting it. Servers that fetch external content can expose you to prompt injection risk.”

(サーバーをつなぐ前に、信頼できるか確認すること。外部のコンテンツを取得するサーバーは、プロンプトインジェクションのリスクにさらす可能性がある)

外部から取り込んだ文章の中に、エージェントへの指示のようなものが紛れ込んでいて、意図しない動きをしてしまう——という話です。実際に管理人も、MCPの設定を確認させようとしてAPIキーが画面にそのまま表示されてしまったことがあります。

対策はシンプルです。

現実的な始め方

専門特化のエージェントを作るの締めと同じ結論になります。いきなり自分でMCPサーバーを書く必要はありません。

  1. まずは、コピペで済ませる。量が少ないうちはこれで十分です
  2. コピペが繰り返しの作業になってきたら、Anthropic Directoryに同じ用途のサーバーがないか探す
  3. 独自の社内システムなど、既製品がない場合だけ、自作を検討する(Claude Codeには、雛形を作ってくれる公式プラグインもあります)

繰り返す作業だけを、道具として固める。 ここでも、このサイトが繰り返している「必要になってから次の段へ」がそのまま当てはまります。

まとめ

  • MCPは、AIエージェントを外部システムにつなぐための共通規格。公式いわく「AIアプリケーションにとってのUSB-C」
  • つながる先は、データソース・ツール・ワークフローの3種類に整理できる
  • Claude Codeではclaude mcp addで追加し、/mcpで管理する
  • ClaudeもChatGPTも、同じMCPという規格の上で動いている。 Apps SDKもMCPの拡張
  • 便利さと引き換えに、信頼できない提供元のサーバーはプロンプトインジェクションのリスクになる。ディレクトリ掲載は安全性の保証ではない
  • 始め方は、コピペ→繰り返しに気づいたら既製のサーバーを探す→無ければ自作、の順

LLM / エージェントの記事

LLM / エージェントのページへ →