MCP命令代理
MCP(模型上下文协议)服务器,充当CLI命令的代理,专门为Expo开发设计,但适用于任何命令行应用程序。
如何在Cursor中使用(Expo示例)
- 转到您的世博会项目目录
- 跑
npx mcp-command-proxy --prefix "ExpoServer" --command "expo start" --port 8383 - 转到光标设置->MCP->+添加新的MCP服务器,如下所示:\
- 将名称设置为“ExpoServer”,键入“SSE”,URL设置为
http://localhost:8383/sse - 单击“保存”,您现在应该可以在Cursor中使用MCP服务器。这样地:
建议使用 --port 8383 标记以避免与其他服务器冲突。 此外,您还可以将以下指令添加到.cursorules文件中:
You can use MCP getRecentLogs tool to get the most recent logs from Expo server. And if needed, you can send key presses to the running process using sendKeyPress tool.特性
- 命令代理:通过MCP服务器运行任何CLI命令
- 日志收集:捕获和存储运行进程的日志(可配置缓冲区大小)
- 按键转发:将客户端的按键转发到正在运行的进程
- 透明体验:最终用户看到的命令输出与直接运行时完全相同
- 交互式命令:与Expo等交互式CLI工具配合使用
- MCP集成:使用MCP SDK构建,可轻松与Claude和其他启用MCP的AI助手集成
运作原理
- 服务器在伪终端(PTY)中启动指定命令
- 所有stdout/stderr输出为:
- 实时流式传输到客户端 - 存储在循环缓冲区中(大小可配置,默认300行)
- 客户端的按键被转发到正在运行的进程
- 服务器提供以下工具:
- 查看收集的日志 - 将按键发送到进程 - 获取进程的当前状态
用例
- 世博发展:运行
expo start并在收集日志的同时与之交互 - 构建流程:监控构建过程并分析日志
- 长期服务:监视服务并保留最近的日志历史记录
- 远程命令执行:执行和监视来自远程客户端的命令
需求
- Node.js 18+
- TypeScript
- pnpm(推荐)或npm
安装
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run directly
pnpm start -- --prefix "MyServer" --command "expo start"
# Or install globally
pnpm install -g
mcp-command-proxy --prefix "MyServer" --command "expo start"用法
基本用法
# Using the CLI
mcp-command-proxy --prefix "ExpoServer" --command "expo start"
# Or programmatically
import { createServer } from 'mcp-command-proxy';
const server = await createServer({
prefix: 'ExpoServer',
command: 'expo start',
bufferSize: 500,
port: 8080
});
// To stop the server later
server.stop();选项
--prefix, -p:服务器的名称/前缀(默认值:“CommandProxy”)--command, -c:运行命令(必需)--buffer-size, -b:要保留在内存中的日志行数(默认值:300)--port:HTTP服务器的端口(默认值:8080)--help, -h:显示帮助
MCP集成
此服务器实现了以下MCP工具:
getRecentLogs:返回缓冲区中的最新日志
- 参数: - limit (可选):要返回的日志数(默认值:100) - types (可选):要包含的日志类型(stdout、stderr、system)(默认值:all)
sendKeyPress:向正在运行的进程发送按键
- 参数: - key:要发送的键(例如“enter”、“a”、“1”、“空格”)
getProcessStatus:返回进程的当前状态
- 参数:无
例子
世博会开幕
mcp-command-proxy -p "ExpoServer" -c "expo start" -b 500与克劳德一起使用
- 配置Claude以连接到此MCP服务器(SSE端点:http://localhost:8080/sse)
- 让Claude运行Expo或其他命令
- Claude可以分析日志并帮助解决问题
发展
# Clone the repository
git clone https://github.com/hormold/mcp-command-proxy.git
cd mcp-command-proxy
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run in development mode
pnpm dev许可证
麻省理工学院
