article
README
🚀 MCP 命令代理服务器
MCP 命令代理服务器是一个基于 MCP(模型上下文协议)的服务器,它作为命令行界面(CLI)命令的代理,专为 Expo 开发量身打造,同时也能适配任意命令行应用程序,为开发者提供便捷的命令执行与管理体验。
🚀 快速开始
如何在 Cursor 中使用(以 Expo 为例)
- 进入你的 Expo 项目的目录。
- 运行
npx mcp-command-proxy --prefix "ExpoServer" --command "expo start" --port 8383。 - 打开 Cursor 设置 -> MCP -> 点击“+添加新的 MCP 服务器”,如下所示:

- 设置名称为“ExpoServer”,类型为“SSE”,URL 为
http://localhost:8383/sse。 - 点击“保存”后,你就可以在 Cursor 中使用该 MCP 服务器了。如下所示:

💡 使用建议
建议使用
--port 8383标志以避免与其他服务器冲突。此外,可以在.cursorrules 文件中添加以下说明:
你可以使用 MCP 的 getRecentLogs 工具获取 Expo 服务器的最新日志。如果需要,还可以通过 sendKeyPress 工具向运行中的进程发送按键。
✨ 主要特性
- 命令代理:通过 MCP 服务器运行任何 CLI 命令。
- 日志收集:捕获并存储运行进程的日志(可配置缓冲区大小)。
- 按键转发:将客户端的按键转发到正在运行的进程中。
- 透明体验:最终用户看到的命令输出与直接运行时完全一致。
- 交互式命令支持:适用于交互式 CLI 工具,如 Expo。
- MCP 集成:使用 MCP SDK 构建,便于与 Claude 和其他 MCP 启用的 AI 助手集成。
🔧 技术细节
工作原理
- 服务器在伪终端(PTY)中启动指定的命令。
- 所有 stdout/stderr 输出都会:
- 实时流式传输到客户端。
- 存储在循环缓冲区中(可配置大小,默认 300 行)。
- 客户端的按键转发到运行中的进程。
- 服务器提供以下工具:
- 查看收集的日志。
- 向进程发送按键。
- 获取进程的当前状态。
📦 安装指南
依赖安装
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 直接运行
pnpm start -- --prefix "MyServer" --command "expo start"
# 或全局安装
pnpm install -g
然后运行:
mcp-command-proxy --install
开发环境搭建
# 克隆仓库
git clone https://github.com/hormold/mcp-command-proxy.git
cd mcp-command-proxy
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 运行开发模式
pnpm dev
📚 详细文档
使用场景
- Expo 开发:运行
expo start并与之交互,同时收集日志。 - 构建过程:监控构建过程并分析日志。
- 长期运行的服务:监控服务并保持最近的日志历史。
- 远程命令执行:从远程客户端执行和监控命令。
📄 许可证
本项目采用 MIT 许可证。
Scan to join WeChat group