1. MCPの概要 — AIエージェントと外部サービスをつなぐ標準規格
MCP(Model Context Protocol)は、AIエージェントと外部サービス(SaaS、データベース、ファイルシステムなど)を標準化された方法で接続するためのオープンプロトコルです。
MCPは「AIエージェントのためのUSB-C」 — 異なるサービスに対して、1つの統一された接続方法を提供する標準規格です。
MCPの主要な経緯:
- 2024年11月 — AnthropicがオープンソースプロトコルとしてMCP(Model Context Protocol)を発表。Claude DesktopがMCPの初のHostとなる。
- 2025年3月 — OpenAIがChatGPTとAgents SDKでMCPサポートを発表。事実上の業界標準化が加速。
- 2025年12月 — MCPの管理がLinux Foundation傘下のAgentic AI Foundation(AAIF)に移管。ベンダー中立のガバナンスへ移行。
AAIFにはAnthropic、OpenAI、Google、Microsoft、AWSをはじめとする主要AI企業・クラウドプロバイダーが参加しており、MCPをAIエージェント時代のインフラ標準として推進しています。
MCPの目的を一言で表現すると: 「AIエージェントと外部サービスをつなぐ標準規格」です。従来はサービスごとにバラバラだったAPI統合を、統一されたプロトコルに置き換えることで、エージェントが任意のサービスに接続できるようになります。
2. MCPの仕組み — Host / Client / Server アーキテクチャ
MCPは3つのコンポーネントで構成されるクライアント-サーバーアーキテクチャを採用しています。
ChatGPT, Cursor
(Host内のコンポーネント)
(SaaS / データソース)
各コンポーネントの役割
- Host(ホスト) — Claude Desktop、ChatGPT、Cursorなど、AIエージェントのアプリケーション本体。ユーザーとの対話を管理し、MCPクライアントを内包します。
- Client(クライアント) — Host内で動作するコンポーネント。MCP Serverとの接続を管理し、1つのClientは1つのServerと1:1で通信します。
- Server(サーバー) — SaaSやデータソース側で動作するプログラム。Tools(関数呼び出し)、Resources(データ参照)、Prompts(テンプレート)の3つの機能をAIエージェントに公開します。
MCPの3つの機能
| 機能 | 説明 | 例 |
|---|---|---|
| Tools | AIエージェントが呼び出せる関数。副作用を伴う操作が可能。 | メッセージ送信、レコード作成、ファイルアップロード |
| Resources | 読み取り専用のデータ参照。コンテキストとしてAIに提供。 | ドキュメント一覧、設定値、ログデータ |
| Prompts | 再利用可能なプロンプトテンプレート。 | レポート生成テンプレート、分析クエリ |
トランスポート方式
MCPは2つのトランスポート方式をサポートしています:
- stdio(標準入出力) — ローカルで動作するMCP Serverとの通信に使用。プロセス間でJSON-RPCメッセージをやり取りします。
- Streamable HTTP — リモートのMCP Serverとの通信に使用。HTTP POSTでリクエストを送信し、Server-Sent Events (SSE) でレスポンスをストリーミングします。
接続例
Claude DesktopでMCP Serverを使う場合の設定例:
3. なぜMCPが必要か — Before / After で理解する
MCPが登場する以前、AIエージェントが外部サービスを利用するには、サービスごとに個別のAPI統合が必要でした。MCPはこの課題を根本から解決します。
| Before MCP(従来) | After MCP |
|---|---|
| サービスごとに異なるAPI仕様を学習 | 1つのプロトコルで全サービスに接続 |
| 認証方式がバラバラ(APIキー、OAuth、Basic認証...) | 統一された認証フロー(OAuth 2.1統合が進行中) |
| N個のサービス x M個のエージェント = N*M の統合 | N + M の統合で済む(各自がMCPに対応するだけ) |
| エラーハンドリングがサービスごとに異なる | 標準化されたエラーレスポンス |
| ドキュメントの品質がサービスに依存 | MCPスキーマでツールが自己記述的 |
かつてスマートフォンの充電器はメーカーごとにバラバラでした。USB-Cが登場し、1つのケーブルで全てのデバイスを充電できるようになりました。MCPはAIエージェントの世界で同じことを実現します — 1つのプロトコルで、あらゆるサービスに接続できる世界です。
この標準化により、SaaSプロバイダーは一度MCPに対応すれば全てのAIエージェントから利用可能になり、AIエージェント開発者は一度MCPクライアントを実装すれば全てのMCP対応サービスに接続できます。
4. 日本のSaaSにおけるMCP対応状況
KanseiLinkは日本市場の主要SaaS 100サービスを対象に、AIエージェント対応力(AEO Score)を定量評価しています。MCP対応状況の調査結果は以下の通りです。
AEO格付け分布
KanseiLinkの独自格付けシステムでは、MCP対応状況・API品質・エージェント成功率を総合的に評価し、AAA(最高)からCCC(最低)の7段階で格付けしています。
カテゴリ別MCP対応率
| カテゴリ | MCP対応率 | 主要サービス |
|---|---|---|
| プロジェクト管理 | 75% | Notion, Backlog, kintone, Asana |
| コミュニケーション | 67% | Slack, Chatwork, LINE Messaging |
| 会計・経理 | 60% | freee, Money Forward Cloud |
| CRM・営業 | 50% | Sansan, HubSpot Japan, Salesforce |
| 人事・労務 | 40% | SmartHR, KING OF TIME, freee人事労務 |
| 法務・契約 | 25% | CloudSign |
詳細なAEO格付けデータは AEO Ratings ページ で確認できます。各サービスのMCP対応状況、API品質、エージェント成功率を個別に検索・閲覧できます。
5. MCPの課題と今後
MCPは急速に普及しつつありますが、プロダクション環境での運用にはいくつかの課題が残っています。
5.1 認証の標準化
現在、MCP Serverごとに認証方式がバラバラです(APIキー、OAuth 2.0、Basic認証など)。AAIF主導でOAuth 2.1のMCP統合仕様が策定中であり、統一された認証フローの実現が期待されています。これが完成すれば、ユーザーはサービスごとに異なる認証設定を行う必要がなくなります。
5.2 セキュリティリスク
MCP特有のセキュリティリスクとして、以下が知られています:
- Rug-Pull攻撃 — MCP Serverが途中で悪意のある動作に切り替える攻撃。初回は正常に動作し、信頼を得た後に不正な操作を実行します。
- Tool Poisoning — ツールの説明文(description)に隠された指示を埋め込み、AIエージェントの動作を操作する攻撃。人間には見えないが、LLMには読み取れる指示が含まれます。
- 認証情報の漏洩 — MCP Server経由でAPIキーやOAuthトークンが意図せず外部に送信されるリスク。
MCP Serverは「信頼できるソース」からのみインストールすること。公式リポジトリ、またはKanseiLinkのAEO Verifiedマークが付いたサービスの利用を推奨します。
5.3 日本語ドキュメントの不足
MCPの公式ドキュメントは英語が中心であり、日本語の技術資料が不足しています。日本のSaaSプロバイダーがMCP対応を進める際の大きな障壁となっており、KanseiLinkではこの課題に対して日本語ガイドの整備を進めています。
5.4 AIエージェント間の相互運用性
MCPはAIエージェントとサービスの接続を標準化しますが、AIエージェント同士の連携(Agent-to-Agent通信)は現時点でスコープ外です。GoogleのA2A(Agent-to-Agent)プロトコルなど、補完的な標準化の動きも進んでおり、今後のエコシステム全体の発展が注目されます。
6. 開発者向け: MCP Server を作る方法
自社サービスをMCPに対応させたい開発者向けに、MCP Serverの構築方法を解説します。
6.1 公式SDK
MCP Serverの開発には公式SDKを利用します:
- TypeScript:
@modelcontextprotocol/sdk - Python:
mcp - Java / Kotlin:
io.modelcontextprotocol:sdk
6.2 最小限のMCP Server(TypeScript)
6.3 主要な構成要素
| 要素 | 説明 | 必須 |
|---|---|---|
| McpServer | MCP Serverのメインクラス。name と version を指定。 | 必須 |
| .tool() | ツールを登録。名前、説明、パラメータスキーマ、ハンドラを指定。 | 推奨 |
| .resource() | リソースを登録。URI テンプレートとハンドラを指定。 | 任意 |
| .prompt() | プロンプトテンプレートを登録。 | 任意 |
| Transport | 通信方式。StdioServerTransport(ローカル)またはStreamableHTTPServerTransport(リモート)。 | 必須 |
6.4 KanseiLink MCP Server の構造
KanseiLink自体もMCP Serverとして機能しており、AIエージェントがAEOデータを直接クエリできます。提供するツール:
KanseiLink MCP Serverに接続するには:
npx @anthropic/kansei-link-mcp
Available tools: search_services, get_service_detail, get_insights, find_combinations, generate_aeo_report, get_service_tips, submit_inspection, check_updates, report_outcome
Protocol: MCP (Model Context Protocol) | Transport: stdio | Auth: None (public data)
7. よくある質問(FAQ)
@modelcontextprotocol/sdkパッケージをインストールし、McpServerクラスをインスタンス化、.tool()メソッドでツールを登録、StdioServerTransportで接続するのが最小構成です。Pythonの場合はmcpパッケージを使用します。本記事のセクション6に具体的なコード例があります。