一个作为CLI命令代理的MCP(模型上下文协议)服务器,特别设计用于Expo开发,但也可适应任何命令行应用程序。
npx mcp-command-proxy --prefix "ExpoServer" --command "expo start" --port 8383
http://localhost:8383/sse
建议使用 --port 8383 标志以避免与其他服务器冲突。
另外,你还可以在 .cursorrules 文件中添加以下指令:
你可以使用MCP的getRecentLogs工具来获取Expo服务器的最新日志。如果需要,你可以使用sendKeyPress工具向正在运行的进程发送按键。
expo start 并与其互动同时收集日志# 安装依赖
pnpm install
# 构建项目
pnpm build
# 直接运行
pnpm start -- --prefix "MyServer" --command "expo start"
# 或全局安装
pnpm install -g
mcp-command-proxy --prefix "MyServer" --command "expo start"
# 使用CLI
mcp-command-proxy --prefix "ExpoServer" --command "expo start"
# 或编程方式
import { createServer } from 'mcp-command-proxy';
const server = await createServer({
prefix: 'ExpoServer',
command: 'expo start',
bufferSize: 500,
port: 8080
});
// 后续停止服务器
server.stop();
--prefix, -p:服务器的名称/前缀(默认:"CommandProxy")--command, -c:要运行的命令(必需)--buffer-size, -b:内存中要保留的日志行数(默认:300)--port:HTTP服务器的端口(默认:8080)--help, -h:显示帮助此服务器实现了以下MCP工具:
getRecentLogs:返回缓冲区中的最新日志
limit(可选):要返回的日志数量(默认:100)types(可选):要包含的日志类型(stdout, stderr, system)(默认:全部)sendKeyPress:向正在运行的进程发送按键
key:要发送的键(例如:"enter", "a", "1", "space")getProcessStatus:返回进程的当前状态
mcp-command-proxy -p "ExpoServer" -c "expo start" -b 500
# 克隆仓库
git clone https://github.com/hormold/mcp-command-proxy.git
cd mcp-command-proxy
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 在开发模式下运行
pnpm dev
MIT