一个模型上下文协议(MCP)服务器,使像Claude Code这样的AI编码助手能够管理长时间运行的开发过程。如果没有这个工具,Claude Code无法运行如npm run dev这样的命令,因为它会阻塞等待进程完成,并最终超时而没有任何输出。
在使用Claude Code进行开发时,你会遇到一个基本限制:
# 当Claude Code尝试运行开发服务器时会发生什么:
$ npm run dev
> my-app@1.0.0 dev
> next dev
▲ Next.js 14.0.0
- Local: http://localhost:3000
[Claude Code现在卡在这里,等待进程退出]
[大约2分钟后,它超时而没有任何输出]
[Claude Code从未看到编译错误、成功消息或任何日志]
Claude Code不能:
这使得几乎不可能有效地使用Claude Code进行开发,因为你需要手动运行所有开发服务器并在更改后重新启动它们。
MCP Rewatch作为Claude Code和你的开发进程之间的桥梁:
MCP Rewatch作为Claude Code和你的开发进程之间的中介:
这种架构允许Claude Code有效地管理长时间运行的进程,尽管它本身无法直接运行这些进程。
通过npm全局安装:
npm install -g mcp-rewatch
或者直接使用npx(无需安装):
npx mcp-rewatch
在项目根目录(你将运行Claude Code的地方)创建一个rewatch.config.json文件:
startupDelay应根据具体进程进行调整:
{
"processes": {
"convex": {
"command": "pnpm",
"args": ["dlx", "convex", "dev"],
"cwd": "./",
"startupDelay": 5000
},
"nextjs": {
"command": "pnpm",
"args": ["dev"],
"cwd": "./",
"env": {
"PORT": "3000"
},
"startupDelay": 4000
},
"backend": {
"command": "npm",
"args": ["run", "dev"],
"cwd": "./backend",
"env": {
"NODE_ENV": "development",
"PORT": "8080"
},
"startupDelay": 2000
}
}
}
npm,pnpm,node)# 使用npx(无需安装)
claude mcp add rewatch npx -- mcp-rewatch
# 或者如果已全局安装
claude mcp add rewatch mcp-rewatch
# 或者用于本地开发
claude mcp add rewatch node -- /path/to/mcp-rewatch/dist/index.js
在项目根目录创建rewatch.config.json
从项目目录启动Claude Code - MCP Rewatch将在当前工作目录查找配置文件
要使MCP Rewatch在所有Claude Code会话中可用:
claude mcp add -s user rewatch npx -- mcp-rewatch
重要:服务器会在Claude Code运行的当前工作目录查找rewatch.config.json。每个项目都需要自己的配置文件。
如何工作:MCP Rewatch会在Claude Code运行的当前工作目录查找rewatch.config.json。
最佳实践:
rewatch.config.jsoncwd路径,如"./backend"或"./frontend"多服务配置示例:
{
"processes": {
"frontend": {
"command": "npm",
"args": ["run", "dev"],
"cwd": "./frontend"
},
"backend": {
"command": "npm",
"args": ["run", "dev"],
"cwd": "./backend"
},
"database": {
"command": "docker",
"args": ["compose", "up", "postgres"],
"cwd": "./"
}
}
}
一旦配置好,Claude Code可以使用以下工具:
restart_process按名称停止并重启开发进程。等待配置的startupDelay(或默认3秒),然后返回初始日志。
await restart_process({ name: "nextjs" })
// 输出:
// 进程'nextjs'成功启动
//
// 初始日志:
// [2024-01-07T10:00:01.123Z] [stdout] > my-app@1.0.0 dev
// [2024-01-07T10:00:01.456Z] [stdout] > next dev
// [2024-01-07T10:00:02.789Z] [stdout] ▲ Next.js 14.0.0
// [2024-01-07T10:00:03.012Z] [stdout] - Local: http://localhost:3000
get_process_logs从进程中检索日志,可选地限制行数。
await get_process_logs({ name: "nextjs", lines: 50 })
// 返回Next.js进程的最后50行日志
await get_process_logs({ name: "convex" })
// 返回Convex进程的所有可用日志
list_processes列出所有配置的进程及其当前状态。
await list_processes()
// 输出:
// nextjs: 运行中 (PID: 12345)
// convex: 已停止
stop_all优雅地停止所有正在运行的进程。
await stop_all()
// 输出:"所有进程已停止"
这里是如何在开发过程中使用Claude Code和MCP Rewatch:
初始设置(由你一次性完成):
rewatch.config.json在开发期间,Claude Code将:
restart_process({ name: "nextjs" })来重启服务器get_process_logs({ name: "nextjs" })关键优势:
当调用restart_process时:
startupDelay(默认:3秒)这给Claude Code提供了关于是否:
为了持续监控,Claude Code可以使用get_process_logs稍后检查进度。
没有MCP Rewatch,使用Claude Code的开发流程令人沮丧:
npm run dev → 阻塞并超时有了MCP Rewatch:
restart_process → 立即返回rewatch.config.json要为MCP Rewatch做出贡献:
git clone https://github.com/brennancheung/mcp-rewatch.git
cd mcp-rewatch
pnpm install
pnpm build
对于开发,你可以直接指向Claude Code的构建输出:
# 构建项目
pnpm build
# 添加到Claude Code
claude mcp add rewatch-dev node -- /path/to/mcp-rewatch/dist/index.js
然后在你测试的目录中创建一个rewatch.config.json。