mcpField
M
MCP Wrapper

MCP Wrapper

本地服务
github.com/tibzejoker开发工具275 周前更新

关于 MCP Wrapper

MCP Wrapper 是代理层,可将真实 MCP 服务作为子进程运行,并在其与 MCP 客户端之间转发协议通信。它保留环境上下文,并将操作记录到控制台及按需配置的文件中。

主要功能

  1. 01以子进程启动真实服务
  2. 02转发工具、资源和提示词
  3. 03保留环境变量与上下文
  4. 04记录操作和错误
  5. 05支持配置日志文件

适用场景

  1. 01为 MCP 服务增加日志记录
  2. 02在客户端与服务之间加入代理
  3. 03为服务提供所需的环境变量

MCP 相关

MCP Wrapper 连接 MCP 客户端,并根据指定的命令和参数启动真实 MCP 服务。它转发协议请求和响应,包括工具、资源和提示词。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP 包装器

用于 MCP(Model Context Protocol)服务的代理包装器。

概述

此项目会在 MCP 客户端与 MCP 服务之间创建代理层,将客户端的请求转发到真实的 MCP 服务,并返回响应。

功能

  • 充当 MCP 客户端与真实 MCP 服务之间的桥梁
  • 透明转发所有 MCP 协议操作(工具、资源、提示词)
  • 保留环境变量和上下文
  • 妥善处理错误
  • 将详细日志写入 MCP_WRAPPER_LOG_PATH 环境变量指定目录中的文件

用法

配置

MCP 包装器需要命令行参数和环境变量:

  1. 命令行参数:

    • 第一个参数:要运行的真实 MCP 服务的命令(例如,"node")
    • 第二个参数:真实 MCP 服务脚本的路径(例如,"/path/to/real/mcp-server/build/index.js")
  2. 环境变量(通过 .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"
      }
    }
  }
}

请注意:

  1. 现在在 command 字段("node")中指定包装器本身,并在 args[0]("dist/index.js")中指定其路径
  2. 真实 MCP 服务的命令和路径现在分别是 args[1] 和 args[2]
  3. 环境变量已从 HOME_LOG_PATH 更改为 MCP_WRAPPER_LOG_PATH

该包装器旨在由 Claude 和 Cursor 等工具自动运行,而非手动启动。

构建

要构建包装器:

npm run build

这会将 main.js 文件复制到 dist/index.js。

开发

要监视更改并自动重新构建:

npm run watch

工作原理

  1. MCP 客户端连接到包装器服务
  2. 包装器服务使用提供的命令和参数连接到真实的 MCP 服务
  3. 客户端发出的请求会转发到真实服务
  4. 真实服务的响应会返回给客户端
  5. 所有操作都会记录到控制台和 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 目录具有写入权限

评论

支持 Markdown

第一次接触 MCP?

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

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