MCP Stdio Wrapper
MCP Stdio Wrapper
MCP Stdio Wrapperは、あるMCPクライアントが別のstdio MCPサーバーをオンデマンドで起動および検査できるようにする小さなMCPサーバーです。
その役割は、厄介なMCP開発ループを解消することです。一部の主要なMCPホストは実際のサーバープロセスをキャッシュするため、コードを変更するたびに、変更をスモークテストするためだけにウィンドウを更新したり、拡張ホストを再起動したりする必要があります。このラッパーは実際のターゲットサーバーの前に配置され、ターゲットの実装がその下で変更され続けている間も、エージェントが繰り返しスモークテストを行うための安定したブリッジを提供します。
なぜこれが存在するのか
以下のような場合にこのプロジェクトを使用してください:
stdio MCPサーバーを積極的に開発している場合
メインのMCPホストが変更のたびにターゲットサーバーを確実にリロードしない場合
開発中を通じて、エージェントにツールの一覧表示、ツールの呼び出し、リソースの読み取り、プロンプトの検査を行わせたい場合
このプロジェクトは意図的に範囲を絞っています。本番環境のトラフィックプロキシ用ではなく、ローカル開発およびスモークテスト用です。
また、このラッパーはエージェントが直接発見できる組み込みのガイダンスを公開しています:
リソース:
wrapper://how-to-useプロンプト:
tool_usage_guide
Related MCP server: Multi MCP
仕組み
このラッパーは2つのモードを公開しています。
デフォルトのワンショットツール:
stdio_mcp_list_toolsstdio_mcp_call_toolstdio_mcp_list_resourcesstdio_mcp_read_resourcestdio_mcp_list_promptsstdio_mcp_get_prompt
各ワンショットブリッジ呼び出しは以下の手順で行われます:
ターゲットのstdio MCPサーバーを起動する
1つのMCP操作を実行する
結果を返す
ターゲットプロセスを終了する
オプションのセッションツール:
stdio_mcp_open_sessionstdio_mcp_get_sessionstdio_mcp_close_sessionstdio_mcp_session_list_toolsstdio_mcp_session_call_toolstdio_mcp_session_list_resourcesstdio_mcp_session_read_resourcestdio_mcp_session_list_promptsstdio_mcp_session_get_prompt
つまり、以下の利点があります:
ワンショットスモークテストごとにクリーンなターゲットプロセスが使用される
多段階検証のための明示的な短期間セッションオプション
隠れたキャッシュ動作がない
失敗時にターゲットのstderrが表示されるため、デバッグが容易
クイックスタート
リポジトリをクローンし、依存関係をインストールします:
nvm use
npm installラッパーを起動します:
npm start公開されているパッケージは、以下を使用して直接実行することもできます:
npx mcp-stdio-wrapperパッケージは https://www.npmjs.com/package/mcp-stdio-wrapper で公開されています。
このリポジトリは、GitHub Actionsからのnpm信頼済み公開用に設定されています。最初の公開シーケンスとOIDC信頼済み公開の引き継ぎについては、公開チェックリストを参照してください。
メインのMCPクライアントをこのラッパーに向け、以下のような起動入力を使用してブリッジツールのいずれかを使用します:
{
"command": "node",
"args": ["C:\\path\\to\\your-mcp\\dist\\index.js"],
"cwd": "C:\\path\\to\\your-mcp",
"inheritParentEnv": true,
"env": {
"EXAMPLE_ENV": "value"
},
"startupTimeoutMs": 30000,
"operationTimeoutMs": 30000
}次に、エージェントに以下を依頼します:
実際のターゲットサーバーからツールを一覧表示する
コードを変更するたびにターゲットツールを1つ呼び出す
リソースの読み取りやプロンプトを検証する
初期検査や小さなステートレスな呼び出しにはワンショットモードを使用してください。ターゲットが jobId 形式のハンドルを返す場合、呼び出し間でメモリ内状態を期待する場合、または単に起動コストが高い場合は、明示的にセッションを開き、閉じる前に stdio_mcp_session_* ツールを使用してください。
ツールインターフェース
一般的な起動フィールド:
command: ターゲット実行ファイルargs: ターゲットコマンド引数cwd: オプションのターゲット作業ディレクトリinheritParentEnv:trueの場合、ラッパープロセスの環境をターゲットの起動にマージするenv: 追加のターゲット環境変数startupTimeoutMs: オプションのワンショット起動およびMCP初期化タイムアウトoperationTimeoutMs: オプションのワンショット操作タイムアウトtimeoutMs: 両方のフェーズに対するレガシーなワンショットショートカット。セッションツールは引き続きtimeoutMsを使用します
ブリッジ操作:
stdio_mcp_list_tools: ターゲットツールを検査するstdio_mcp_call_tool: ターゲットツールを1つ呼び出すstdio_mcp_list_resources: ターゲットリソースを検査するstdio_mcp_read_resource: ターゲットリソースを1つ読み取るstdio_mcp_list_prompts: ターゲットプロンプトを検査するstdio_mcp_get_prompt: ターゲットプロンプト定義を1つ取得する
セッション操作:
stdio_mcp_open_session: ターゲットプロセスを1つ起動し、複数の操作のために維持するstdio_mcp_get_session: ステータス、タイムスタンプ、PID、終了コード、stderrの末尾などのセッション診断を検査するstdio_mcp_close_session: ライブまたは終了したセッションを閉じ、その記録を削除するstdio_mcp_session_list_tools: 既存のセッションを通じてツールを検査するstdio_mcp_session_call_tool: 既存のセッションを通じてターゲットツールを1つ呼び出すstdio_mcp_session_list_resources: 既存のセッションを通じてリソースを検査するstdio_mcp_session_read_resource: 既存のセッションを通じてターゲットリソースを1つ読み取るstdio_mcp_session_list_prompts: 既存のセッションを通じてプロンプトを検査するstdio_mcp_session_get_prompt: 既存のセッションを通じてターゲットプロンプト定義を1つ取得する
ラッパーガイダンスの公開:
wrapper://how-to-use: プレーンテキストの使用ガイドtool_usage_guide: 同じ指示のプロンプト形式
セッションモードが適している場合:
ターゲットが
jobIdのような遅延ハンドルを返す場合後続の呼び出しが同じライブターゲットプロセスにヒットする必要がある場合
ターゲットの起動コストが高く、繰り返すと実際のフィードバックループが不明瞭になる場合
安全上の注意
このラッパーは、呼び出し元によって提供された任意のコマンドを起動します。
起動引数と環境変数は機密情報として扱ってください。
信頼できるターゲットコマンドと信頼できるローカルプロジェクトでのみ使用してください。
これをパブリックなマルチテナントサービスとして公開しないでください。
ドキュメント
スター履歴
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables programmatic management and monitoring of development servers through a unified interface and interactive TUI. It provides tools for process control, log streaming, and experimental browser automation via Playwright.1MIT
- AlicenseBqualityDmaintenanceA flexible proxy server that aggregates multiple backend MCP servers into a single interface using STDIO or SSE transports. It supports dynamic server management via an HTTP API and utilizes namespacing to prevent tool conflicts across connected services.31MIT
- FlicenseNot gradedqualityNot gradedmaintenanceA dynamic server that automatically discovers and executes scripts from a tools directory as isolated processes using the MCP protocol. It enables users to easily extend server capabilities by adding new tool scripts that communicate via JSON.
- AlicenseNot gradedqualityCmaintenanceA flexible MCP proxy server that connects to and routes between multiple backend MCP servers over STDIO or SSE, enabling dynamic management and namespacing of tools.111MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP Server for JFrog, providing tools for development and artifact management.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JoshuaGreeff/mcp-stdio-wrapper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server