ニュース

MCP 9700万DL突破|エージェント基盤インフラになるまでの16ヶ月

MCP 9700万DL突破|エージェント基盤インフラになるまでの16ヶ月

この記事の結論

2026年3月、MCPの月間SDKダウンロード数が9700万を突破。2024年11月のリリースからわずか16ヶ月でReactと同等規模に達したMCPがなぜAIエージェント開発の事実上の標準になれたのかを解説します。

「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)プロセスを追う。次のメジャーアップデートで何が変わるかを事前に把握できる

参考・出典



あわせて読みたい:

AIエージェント活用について詳しく知りたい方は、Uravationのお問い合わせフォームからお気軽にご相談ください。

この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年3月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事