mcpField
M
mcp-stdio-to-streamable-http-adapter MCP Server

mcp-stdio-to-streamable-http-adapter MCP Server

ローカル
github.com/pyroprompts開発ツール2662 週間前に更新

mcp-stdio-to-streamable-http-adapter MCP Server について

STDIO 形式の MCP サーバーで、STDIO のみに対応した MCP クライアントから Streamable HTTP MCP サーバーへの接続を中継します。Streamable HTTP に未対応のクライアントでリモートサーバーを利用したい開発者に向いています。固定のエンドポイントを STDIO 形式で配布するための雛形としても使えます。

主な機能

  1. 01STDIO リクエストを Streamable HTTP サーバーへ中継
  2. 02URI 環境変数による接続先の指定
  3. 03Authorization ヘッダーで送る任意の Bearer トークン
  4. 04複数サーバーを名前で区別する設定

活用シーン

  1. 01Claude Desktop での Streamable HTTP MCP サーバーの利用
  2. 02LibreChat などの STDIO 対応クライアントからのリモート接続
  3. 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 サーバーを開発し、インストール方法を提供できるようになります。

MCP Stdio to Streamable HTTP Adapter アーキテクチャ図

インストール

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 のホームにそれぞれのツールが表示されます:

チャットツールを表示した Claude Desktop ホーム

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

OpenAI との Claude チャット

または、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 に次のように表示されます:

Perplexity チャットとの 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 の無料オートメーションクレジットが得られます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。