カスタム SSE MCP サーバ(リモート HTTP エンドポイント)
サーバがリモートやコンテナで動くときに、HTTP/SSE ベースの MCP サーバを設定するパターン。Cursor の url フィールドと Claude Desktop の mcp-remote ブリッジを使います。
Custom Servers
詳細な説明
stdio と SSE:HTTP が必要なとき
stdio はサーバがローカル機にいるときに最適です。Docker 内、リモートホスト、社内マイクロサービスとして動かすときは、MCP は HTTP + Server-Sent Events(SSE)でレスポンスストリームをサポートします。
Cursor(ネイティブ SSE 対応)
Cursor は url フィールドを直接読みます:
{
"mcpServers": {
"remote-tools": {
"url": "https://mcp.internal.example.com/sse",
"headers": {
"Authorization": "Bearer your-token-here"
}
}
}
}
Claude Desktop(mcp-remote ブリッジ経由)
Claude Desktop は現状 stdio サーバを期待するので、公式 mcp-remote ブリッジでリモートエンドポイントをラップします:
{
"mcpServers": {
"remote-tools": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.internal.example.com/sse",
"--header",
"Authorization: Bearer your-token-here"
]
}
}
}
ブリッジはローカルで stdio サーバとして動き、JSON-RPC フレームをリモート SSE エンドポイントへプロキシします。
なぜレスポンスに SSE を使うのか
MCP のレスポンスは大きくなりえます(ツール結果、リソース一覧)。SSE は生成と同時にバイトをストリーム配信するため、モデルは全体を待たずに先頭から処理を始められます。リクエスト側は通常の HTTP POST + JSON ボディです。
SSE が向かないケース
- シングルユーザー・シングルマシン構成 — stdio がよりシンプルで高速。
- サーバがローカルファイルや HTTP 越しに届かない Unix ソケットに依存する場合。
- レイテンシが集中化より重要なとき — SSE の往復は最低でも 1 回の TCP 往復を含みます。
認証パターン
ヘッダ Bearer トークンが最もシンプルです。マルチテナント構成では OAuth とリフレッシュトークン — OAuth2 フロービジュアライザ で標準的な交換手順を確認できます。
ユースケース
デプロイコマンド・社内ドキュメント検索・オンコールダッシュボードのような MCP サーバをチームで共有したいとき、開発者全員のラップトップに入れる代わりにマイクロサービスとして動かす用途です。