
测试和热重载 MCP 服务器,带有 CLI 检查工具和透明代理功能
双模式 MCP 开发工具,作为 CLI 检查工具和 Model Context Protocol (MCP) 的透明代理服务器运行。与 VSCode MCP 配合良好,支持其他 MCP 启用的客户端。
reloaderoo 提供两种不同的操作模式以适应不同的开发工作流程:
无需客户端设置即可直接访问 MCP 服务器的命令行:
透明代理服务器,实现无缝热重载:
restart_server 工具 - AI 代理可以按需重启服务器在开发 MCP 服务器时,通常面临两个问题:
两种模式协同工作,创建无缝的 MCP 开发体验。
# 全局安装以便于访问
npm install -g reloaderoo
# 或使用 npx(无需安装)
npx reloaderoo --help
无需客户端设置即可完美测试 MCP 服务器:
# 列出服务器中的所有工具
reloaderoo inspect list-tools -- node my-mcp-server.js
# 调用特定工具
reloaderoo inspect call-tool echo --params '{"message":"hello"}' -- node my-mcp-server.js
# 获取服务器信息
reloaderoo inspect server-info -- node my-mcp-server.js
具有热重载能力的 AI 客户端集成:
# 启动代理服务器(你的 AI 客户端连接到此)
reloaderoo proxy -- node my-mcp-server.js
# 带有调试日志
reloaderoo proxy --log-level debug -- node my-mcp-server.js
然后配置你的 AI 客户端连接到 reloaderoo 而不是直接连接到你的服务器。
最佳体验:VSCode & Cursor - 完整协议支持并自动检测功能 良好体验:Claude Code & Windsurf - 运行良好,可能需要手动刷新新工具
完美用于测试单个工具或调试服务器问题:
# 1. 快速测试你的服务器
reloaderoo inspect list-tools -- node my-mcp-server.js
# 2. 调用特定工具以验证行为
reloaderoo inspect call-tool my_tool --params '{"param":"value"}' -- node my-mcp-server.js
# 3. 检查服务器健康状况
reloaderoo inspect ping -- node my-mcp-server.js
用于完整的开发会话与 AI 客户端:
配置你的 AI 客户端连接到 reloaderoo 代理而不是直接连接到你的服务器:
reloaderoo proxy -- node my-mcp-server.js
# 或带调试日志:
reloaderoo proxy --log-level debug -- node my-mcp-server.js
像平常一样工作在你的服务器代码上:
// my-mcp-server.js
export const server = new Server({
name: "my-awesome-server",
version: "1.0.0"
});
// 添加新的工具,修改现有的工具等。
server.addTool("new_feature", /* ... */);
请求你的 AI 代理重启服务器:
"请重启 MCP 服务器以加载我的更改"
代理将自动调用 restart_server 工具。你的新功能立即可用!
你的 AI 会话将继续使用更新的服务器功能。没有连接丢失,没有上下文重置。
reloaderoo 提供两种主要的操作模式:
reloaderoo [选项] [命令]
全局选项:
-V, --version 显示版本号
-h, --help 显示命令帮助
命令:
proxy [选项] -- <子命令> 🔄 作为 MCP 代理服务器运行(热重载模式)
inspect [子命令] 🔍 检查和调试 MCP 服务器(CLI 模式)
info [选项] 📊 显示版本和配置信息
help [命令] ❓ 显示命令帮助
reloaderoo proxy [选项] -- <子命令> [子命令参数...]
选项:
-w, --working-dir <目录> 子进程的工作目录
-l, --log-level <级别> 日志级别(debug, info, notice, warning, error, critical)
-f, --log-file <路径> 自定义日志文件路径(默认输出到 stderr)
-t, --restart-timeout <毫秒> 重启操作超时时间(默认:30000毫秒)
-m, --max-restarts <次数> 最大重启尝试次数 0-10(默认:3)
-d, --restart-delay <毫秒> 重启尝试之间的延迟(默认:11000毫秒)
-q, --quiet 抑制非必要输出
--no-auto-restart 禁用崩溃时的自动重启
--debug 启用调试模式并启用详细日志记录
--dry-run 验证配置而不启动代理
示例:
reloaderoo proxy -- node server.js
reloaderoo -- node server.js # 与上面相同(代理是默认模式)
reloaderoo proxy --log-level debug -- python mcp_server.py --port 8080
reloaderoo inspect [子命令] [选项] -- <子命令> [子命令参数...]
子命令:
server-info [选项] 获取服务器信息和功能
list-tools [选项] 列出所有可用工具
call-tool [选项] <名称> 调用特定工具
list-resources [选项] 列出所有可用资源
read-resource [选项] <URI> 读取特定资源
list-prompts [选项] 列出所有可用提示
get-prompt [选项] <名称> 获取特定提示
ping [选项] 检查服务器连通性
mcp [选项] 启动 MCP 检查服务器(作为 MCP 服务器暴露调试工具)
常见选项(适用于所有子命令):
-w, --working-dir <目录> 子进程的工作目录
-t, --timeout <毫秒> 操作超时时间(默认:30000毫秒)
-q, --quiet 抑制子进程 stderr 输出(获得干净的 JSON)
示例:
reloaderoo inspect list-tools -- node server.js
reloaderoo inspect call-tool get_weather --params '{"location": "London"}' -- node server.js
reloaderoo inspect server-info -- node server.js
reloaderoo inspect mcp -- node server.js # 启动 MCP 检查服务器
# 获取干净的 JSON 输出而无服务器日志
reloaderoo inspect list-tools --quiet -- node server.js
reloaderoo inspect call-tool echo --quiet --params '{"message":"test"}' -- node server.js
reloaderoo info [选项]
选项:
--verbose 显示详细的系统信息
示例:
reloaderoo info # 显示基本系统信息
reloaderoo info --verbose # 显示详细的诊断信息
CLI 模式提供直接的命令行访问 MCP 服务器,无需客户端设置 - 完美用于测试和调试。
CLI 模式特别设计用于 AI 代理(如 Claude Code, Cursor 等),这些代理具有终端访问权限但不具备 MCP 服务器配置能力。这解决了关键的开发工作流程问题:
问题:当 AI 代理帮助你开发 MCP 服务器时,它需要测试更改,但是:
解决方案:CLI 模式给 AI 代理提供了直接的基于终端的访问你的 MCP 服务器:
无状态执行:
⚠️ 重要限制:
透明调试:
--quiet 标志抑制服务器日志,获得干净的 JSON 用于脚本执行单个命令并立即获得结果:
# 列出服务器中的所有工具
reloaderoo inspect list-tools -- node my-server.js
# 调用特定工具
reloaderoo inspect call-tool echo --params '{"message":"hello"}' -- node my-server.js
# 获取服务器信息
reloaderoo inspect server-info -- node my-server.js
# 检查服务器连通性
reloaderoo inspect ping -- node my-server.js
# 获取干净的 JSON 输出而无服务器日志(适合脚本)
reloaderoo inspect list-tools --quiet -- node my-server.js
reloaderoo inspect call-tool echo --quiet --params '{"message":"hello"}' -- node my-server.js
以持久 MCP 服务器的形式启动 CLI 模式进行交互式调试:
# 以 CLI 模式启动 reloaderoo 作为 MCP 服务器
reloaderoo inspect mcp -- node my-server.js
这将以持久 MCP 服务器的形式运行 CLI 模式,通过 MCP 协议暴露 8 个调试工具:
list_tools - 列出所有服务器工具call_tool - 调用任何服务器工具list_resources - 列出所有服务器资源read_resource - 读取任何服务器资源list_prompts - 列出所有服务器提示get_prompt - 获取任何服务器提示get_server_info - 获取全面的服务器信息ping - 测试服务器连通性graph LR
A[AI 客户端] -->|MCP 协议| B[reloaderoo 代理]
B -->|转发消息| C[你的 MCP 服务器]
B -->|管理生命周期| C
B -->|添加 restart_server 工具| A
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
代理模式魔力:
restart_server 工具graph LR
A[你的终端] -->|直接命令| B[reloaderoo 检查]
B -->|启动并查询| C[你的 MCP 服务器]
B -->|返回 JSON| A
style A fill:#e8f5e8
style B fill:#f3e5f5
style C fill:#e1f5fe
CLI 模式魔力:
通过环境变量配置 reloaderoo 行为:
# 日志配置
export MCPDEV_PROXY_LOG_LEVEL=debug # 日志级别(debug, info, notice, warning, error, critical)
export MCPDEV_PROXY_LOG_FILE=/path/to/log # 自定义日志文件路径(默认:stderr)
export MCPDEV_PROXY_DEBUG_MODE=true # 启用调试模式(true/false)
# 进程管理
export MCPDEV_PROXY_RESTART_LIMIT=5 # 最大重启尝试次数(0-10,默认:3)
export MCPDEV_PROXY_AUTO_RESTART=true # 启用/禁用自动重启(true/false)
export MCPDEV_PROXY_TIMEOUT=30000 # 操作超时时间(毫秒)
export MCPDEV_PROXY_RESTART_DELAY=1000 # 重启尝试之间的延迟(毫秒)
export MCPDEV_PROXY_CWD=/path/to/directory # 默认工作目录
配置你的 MCP 客户端连接到 reloaderoo 代理而不是直接连接到你的服务器:
{
"mcpServers": {
"my-dev-server": {
"command": "reloaderoo",
"args": [
"proxy",
"--",
"node",
"my-dev-server.js"
]
}
}
}
完美用于 CI/CD,测试脚本和自动化工作流:
#!/bin/bash
# 示例:你的 MCP 服务器测试脚本
# 检查服务器是否健康(使用 --quiet 获得干净输出)
if reloaderoo inspect ping --quiet -- node my-server.js >/dev/null 2>&1; then
echo "✅ 服务器健康"
else
echo "❌ 服务器健康检查失败"
exit 1
fi
# 使用干净的 JSON 输出测试特定功能
echo "测试 echo 工具..."
result=$(reloaderoo inspect call-tool echo --quiet --params '{"message":"test"}' -- node my-server.js)
# 解析并验证 JSON 响应(无服务器日志干扰)
if echo "$result" | jq -e '.content[0].text' >/dev/null; then
echo "✅ Echo 工具测试通过"
echo "响应:$(echo "$result" | jq -r '.content[0].text')"
else