使用说明
MCP包装器
MCP(模型上下文协议)服务器的代理包装器。
概述
该项目创建了一个位于MCP客户端和MCP服务器之间的代理层。它将客户端的请求转发到真实的MCP服务器,并返回响应。
特性
- 充当MCP客户端和真实MCP服务器之间的桥梁
- 透明地转发所有MCP协议操作(工具、资源、提示)
- 保留环境变量和上下文
- 优雅地处理错误
- 详细记录MCP_WRAPPER_LOG_PATH环境变量指定目录中的文件
用法
配置
MCP包装器需要命令行参数和环境变量:
-
命令行参数:
- 第一个参数:运行真实MCP服务器的命令(例如“node”)
- 第二个参数:实际MCP服务器脚本的路径(例如,“/path/to/real/MCP-server/build/index.js”)
-
环境变量(通过.env文件或系统环境):
- MCP_WRAPPER_LOG_PATH:应存储日志的目录(例如,“/Users/username/logs”)
- 真实MCP服务器所需的任何环境变量
配置更改说明
配置结构已从原始版本更改:
之前(原件):
{
"mcpServers": {
"my mcp server": {
"command": "node /path/to/real/mcp-server/build/index.js",
"env": {
"HOME_LOG_PATH": "/Users/username/logs",
"OTHER_ENV_VAR": "value"
}
}
}
}
之后(当前):
{
"mcpServers": {
"my mcp server": {
"command": "node",
"args": [
"dist/index.js",
"node",
"/path/to/real/mcp-server/build/index.js"
],
"env": {
"MCP_WRAPPER_LOG_PATH": "/Users/username/logs",
"OTHER_ENV_VAR": "value"
}
}
}
}
请注意:
- 包装器本身现在在命令字段(“node”)中指定,其路径为args[0](“dist/index.js”)
- 真正的MCP服务器命令和路径现在是args[1]和args[2]
- 环境变量已从HOME_LOG_PATH更改为MCP_WRAPPER_LOG_PATH
包装器被设计为由Claude和Cursor等工具自动运行,而不是手动启动。
建筑
要构建包装器,请执行以下操作:
npm run build
这将把main.js文件复制到dist/index.js。
发展
要监视更改并自动重建,请执行以下操作:
npm run watch
运作原理
- MCP客户端连接到包装服务器
- 包装服务器使用提供的命令和参数连接到真实的MCP服务器
- 来自客户端的请求被转发到真实服务器
- 来自真实服务器的响应返回给客户端
- 所有操作都记录到控制台和MCP_WRAPPER_log_PATH目录中的日志文件中
这允许您添加一个代理层,该层可以:
- 修改请求或响应
- 添加日志记录
- 处理身份验证
- 实施速率限制
- 添加缓存
日志
MCP包装器将所有操作记录到:
- 控制台输出(用于实时监控)
- 日志文件位于
$MCP_WRAPPER_LOG_PATH/mcp-proxy.log(如果设置了MCP_WRAPPER_LOG_PATH)
每个日志条目包括:
- 时间戳(ISO格式)
- 操作类型(列出工具、调用工具等)
- 请求详情
- 响应摘要
- 错误信息(如适用)
监控日志
要跟踪日志文件并实时监视活动,请运行:
npm run tail-log
这将显示现有日志内容并监视新条目。按Ctrl+C退出。
需求
- Node.js 14或更高版本
- MCP客户端
- 一个真正的MCP服务器来代理
- 对MCP_WRAPPER_LOG_PATH目录的写访问权限
