「ReactがnpmでDL数1億に達するのに3年かかった。MCPは16ヶ月で同じ規模を達成した。」
2026年3月、Anthropicが公開した数字は業界の予想を大きく超えていた。Model Context Protocol(MCP)の月間SDKダウンロード数が9,700万件を突破。2024年11月の公開時は月間200万件だったものが、4,750%の成長を遂げた。
なぜここまで急速に普及したのか。単なるAIツールの流行ではなく、AIエージェントが「外部ツールと話す」ための基盤インフラとして不可欠な存在になったからだ。この記事では、MCPが実験的プロトコルから業界標準に至るまでの16ヶ月を時系列で追い、技術的な背景と今後の展望を解説する。
何が起きたのか — ファクトの全体像
まず確認済みの数字と出来事を整理しておく。
| 時期 | 出来事 | 規模・数字 |
|---|---|---|
| 2024年11月 | Anthropicがオープンソースで公開 | 月間200万DL、コミュニティサーバー数百件 |
| 2025年Q1 | Claude Desktop がネイティブMCP対応。コミュニティサーバー1,000件超 | — |
| 2025年3月26日 | OpenAI が MCP サポートを表明(Sam Altman発言) | MCP vs 独自フォーマットの分断が解消 |
| 2025年4月 | Google DeepMind が Gemini のMCP対応を発表 | — |
| 2025年5月 | Docker が MCP Catalog を公開(検証済みサーバー100件以上) | — |
| 2025年12月 | Anthropicが MCP を Linux Foundation 傘下の Agentic AI Foundation(AAIF)に寄贈 | AWS・Google・Microsoft・OpenAI が創設メンバー参加 |
| 2026年3月 | 月間SDKダウンロード数 9,700万件突破 | サーバー数17,000件超、クライアント300件以上 |
公開から16ヶ月でここまで来た。比較として、npmのReactパッケージが月間1億DLに到達したのは公開から約3年後だ。MCPはそれを半分以下の期間で達成した。
なぜMCPが「勝った」のか — 技術的・構造的な理由
M×N問題を解決したシンプルさ
MCPが登場する前、AIエージェントとツールの統合は「M×N問題」だった。AIクライアントがM種類あり、外部ツールがN種類あると、M×Nのカスタム統合が必要になる。
MCPはこれを「M+N」に変えた。クライアント側は一度MCPに対応すれば、すべてのMCPサーバーにアクセスできる。サーバー側も一度MCP準拠のサーバーを書けば、すべてのMCPクライアントから呼び出せる。
AIエージェントの基本概念や実装パターンの詳細については、AIエージェント構築完全ガイドで体系的にまとめている。
Language Server Protocol(LSP)からの設計踏襲
MCPのアーキテクチャはVS CodeのLanguage Server Protocol(LSP)を意識して設計されている。JSON-RPC 2.0をメッセージング層に使い、STDIO・SSE・HTTP Streamingをトランスポートとして選択できる構造は、開発者にとって「見慣れたもの」だった。
これが採用コストを大幅に下げた。新しいプロトコルを0から学ぶのではなく、既存のサーバー・クライアント設計の延長として実装できる。
OpenAIの参入が決定打になった
2025年3月26日、Sam AltmanがXで「People love MCP and we are excited to add support across our products.」と投稿した。これがターニングポイントだった。
OpenAIがMCP以外の独自ツール呼び出しフォーマットを採用する可能性がある限り、エコシステムは分断されたままだった。OpenAIの支持表明によって「MCPがデファクトスタンダード」という認識が業界全体に広まり、それ以後のサーバー開発数は加速した。
MCPのアーキテクチャを理解する
3つの構成要素
MCPは Host・Client・Server の3層で構成される。
- Host:AIアプリケーション(Claude Desktop、ChatGPT、Cursorなど)。複数のMCPクライアントを管理する
- Client:1対1でMCPサーバーと通信する。HostとServerの仲介役
- Server:ツール・リソース・プロンプトを公開する軽量プロセス。GitHubサーバー、Slackサーバー、DBサーバーなどがこれに当たる
以下は Python SDK を使った最小限のMCPサーバーの実装例だ。
# 動作環境: Python 3.10+, mcp>=1.0.0
# pip install mcp
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent
import asyncio
app = Server("my-simple-server")
@app.list_tools()
async def list_tools() -> list[Tool]:
return [
Tool(
name="get_weather",
description="指定した都市の天気を取得します",
inputSchema={
"type": "object",
"properties": {
"city": {"type": "string", "description": "都市名(例: 東京)"}
},
"required": ["city"]
}
)
]
@app.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
if name == "get_weather":
city = arguments.get("city", "東京")
# 実際の実装ではWeather APIを呼び出す
return [TextContent(type="text", text=f"{city}の天気: 晴れ、気温 22℃")]
raise ValueError(f"Unknown tool: {name}")
async def main():
async with stdio_server() as (read_stream, write_stream):
await app.run(read_stream, write_stream, app.create_initialization_options())
if __name__ == "__main__":
asyncio.run(main())
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
ポイント:@app.list_tools()でツール一覧を公開し、@app.call_tool()で実行ロジックを実装する。この2つのハンドラがMCPサーバーの最小構成だ。
TypeScript SDKでのクライアント実装
次はクライアント側。TypeScript SDK を使ってMCPサーバーに接続し、ツールを呼び出す例を示す。
// 動作環境: Node.js 18+, @modelcontextprotocol/sdk>=1.0.0
// npm install @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "python3",
args: ["./my_mcp_server.py"],
});
const client = new Client({ name: "my-client", version: "1.0.0" }, {});
async function main() {
await client.connect(transport);
// ツール一覧の取得
const tools = await client.listTools();
console.log("利用可能なツール:", tools.tools.map(t => t.name));
// ツールの呼び出し
const result = await client.callTool({
name: "get_weather",
arguments: { city: "東京" },
});
console.log("結果:", result.content);
await client.close();
}
main().catch(console.error);
// 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
SSE(Server-Sent Events)トランスポートによるリモートサーバー
STDIOはローカル実行向けだが、リモートのMCPサーバーに接続する場合はSSEまたはHTTP Streamingを使う。
# リモートMCPサーバーへの接続(SSEトランスポート使用)
# 動作環境: Python 3.10+, mcp>=1.0.0, httpx>=0.27.0
import asyncio
from mcp import ClientSession
from mcp.client.sse import sse_client
async def connect_remote_mcp():
server_url = "https://your-mcp-server.example.com/sse"
async with sse_client(server_url) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# ツール一覧取得
tools = await session.list_tools()
print(f"サーバーのツール数: {len(tools.tools)}")
# 任意のツールを呼び出し
result = await session.call_tool(
"your_tool_name",
arguments={"param": "value"}
)
return result
asyncio.run(connect_remote_mcp())
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
エコシステムの現在地
主要クライアントの対応状況
2026年3月時点で、以下の主要AIツールがMCPをネイティブサポートしている。
| クライアント | 提供元 | MCP対応開始時期 | 特記事項 |
|---|---|---|---|
| Claude Desktop / claude.ai | Anthropic | 2024年11月(初回) | 75以上の公式コネクタを提供 |
| ChatGPT | OpenAI | 2025年Q2以降 | Anthropic共同でAAIF設立 |
| Cursor | Anysphere | 2025年Q1 | コードエディタ文脈での利用が多い |
| VS Code(GitHub Copilot) | Microsoft | 2025年 | 拡張機能経由 |
| Gemini(Google AI Studio) | Google DeepMind | 2025年Q2 | AAIF創設メンバー |
| Windsurf | Codeium | 2025年 | — |
(最終確認日: 2026-03-27)
サーバーカテゴリ別の分布
17,000件超のコミュニティサーバーは、以下のカテゴリに分類できる。
- 開発者ツール:GitHub、GitLab、Jira、Linear など。最も多い
- データベース:PostgreSQL、MySQL、MongoDB、Redis のMCPラッパー
- クラウドプロバイダー:AWS、GCP、Azureのサービス操作
- 生産性ツール:Slack、Notion、Google Drive、Outlook
- ECプラットフォーム:Shopify、Stripe、決済サービス
- アナリティクス:GA4、Mixpanel、BigQuery など
ガバナンスの転換:Anthropicから業界標準へ
2025年12月、Anthropicはひとつの重要な意思決定を行った。MCPの仕様・ガバナンスをLinux Foundation傘下の新組織「Agentic AI Foundation(AAIF)」に寄贈したのだ。
共同設立者はAnthropic・Block・OpenAI。その後、AWS・Google・Microsoft・Cloudflare・Bloombergが参加した。これは象徴的な出来事だった。MCPが「Anthropicのプロジェクト」から「業界のインフラ」に変わった瞬間だ。
AAIFにはMCPと並んで、BlockのオープンソースAIエージェント「goose」、OpenAIの「AGENTS.md」も参加プロジェクトとして加わっている。
セキュリティ課題:成長痛としての脆弱性
急速な普及には影の側面もある。2025年中頃の調査では、約7,000件のMCPサーバーが設定ミスにより公開状態になっていた。プロトコル自体の欠陥ではなく、開発者の設定誤りが原因だが、普及の速さが問題の発生を上回っていた。
2025年6月に公開されたMCPスペックv3では、以下のセキュリティ強化が盛り込まれた。
- OAuth 2.1 リソースインジケーターの必須化:トークンの範囲を明示的に制限
- 構造化された認可フレームワーク:プロンプトインジェクション・トークン悪用への対策
- サーバーID検証:なりすましサーバーへの対策
MCPサーバーのSSRF脆弱性と具体的な対策については、MCPサーバーSSRF脆弱性レポートで詳しく解説している。
【要注意】開発者が踏みやすいMCPのセキュリティ落とし穴
-
❌ MCPサーバーを認証なしで公開する
⭕ OAuth 2.1またはAPI Key認証を必ず実装する。STDIOトランスポートはローカル限定
-
❌ 全ツールを1つのサーバーに詰め込む
⭕ 権限境界に合わせてサーバーを分割する。読み取り専用サーバーと書き込み可能サーバーを分けるのが基本
-
❌ ツールの説明文にシステムプロンプトへの指示を埋め込む(プロンプトインジェクション)
⭕ ツール説明文はユーザーが見ることを前提に書く。特権指示は含めない
-
❌ APIキーをMCPサーバーのコード内にハードコードする
⭕ 環境変数またはシークレットマネージャー(AWS Secrets Manager等)で管理する
# セキュアなMCPサーバー設定例:環境変数でシークレット管理
# 動作環境: Python 3.10+, mcp>=1.0.0, python-dotenv>=1.0.0
import os
from dotenv import load_dotenv
from mcp.server import Server
load_dotenv() # .envファイルから環境変数を読み込む
# ❌ NG: APIキーをコードに直接書く
# GITHUB_TOKEN = "ghp_xxxxxxxxxxxxx"
# ⭕ OK: 環境変数から取得
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
if not GITHUB_TOKEN:
raise EnvironmentError("GITHUB_TOKEN が設定されていません。.envファイルを確認してください。")
app = Server("secure-github-server")
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
この先どうなるか
正直なところ、MCPが「完成品」かどうかはまだわからない。
非同期操作の標準化、マルチモーダルコンテンツのサポート、よりきめ細かな権限制御——これらはスペックv3でも発展途上だ。17,000件のサーバーが存在するといっても、品質にはばらつきがあり、エンタープライズ本番環境で使えるレベルのものはまだ一部に限られる。
ただ、「業界標準かどうか」という問いに対する答えは出た。OpenAI・Google・Microsoftが全員AAIFのメンバーになり、ChromaDB・Stripe・Notion・Kubernetes の公式MCPサーバーが存在する時点で、MCPは実質的なデファクトスタンダードだ。
MCPの普及が今後のAIエージェント開発に与えるインパクトを、開発者の視点で見ると:
- 今週やること:自社で使っているツール(Slack・GitHub・DBなど)に既存のMCPサーバーがないか確認する。多くの場合、すでに誰かが作っている
- 今月中:開発チームのワークフローの1つをMCPで自動化してみる。SKILL.mdのコード例を参考に最小構成から始める
- 今後注目:AAIFのSEP(Specification Enhancement Proposals)プロセスを追う。次のメジャーアップデートで何が変わるかを事前に把握できる
参考・出典
- Donating the Model Context Protocol and establishing the Agentic AI Foundation — Anthropic(参照日: 2026-03-27)
- One Year of Model Context Protocol: From Experiment to Industry Standard — Ajeet Singh Raina(参照日: 2026-03-27)
- Why the Model Context Protocol Won — The New Stack(参照日: 2026-03-27)
- MCP Hits 97M Downloads: Model Context Protocol Guide — Digital Applied(参照日: 2026-03-27)
- Model Context Protocol Blog — modelcontextprotocol.io(参照日: 2026-03-27)
あわせて読みたい:
- 【2026年最新】MCP完全解説|AIエージェントを外部ツールに繋ぐ統一規格 — Python/TypeScript実装例・セキュリティ設計を網羅
- MCPサーバーSSRF脆弱性レポート — 本番環境導入前に確認すべきセキュリティ対策
AIエージェント活用について詳しく知りたい方は、Uravationのお問い合わせフォームからお気軽にご相談ください。
この記事はAIgent Lab編集部がお届けしました。