
MCP Command Proxy

2025.03.09
6
TypeScript命令行代理日志收集远程命令执行开发效率
MCP Command Proxy 是一个基于 MCP(Model Context Protocol)的服务,专门设计用于代理 CLI 命令的执行。它最初是为 Expo 开发设计的,但也可以适用于任何命令行应用程序。该服务允许用户通过 MCP 服务器运行命令,实时查看输出,收集日志,并支持交互式命令操作。
View on GitHub
Overview
基本能力
产品定位
MCP Command Proxy 是一个命令行代理服务,旨在通过 MCP 协议提供对 CLI 命令的远程执行和监控能力。
核心功能
- 命令代理:通过 MCP 服务器运行任何 CLI 命令
- 日志收集:捕获并存储运行进程的日志(可配置缓冲区大小)
- 按键转发:将客户端的按键转发到运行中的进程
- 透明体验:用户看到的命令输出与直接运行命令时完全相同
- 交互式命令:支持与交互式 CLI 工具(如 Expo)一起工作
- MCP 集成:使用 MCP SDK 构建,便于与 Claude 和其他支持 MCP 的 AI 助手集成
适用场景
- Expo 开发:运行
expo start
并与之交互,同时收集日志 - 构建过程:监控构建过程并分析日志
- 长时间运行的服务:监控服务并保持最近的日志历史
- 远程命令执行:从远程客户端执行和监控命令
工具列表
getRecentLogs
:返回缓冲区中最新的日志-
参数:
limit
(可选):要返回的日志数量(默认:100)types
(可选):要包含的日志类型(stdout, stderr, system)(默认:全部)
-
sendKeyPress
:发送按键到运行中的进程 -
参数:
key
:要发送的键(例如 "enter", "a", "1", "space")
-
getProcessStatus
:返回进程的当前状态 - 参数:无
常见问题解答
- 推荐使用
--port 8383
标志以避免与其他服务器冲突 - 可以在 .cursorrules 文件中添加指令来指导使用 MCP 工具
使用教程
使用依赖
- Node.js 18+
- TypeScript
- pnpm(推荐)或 npm
安装教程
# 安装依赖
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
:显示帮助
开发模式
# 克隆仓库
git clone https://github.com/hormold/mcp-command-proxy.git
cd mcp-command-proxy
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 在开发模式下运行
pnpm dev