Token导航 LogoToken导航

MCP Server · 开发工具

Debug MCP Go Wrapper

Go语言编写的PHP MCP服务器调试代理,提供自动进程重启和内存隔离功能。

未说明官方级别未说明来源级核验工具 0
进程管理调试工具GoClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
wachterjohannes
提供方
wachterjohannes

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Debug MCP Go Wrapper 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

调试mcp-go包装器

⚠️ 原型-仅用于测试和讨论目的

______________________________________________________________________

Go进程管理器和调试mcp PHP mcp服务器的代理,提供具有内存隔离的自动进程重启。

目的

此Go应用程序充当MCP客户端(如Claude Desktop)和PHP调试MCP服务器之间的透明代理,提供:

  • 流程管理:自动PHP进程生命周期管理
  • 内存隔离:PHP进程获得自己的内存空间,与Go分开
  • 定期重启:PHP进程每60秒重启一次,以防止内存泄漏
  • 透明代理:客户端在PHP重启期间不会遇到断开连接
  • 消息缓冲:在重新启动窗口期间缓冲消息以防止丢失

特性

  • 持久连接:保持与MCP客户端的持续连接
  • 自动重新启动:PHP进程每60秒重新启动一次
  • 消息缓冲:内存缓冲区(最后100条消息)可防止消息丢失
  • 优雅关闭:清晰地处理信号情报/信号
  • 错误恢复:PHP进程崩溃时自动重启
  • 标准代理:使用官方go-sdk进行透明的stdin/stdout代理

安装

从源代码构建

make build

这将创建 debug-mcp-wrapper 当前目录中的二进制文件。

为多个平台构建

make build-all

为以下对象创建二进制文件:

  • Linux(amd64)
  • macOS(amd64、arm64)
  • Windows(amd64)

用法

基本用法

./debug-mcp-wrapper --cwd=/path/to/debug-mcp

包装器将:

  1. 更改到指定的工作目录
  2. 启动PHP MCP服务器(php bin/debug-mcp)
  3. 客户端和PHP进程之间的代理stdin/stdout
  4. 每60秒重启一次PHP
  5. 重启窗口期间缓冲消息

命令行参数

  • --cwd:工作目录(安装调试mcp的位置)- 必需

例子:

./debug-mcp-wrapper --cwd=/Users/username/projects/my-mcp-server

环境变量

  • DEBUG_MCP_DIR:替代--cwd标志
  • PHP_BINARY:PHP二进制路径(默认值: php)

Claude桌面配置

添加到Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "debug-mcp": {
      "command": "/absolute/path/to/debug-mcp-wrapper",
      "args": ["--cwd", "/absolute/path/to/debug-mcp"]
    }
  }
}

重要:使用绝对路径,而不是相对路径或 ~.

建筑

Claude Desktop
    ↓ stdin/stdout
Go Wrapper (this program)
├─ Main Process (persistent)
│  ├─ MCP Protocol Handling (via go-sdk)
│  ├─ Message Buffer (100 messages)
│  └─ 60-second Restart Timer
│
└─ PHP Process (restarted every 60s)
   └─ debug-mcp Server

工艺流程

  1. 初始化:Go包装器启动,生成PHP进程
  2. 正常运行:双向代理消息
  3. 重新启动触发器:每60秒,计时器就会启动
  4. 缓冲阶段:传入消息缓冲在内存中
  5. 进程重新启动:旧PHP被淘汰,新PHP诞生(~1s)
  6. 重播阶段:发送到新PHP的缓冲消息
  7. 简历:正常操作继续

消息缓冲

在PHP重启过程中(约1秒):

  • 传入消息存储在循环缓冲区中
  • 缓冲区大小:100条消息(可配置)
  • 如果缓冲区已满,旧消息将被丢弃
  • 重新启动后重播到新进程的消息
  • 客户端经历短暂的延迟,没有断开连接

建筑

先决条件

  • 达到1.21或更高
  • Make(可选,用于Makefile使用)

构建命令

# Install dependencies
make install

# Build binary
make build

# Run tests
make test

# Format code
make fmt

# Run linter
make lint

# Clean artifacts
make clean

发展

项目结构

