この記事の要約
MCPはAIアプリケーションを外部ツールやデータソースにつなぐオープン標準です。本記事では、MCPの基本構造と、remote server 利用時に確認したい認証・承認・入力検証・監査のポイントを、公式ドキュメントベースで整理します。
MCP(Model Context Protocol)は、AIアプリケーションを外部ツールやデータソースにつなぐためのオープン標準です。公式ドキュメントでは、AIアプリケーション向けの「USB-C」にたとえられています。
標準化そのものは便利ですが、MCPを導入するとモデルはファイル、API、SaaS、社内データなどへ到達できるようになります。つまり、問題は「MCPが危険かどうか」ではなく、どのサーバーを信頼し、どこで承認し、どのデータを渡すかを設計できているかです。
この記事の前提
| 項目 | 内容 |
|---|---|
| プロトコル名 | MCP(Model Context Protocol) |
| 位置づけ | AIアプリケーションと外部システムを接続するオープン標準 |
| 主な登場人物 | Host / Client / Server |
| 主なプリミティブ | Tools / Resources / Prompts |
| 代表的な transport | stdio、Streamable HTTP |
MCPが解こうとしているのは、AIアプリごと・ツールごとに個別統合が増えていく問題です。モデルごとに独自の API 連携を作るより、共通のプロトコルを挟んだ方が、接続方法と権限の考え方をそろえやすくなります。
公式 docs では、MCP は AI アプリケーションがデータソース、ツール、ワークフローに接続するための標準インターフェースとして説明されています。Claude や ChatGPT のような AI アプリ側が client を持ち、外部システム側が server を公開する、という整理です。
MCPの基本構造はシンプルです。
| コンポーネント | 役割 | 具体例 |
|---|---|---|
| MCP host | ユーザーが操作するアプリケーション | Claude Desktop、Claude Code、VS Code など |
| MCP client | host 内で server との接続を処理する層 | SDK や host 内蔵クライアント |
| MCP server | ツール・データ・プロンプトを公開する層 | ファイル操作、社内 API、SaaS 連携など |
MCP server は主に次の 3 つを公開できます。
MCPプロトコルの基本イメージ — 個別統合を共通インターフェースに寄せるMCPは transport として stdio と HTTP 系の接続を取れます。ここが security 設計の分岐点です。
stdio で接続するlocal は OS 権限やローカルファイル境界が重要になり、remote は認証、トークン管理、送信データ、接続先の信頼性が重要になります。MCP を評価するときは、まず「どちらの接続形態なのか」を切り分けるべきです。
MCPが注目される理由は、派手な数値よりも次の 3 点にあります。
1. 接続モデルがそろう
host / client / server の責務が整理されるので、AI アプリごとに毎回インテグレーションを作り直す負担を減らせます。
2. tools と data access を同じ枠組みで扱える
「何を実行できるか」と「何を参照できるか」を同じ protocol で扱えるため、レビュー対象をそろえやすくなります。
3. major product surfaces が MCP を前提にしたガイドを出し始めている
公式の MCP docs は Claude や ChatGPT を例に挙げており、OpenAI も remote MCP / connectors の公式ガイドを公開しています。つまり、MCP は概念説明だけでなく、実運用の導線に入り始めています。
MCPの risk は、単一の CVE 件数よりも、モデルにどの権限をどの UI で渡すかという trust boundary の設計に集約されます。公式仕様と公式ガイドから、実装者が押さえるべき論点を 4 つに整理します。
MCP の tools はモデルが discovery し、文脈に応じて呼び出せる設計です。仕様では、sensitive な操作に対して human-in-the-loop を置き、user が deny できることを強く推奨しています。
実装時にまず確認したいのは次の点です。
remote server を追加する行為は、単なる plugin install ではなく、モデルに新しい実行面を渡すことだと考えた方が安全です。
MCP の authorization は OAuth 2.x 系の考え方で整理されており、remote server では user ごとの認証・認可が必要になる場面があります。特に、SaaS データや社内 API に触る server では、接続できるだけでなく、誰として何を実行したのかを追える状態が必要です。
確認項目は次の通りです。
「接続できる」ことより、「接続後の権限境界を説明できる」ことを優先してください。
MCP の仕様では、tool annotations や metadata を trusted server 由来でない限り信用すべきでないと明記されています。つまり、tool description や tool result 自体が attack surface になります。
注意点は次の通りです。
MCP の prompt injection 対策は、「プロンプトを頑張って書く」より、どの入力を untrusted data と見なすかを決める方が重要です。
OpenAI の MCP / connectors ガイドでも、remote MCP server は third-party system との接続であり、そこへデータが送られる前提で設計すべきことが示されています。社内文書、顧客情報、ソースコードを扱う場合は、server 側の retention policy や telemetry を確認しないまま接続してはいけません。
最低限、次を確認してください。
MCP と A2A は、置き換え関係よりも役割分担で考えると整理しやすくなります。Google の公式説明でも、A2A は agent 同士の discovery / communication / coordination を扱う protocol とされています。
| 比較項目 | MCP | A2A |
|---|---|---|
| 主な接続対象 | AI アプリケーション ↔ ツール / データ | エージェント ↔ エージェント |
| 向いている用途 | tool 利用、resource 参照、prompt 再利用 | タスク委譲、協調処理、agent 間通信 |
| 主な論点 | permissions、approval、tool safety | delegation、state、message contract |
| 典型例 | エージェントが GitHub / DB / 社内 API を使う | 役割の違うエージェント同士が協調する |
単一 agent がツールを触るだけなら、まず MCP の設計を固めれば十分です。複数 agent の分業や委譲を扱う段階で、A2A のような protocol を追加検討するとよい、という順番になります。
MCPセキュリティ対策の優先度イメージ✅ server の運営元と配布元を確認する
✅ 必要な tools だけを有効にする
✅ destructive な操作には approval を挟む
✅ user に tool input / output を見せる導線を持つ
✅ remote server では user identity と権限境界を明確にする
✅ token の保存場所と rotation 方針を決める
✅ tool ごとの access control を実装する
✅ 共有 credential 前提の運用を避ける
✅ shell / file path / URL を個別に validate する
✅ tool metadata をそのまま信用しない
✅ prompt injection を想定して確認 UI を設ける
✅ tool result を model に返す前に制限する
✅ tool 呼び出しログと権限変更ログを残す
✅ 依存パッケージと server 実装を定期レビューする
✅ 送信データの範囲を社内ポリシーと照合する
✅ incident response と credential revoke 手順を用意する
通常の API 連携はアプリごとに個別実装しがちですが、MCP は AI アプリから見た接続モデルを標準化します。tools / resources / prompts を同じ枠組みで扱えるため、接続と権限の考え方をそろえやすいのが違いです。
検証段階では local から始める方が扱いやすいです。remote は認証、ネットワーク到達性、token、データ保持、第三者運営 server の審査が増えるため、本番導入のレビュー項目が一気に増えます。
常に必須ではありません。ですが、remote server が user ごとのデータや実行権限を扱うなら、認証・認可の設計は必須です。重要なのは方式名よりも、「誰が」「何を」「どの範囲で」実行できるかを説明できることです。
単一 agent が外部ツールを使う段階では、まず MCP のみで十分なことが多いです。複数 agent の委譲や協調を設計し始めたら、A2A のような agent 間 protocol を追加検討してください。
信頼できる配布元かを確認し、公開 tools と必要権限をレビューし、approval UI とログを有効にしてください。便利そうな server をそのまま足すのではなく、新しい実行権限を追加しているという前提で審査するべきです。
本記事はネクサフローのAIテクノロジーシリーズの一部です。
この記事の著者

代表取締役
早稲田大学卒業後、ソフトバンク株式会社にてAI活用やCEO直下案件のプロジェクトマネージャーに従事。その後、不動産スタートアップPit in株式会社の創業、他スタートアップでの業務改善・データ活用を経験後、2023年10月、株式会社ネクサフローを創業し代表取締役CEO就任。
次に読む

ABMが静的なターゲットリストで止まる理由を整理し、インテントデータ、データエンリッチメント、Data Waterfall、Signal-based sellingを組み合わせて営業とマーケの動きを設計するための読み筋をまとめる。

CPC¥10,403——顧問営業はなぜこれほど高単価なのか。LinkedIn不在・信頼文化という日本固有の構造を解明し、データで的を絞り、顧問で接点を作る「ハイブリッドGTM」の設計方法を解説する。

GTM Alpha(GTMアルファ)とは、競合が持たないデータを活用し、競合ができない施策を実行することで得られる営業上の競争優位性である。金融用語のα(超過リターン)から転用されたこの概念を、GTMの3法則・日本市場のデータソース・実装ロードマップとともに解説する。