关于 pREST
pREST MCP Adapter 是 stdio 传输桥接器,让需要 stdio 的 MCP 客户端连接运行中的 pREST HTTP `/_mcp` 端点。它只转发协议消息,不实现工具或检查架构。
主要功能
- 01将 stdio MCP 流量桥接到 HTTP
- 02连接 pREST `/_mcp` 端点
- 03支持可选 Bearer 令牌认证
- 04可配置 HTTP 超时
- 05日志写入 stderr
适用场景
- 01让仅支持 stdio 的 MCP 客户端连接 pREST
- 02通过 Bearer 令牌访问启用认证的 pREST 端点
- 03在 Docker 中运行适配器
MCP 相关
适配器在客户端的 stdio 传输与 pREST 的 HTTP MCP 端点之间转发 MCP JSON-RPC 消息。MCP 工具和架构处理由 pREST 提供,适配器本身不实现这些功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e PREST_MCP_URL -e PREST_MCP_TOKEN -e PREST_MCP_TIMEOUT_MS ghcr.io/prest/prest-mcp-adapter:0.1.3PREST_MCP_URLURL of your running pREST HTTP MCP endpoint, for example http://localhost:3000/_mcpPREST_MCP_TOKEN密钥Optional bearer token used to authenticate with the pREST MCP endpoint.PREST_MCP_TIMEOUT_MSOptional HTTP timeout in milliseconds. Defaults to 30000.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/prest/prest-mcp-adapter:0.1.3stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
pREST MCP 适配器
pREST HTTP MCP 端点的官方 stdio 适配器。
此适配器可让需要 stdio 的 MCP 客户端连接到正在运行且在 /_mcp 提供 HTTP MCP 端点的 pREST 实例。
MCP client / AI IDE
↓ stdio (NDJSON JSON-RPC)
prest-mcp
↓ HTTP POST
http://localhost:3000/_mcp
↓
pREST
该适配器是一个轻量传输桥接器。它不会检查架构、生成 SQL 或实现 MCP 工具。这些功能由 pREST 提供。
要求
- 正在运行且提供
/_mcp路由的 pREST 实例 - Go 1.26+(从源代码构建时)
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
PREST_MCP_URL | 是 | — | pREST HTTP MCP 端点的 URL,例如 http://localhost:3000/_mcp |
PREST_MCP_TOKEN | 否 | — | 启用 pREST 身份验证时使用的 Bearer 令牌 |
PREST_MCP_TIMEOUT_MS | 否 | 30000 | HTTP 超时时间,单位为毫秒 |
安装
从源代码安装
go install github.com/prest/prest-mcp-adapter/cmd/prest-mcp@latest
Docker / OCI
docker pull ghcr.io/prest/prest-mcp-adapter:0.1.3
本地使用
PREST_MCP_URL=http://localhost:3000/_mcp prest-mcp
使用令牌
PREST_MCP_URL=https://api.example.com/_mcp \
PREST_MCP_TOKEN=secret \
prest-mcp
使用 Docker
docker run --rm -i \
-e PREST_MCP_URL=http://host.docker.internal:3000/_mcp \
ghcr.io/prest/prest-mcp-adapter:0.1.3
MCP 客户端配置
Cursor
添加到 MCP 设置中(例如 .cursor/mcp.json):
{
"mcpServers": {
"prest": {
"command": "prest-mcp",
"env": {
"PREST_MCP_URL": "http://localhost:3000/_mcp"
}
}
}
}
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"prest": {
"command": "prest-mcp",
"env": {
"PREST_MCP_URL": "http://localhost:3000/_mcp"
}
}
}
}
通用 MCP 客户端
任何能够启动 stdio MCP 服务的客户端:
PREST_MCP_URL=http://localhost:3000/_mcp prest-mcp
协议消息是通过 stdin/stdout 传输、以换行符分隔的 JSON-RPC。日志仅写入 stderr。
安全建议
除非明确需要写入权限,否则请为 AI/MCP 工作流使用只读 PostgreSQL 用户。
请勿公开未经过身份验证的 MCP 端点。
优先使用本地或专用网络中的 pREST MCP 端点。
启用 pREST 身份验证时,请将 PREST_MCP_TOKEN 设置为有效的 JWT。
开发
make test # go test -race ./... and overall coverage >= 80%
make coverage # coverage gate only
make vet
make build # writes bin/prest-mcp
许可证
MIT — 请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。