mcpField
T
Truto MCP Stdio Proxy

Truto MCP Stdio Proxy

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

Truto MCP Stdio Proxy について

Truto MCP Stdio Proxyは、stdioベースのMCPクライアントとHTTP Streamable MCPエンドポイントをつなぐコマンドラインブリッジです。セッション管理、プロトコル交渉、SSEメッセージ、終了時の後処理に対応します。

主な機能

  1. 01stdioからHTTPへのメッセージ転送
  2. 02JSONとSSEレスポンスの処理
  3. 03セッションの自動追跡
  4. 04プロトコルバージョン交渉
  5. 05サーバー発のSSEメッセージ受信
  6. 06終了時のセッションクリーンアップ

活用シーン

  1. 01stdio MCPクライアントからHTTPエンドポイントへの接続
  2. 02サーバー発の通知やリクエストの受信

MCP 対応

stdioベースのMCPクライアントをHTTP Streamable MCPサーバーに接続し、JSON-RPCメッセージを転送してセッションとプロトコルヘッダーを管理します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Truto MCP Stdio Proxy

stdio ベースの MCP クライアントと HTTP Streamable MCP サーバーを接続する CLI プログラムです。stdin から改行区切りの JSON-RPC メッセージを読み取り、HTTP POST 経由で指定された MCP サーバーのエンドポイントに転送し、SSE ストリーミング応答を処理して、応答を stdout に書き込みます。

MCP Streamable HTTP transportを実装しています(プロトコルのバージョンは 2025-11-25)。

機能

  • Streamable HTTP トランスポート -- application/json と text/event-stream の両方の応答を完全にサポートします
  • セッション管理 -- リクエスト間で MCP-Session-Id を自動的に追跡します
  • プロトコルバージョンのネゴシエーション -- initialize ハンドシェイクから protocolVersion を抽出し、以降のリクエストで MCP-Protocol-Version を送信します
  • サーバー起点のメッセージ -- サーバーからクライアントへの通知やリクエストを受け取るため、バックグラウンドで GET SSE ストリームを開き、自動で再接続します
  • セッションのクリーンアップ -- シャットダウン時に HTTP DELETE を送信して、セッションを正常に終了します

必要条件

  • Go 1.24.2 以降(ソースからビルドする場合)

インストール

ビルド済みバイナリのダウンロード

GitHub のリリースページから最新のリリースをダウンロードします。お使いのプラットフォームに対応するバイナリを選択してください。

  • Linux(amd64):truto-mcp-stdio-linux-amd64-v<version>
  • macOS(Intel):truto-mcp-stdio-darwin-amd64-v<version>
  • macOS(Apple Silicon):truto-mcp-stdio-darwin-arm64-v<version>
  • Windows(amd64):truto-mcp-stdio-windows-amd64-v<version>.exe

ダウンロード後、バイナリに実行権限を付与します(Unix 系システムの場合)。

chmod +x truto-mcp-stdio-<platform>-v<version>
ソースからのビルド
go build -o truto-mcp-stdio

使い方

./truto-mcp-stdio <API_URL>
引数
  • <API_URL>:MCP サーバーの HTTP エンドポイント URL(必須)
例
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2025-11-25", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' | ./truto-mcp-stdio https://api.truto.one/mcp/<your-mcp-id>

クライアントの設定

以下に、主要な MCP クライアントすべての設定手順を示します。/path/to/truto-mcp-stdio をバイナリの実際のパスに、<your-mcp-id> を Truto MCP エンドポイント ID に置き換えてください。

Cursor

設定ファイル:~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位)

{
  "mcpServers": {
    "truto": {
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}

Cursor は設定の変更を自動的に再読み込みするため、再起動は不要です。

Claude Desktop

設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "truto": {
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}

編集後、Claude Desktop を完全に再起動する必要があります。

Claude Code(CLI)

CLI から追加します。

claude mcp add truto -- /path/to/truto-mcp-stdio https://api.truto.one/mcp/<your-mcp-id>

または、プロジェクトのルートに .mcp.json を作成します。

{
  "mcpServers": {
    "truto": {
      "type": "stdio",
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}
VS Code(GitHub Copilot)

プロジェクト内に .vscode/mcp.json を作成します。

{
  "servers": {
    "truto": {
      "type": "stdio",
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}

注: VS Code では、ルートキーに "mcpServers" ではなく "servers" を使用します。

Windsurf

設定ファイルの場所:

  • macOS/Linux:~/.codeium/windsurf/mcp_config.json
  • Windows:%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "truto": {
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}

編集後、Windsurf を再起動する必要があります。

Cline(VS Code 拡張機能)

Cline サイドバーの MCP Servers パネルから追加するか、設定ファイルを直接編集します。

  • macOS:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows:%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
{
  "mcpServers": {
    "truto": {
      "command": "/path/to/truto-mcp-stdio",
      "args": ["https://api.truto.one/mcp/<your-mcp-id>"]
    }
  }
}

開発

go run truto-mcp-stdio.go <API_URL>

動作の仕組み

  1. stdin から JSON-RPC メッセージを 1 行ずつ読み取ります
  2. 必須の Accept、MCP-Session-Id、MCP-Protocol-Version ヘッダーを付けて、各メッセージを MCP エンドポイントに HTTP POST で送信します
  3. application/json と text/event-stream(SSE)の両方の形式でレスポンスを処理します
  4. サーバーの初期化レスポンスから MCP-Session-Id を取得し、以降のすべてのリクエストに含めます
  5. ネゴシエートされた protocolVersion を取得し、MCP-Protocol-Version ヘッダーとして送信します
  6. 初期化後、サーバーが開始するメッセージを受信するためにバックグラウンドで GET SSE ストリームを開き、自動的に再接続します
  7. シャットダウン時(stdin のクローズまたはシグナル受信時)に HTTP DELETE を送信し、セッションを正常に終了します
  8. エラーと診断情報は stderr に書き込みます

コメント

MCP は初めてですか?

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

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