🔀

MCP Transport: stdio vs Streamable HTTP

ローカル開発とクラウドSaaSデプロイの違い

MCP初期にはstdio(標準入出力)transportのみで、Claude DesktopのようなローカルクライアントでしかMCPサーバーを使用できませんでした。2025年3月にStreamable HTTP transportが導入され状況が変わりました。SaaSベンダーがMCPサーバーをクラウドにデプロイし、ローカル・クラウドどこからでもMCPクライアントがHTTPで接続できます。単一デプロイで多数のクライアントにサービスし、OAuth 2.1ベース認証、ロードバランシングなどエンタープライズ機能もサポートします。「MCP SaaS」と呼ばれるのがまさにこのStreamable HTTPベースのリモートデプロイ方式です。

構造ダイアグラム

MCP公式Transport比較
stdio = ローカル開発 Streamable HTTP = クラウド/SaaS
💻
stdio Transport
ローカル専用(従来方式)
MCP Client
Claude Desktop / VS Code
spawn子プロセス
MCP Server
同じマシンで実行
stdin / stdout
設定簡単(プロセスを実行するだけ)
ネットワーク不要
ローカル専用(リモート不可)
クライアントごとにサーバープロセス
☁️
Streamable HTTP
クラウド/SaaSデプロイ(2025.03~)
Client A
Client B
Client C
HTTPS + OAuth 2.1
MCP Server (Cloud)
単一デプロイ、多数のクライアント
POST SSEストリーム
リモート/クラウドデプロイ可能
多数のクライアント同時処理
OAuth 2.1セキュリティ + ロードバランシング
サーバーインフラ管理が必要
どのTransportを選ぶべき?
stdio選択
  • ローカル開発/テスト
  • Claude Desktop統合
  • 単一ユーザー環境
  • ネットワークのない環境
Streamable HTTP選択
  • SaaSサービスとしてMCP提供
  • エンタープライズAIエージェント
  • マルチユーザー/チーム環境
  • クラウドAIプラットフォーム統合
MCP Transport進化
2024.11 stdio 2025.03 Streamable HTTP SaaS時代
核心ポイント
  • stdio: プロセス間通信、ローカル専用、Claude Desktop/IDEプラグインに最適
  • Streamable HTTP: HTTP POST + SSE、リモートデプロイ可能、SaaS/エンタープライズに最適
  • MCP SaaS = Streamable HTTPベースのクラウドMCPサーバーサービス
  • 2025年12月、AnthropicがMCPをLinux Foundationに寄贈 → 業界標準化
  • 月9,700万以上のSDKダウンロード、10,000以上のプロダクションMCPサーバー運用中

動作フロー

1

stdio: クライアントがMCPサーバーを子プロセスとしてspawn(同一マシン)

2

stdio: stdin/stdoutでJSON-RPCメッセージ交換(ローカル専用)

3

Streamable HTTP: MCPサーバーが独立HTTPサーバーとしてデプロイ(クラウド)

4

Streamable HTTP: クライアントがHTTP POSTでリクエスト、Server-Sent Eventsでレスポンスストリーミング

5

Streamable HTTP: OAuth 2.1 + PKCEで認証、HTTPSで暗号化

6

単一サーバーが多数クライアントを同時処理(セッションプーリングで10倍の性能)

メリット

  • stdio: 設定が簡単(プロセスspawnのみ)
  • stdio: ネットワーク不要
  • Streamable HTTP: リモートデプロイ可能
  • Streamable HTTP: 多数クライアントにサービス
  • Streamable HTTP: OAuthセキュリティ + ロードバランシング
  • Streamable HTTP: SaaSビジネスモデル可能

デメリット

  • stdio: ローカル専用(クラウドAIエージェント不可)
  • stdio: クライアントごとにサーバープロセスが必要
  • Streamable HTTP: サーバーインフラ管理が必要
  • Streamable HTTP: 認証/セキュリティ実装が複雑
  • Streamable HTTP: ネットワーク遅延の追加

ユースケース

stdio: Claude Desktopローカル開発 stdio: VS Code拡張ローカルMCP Streamable HTTP: SaaSベンダーのMCPサーバー公開 Streamable HTTP: エンタープライズAIエージェントプラットフォーム Streamable HTTP: マルチユーザーAIサービス