🔀
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サービス