mcp-stdio-to-streamable-http-adapter MCP Server について
STDIO 形式の MCP サーバーで、STDIO のみに対応した MCP クライアントから Streamable HTTP MCP サーバーへの接続を中継します。Streamable HTTP に未対応のクライアントでリモートサーバーを利用したい開発者に向いています。固定のエンドポイントを STDIO 形式で配布するための雛形としても使えます。
主な機能
- 01STDIO リクエストを Streamable HTTP サーバーへ中継
- 02URI 環境変数による接続先の指定
- 03Authorization ヘッダーで送る任意の Bearer トークン
- 04複数サーバーを名前で区別する設定
活用シーン
- 01Claude Desktop での Streamable HTTP MCP サーバーの利用
- 02LibreChat などの STDIO 対応クライアントからのリモート接続
- 03Streamable HTTP サーバーの STDIO 形式での配布
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-stdio-to-streamable-http-adapter MCP サーバー
STDIO MCP サーバーをサポートする任意の MCP クライアント(ほとんどが対応しています)を、Streamable HTTP MCP サーバーと統合します
Streamable HTTP MCP サーバーをお持ちの場合、これをフォークして URI をハードコードして公開すれば、参照先として指定でき、ディレクトリに追加でき、STDIO 経由で利用してもらえるリポジトリが得られます。
注記: これは mcp-remote パッケージ と類似点があります
なぜ?
Streamable HTTP トランスポートを追加する MCP 仕様は 2025 年 3 月末に公開されましたが、4 月末時点で、これを採用したクライアントはありません。typescript-sdk はコードをマージしましたが、リリースはしていません。Python SDK はまだ対応に向けて開発中です。Inspector は対応していますが、それだけです。
これにより、開発者は厄介な立場に置かれています。クライアントで動作するように STDIO または SSE(非推奨)で MCP サーバーを開発するか、Streamable HTTP トランスポートで開発するかですが、後者では誰も利用できません。
私(ferrants)は、Inspector だけでなく Streamable HTTP MCP サーバーの統合を始めたいと考えているため、それらをクライアントや LLM にすぐに接続する方法が必要です!
このパッケージは、Streamable HTTP MCP サーバーに中継する STDIO MCP サーバーとなることで、このギャップを埋めることを目的としています。これにより、すべての MCP クライアントがすぐに Streamable HTTP をサポートします。そして開発者は、Streamable HTTP MCP サーバーを開発し、インストール方法を提供できるようになります。

インストール
Claude Desktop に OpenAI を追加するには、サーバー設定を追加します:
MacOS の場合: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合: %APPDATA%/Claude/claude_desktop_config.json
環境変数
URI: Streamable HTTP MCP サーバーの URL。これは必須です。MCP_NAME: MCP サーバーの名前。これは任意です。複数を設定する場合、名前が重複しないようにするためにこれは必須です。BEARER_TOKEN: Streamable HTTP MCP サーバーの Bearer トークン。これは任意です。指定した場合、Authorization ヘッダーに含めて送信されます。
設定
Claude Desktop の設定で、次のように npx 経由で使用できます:
{
"mcpServers": {
"my-saas-app-development": {
"command": "npx",
"args": [
"@pyroprompts/mcp-stdio-to-streamable-http-adapter"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
}
}
}
または、リポジトリをクローンした場合、ビルドして Claude Desktop の設定で次のように使用できます:
{
"mcpServers": {
"my-saas-app-development": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
}
}
}
同じ MCP サーバーを異なる環境変数引数で複数回参照することで、複数のプロバイダーを追加できます:
{
"mcpServers": {
"my-saas-app-development": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
},
"pyroprompts": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "https://api.pyroprompts.com/mcp",
"MCP_NAME": "pyroprompts",
"BEARER_TOKEN": "abcdefg"
}
}
}
}
これら 3 つを設定すると、Claude Desktop のホームにそれぞれのツールが表示されます:

そして、他の LLM とチャットでき、チャットには次のように表示されます:

または、LibreChat で次のように設定します:
my-saas-app-development:
type: stdio
command: npx
args:
- -y
- @pyroprompts/mcp-stdio-to-streamable-http-adapter
env:
URI: "http://localhost:3002/mcp",
MCP_NAME: "my-custom-saas-app"
PATH: '/usr/local/bin:/usr/bin:/bin'
そして、LibreChat に次のように表示されます:

開発
依存関係をインストールします:
npm install
サーバーをビルドします:
npm run build
自動再ビルドでの開発の場合:
npm run watch
デバッグ
MCP サーバーは stdio を介して通信するため、デバッグは難しい場合があります。パッケージスクリプトとして利用可能な MCP Inspector の使用を推奨します:
npm run inspector
Inspector は、ブラウザでデバッグツールにアクセスするための URL を提供します。
謝辞
- 言うまでもなく、MCP 仕様と Claude Desktop への統合について、modelcontextprotocol と Anthropic のチームに感謝します。https://modelcontextprotocol.io/introduction
- このプロジェクトをスポンサーしてくれた PyroPrompts に感謝します。コード
MCPSTREAMABLEADAPTERを使用すると、Pyroprompts で 20 の無料オートメーションクレジットが得られます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。