debug-mcp-go-wrapper/
├── cmd/
│   └── debug-mcp-wrapper/
│       └── main.go              # Entry point
├── internal/
│   ├── proxy/
│   │   ├── proxy.go             # Main proxy coordinator
│   │   ├── process.go           # PHP process management
│   │   └── buffer.go            # Message buffering
│   └── config/
│       └── config.go            # Configuration handling
├── go.mod
├── Makefile
└── README.md

关键组件

main.go:入口点

  • 解析命令行参数
  • 初始化代理
  • 处理信号(信号/信号)
  • 在主goroutine中启动代理

proxy.go:主要协调员

  • 使用官方go-sdk进行MCP协议
  • 管理PHP子流程生命周期
  • 实施60秒重启定时器
  • 协调消息缓冲
  • 在客户端和PHP之间代理stdio

process.go:流程管理

  • 启动PHP进程: php bin/debug-mcp
  • 管理stdin/stdout/stderr管道
  • 检测进程退出
  • 优雅的停止(SIGTERM然后SIGKILL)

buffer.go:消息缓冲区

  • 线程安全圆形缓冲区
  • 可配置大小(默认值:100)
  • 防止重启过程中消息丢失
  • 有限内存使用

实现注意事项

Go SDK集成: 使用 modelcontextprotocol/go-sdk 对于MCP协议处理:

  • 用于stdin/stdout通信的StdioTransport
  • 自动JSON-RPC消息帧
  • SDK保证协议合规性

重新启动逻辑:

ticker := time.NewTicker(60 * time.Second)
for range ticker.C {
    proxy.RestartPHP()
}

错误处理:

  • PHP崩溃→ 立即重启
  • 反复撞车→ 日志错误,请继续尝试
  • 关闭包装器→ 优雅的PHP终止

故障排除

PHP进程无法启动

检查:

  • 工作目录正确(--cwd 调试mcp安装的要点)
  • PHP二进制文件在PATH或set中 PHP_BINARY 环境变量
  • bin/debug-mcp 存在并且可执行
  • composer安装已在debug mcp目录中运行

重启过程中丢失的消息

  • 缓冲区大小可能太小
  • 检查日志中的缓冲区溢出警告
  • 如果需要,增加代码中的缓冲区大小

内存使用率高

  • 正常:Go包装器使用最少的内存
  • PHP进程内存被隔离,每60秒重置一次
  • 如果Go内存增长,请检查缓冲区是否泄漏

连接中断

  • 不应该发生-Go保持持久连接
  • 检查Claude Desktop日志是否有错误
  • 验证包装器是否正在运行(未被杀死/崩溃)

监控

日志

包装器将日志记录到stderr:

  • PHP进程启动/停止
  • 重新启动事件
  • 缓冲区统计信息
  • 错误条件

例子:

2024-11-29T15:30:00Z [INFO] Starting PHP process
2024-11-29T15:30:00Z [INFO] PHP process started (PID: 12345)
2024-11-29T15:31:00Z [INFO] Restart timer triggered
2024-11-29T15:31:00Z [INFO] Buffering messages during restart
2024-11-29T15:31:01Z [INFO] PHP process restarted (PID: 12346)
2024-11-29T15:31:01Z [INFO] Replayed 3 buffered messages

指标

监控这些指标:

  • 重启频率(应每60秒一次)
  • 缓冲区使用率(应保持在100条消息以下)
  • 重启持续时间(应为约1秒)
  • PHP进程崩溃(应该很少见)

演出

  • 记忆:Go包装器~10-20MB,PHP进程~50-100MB
  • 重新启动时间:约1秒用于进程生成和缓冲区重放
  • 消息延迟:正常运行时\<10ms,重启时~1s
  • 中央处理器:等待I/O的时间最少,大多处于空闲状态

需求

  • 达到1.21或更高
  • PHP 8.1或更高版本
  • 调试已安装的mcp服务器

仓库

github:https://github.com/wachterjohannes/debug-mcp-go-wrapper

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

进程管理Go本地部署内存隔离消息缓冲自动重启调试工具

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Debug MCP Go Wrapper

MCP World · 本页

0未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Debug MCP Go Wrapper 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Debug MCP Go Wrapper 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Debug MCP Go Wrapper 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Debug MCP Go Wrapper 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Debug MCP Go Wrapper 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP