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. 02处理 JSON 和 SSE 响应
  3. 03自动跟踪会话
  4. 04协议版本协商
  5. 05接收服务端 SSE 消息
  6. 06关闭时清理会话

适用场景

  1. 01让 stdio MCP 客户端连接 HTTP 端点
  2. 02接收服务端发起的通知和请求

MCP 相关

它将 stdio MCP 客户端桥接到 HTTP Streamable MCP 服务,转发 JSON-RPC 消息并处理会话和协议标头。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Truto MCP Stdio Proxy

一个 CLI 程序,用于将基于 stdio 的 MCP 客户端连接到 HTTP Streamable MCP 服务。它从 stdin 读取以换行符分隔的 JSON-RPC 消息,通过 HTTP POST 将消息转发到指定的 MCP 服务端点,处理 SSE 流式响应,并将响应写入 stdout。

实现了 MCP Streamable HTTP 传输(协议版本 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 releases 页面下载最新版本。选择适用于你平台的二进制文件:

  • 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 使用 "servers" 作为根键,而不是 "mcpServers"。

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 消息
  2. 使用所需的 Accept、MCP-Session-Id 和 MCP-Protocol-Version 标头,将每条消息作为 HTTP POST 发送到 MCP 端点
  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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。