mcp CLI执行器
一个CLI命令执行服务器,它能够以结构化输出的方式运行shell命令,并提供详细的执行结果,包括标准输出、标准错误、退出代码和执行时长。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp-cli-exec": {
"args": [
"-y",
"mcp-cli-exec"
],
"command": "npx"
}
}
}
可用工具 (2 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
cli-exec-raw 2 个参数 需填 1 项
Execute a raw CLI command and return structured output
必填参数:command
cli-exec 3 个参数 需填 2 项
Execute one or more CLI commands in a specific working directory
必填参数:workingDirectory、commands
服务介绍
mcp-cli-exec MCP 服务器
一个强大的 CLI 命令执行 MCP 服务器,能够以结构化输出运行 shell 命令。此包特别关注命令执行功能,使其与其他 MCP CLI 工具区分开来。
功能
工具
cli-exec-raw
执行原始的 CLI 命令并返回结构化输出
- 接受一个命令字符串和可选的超时时间(默认:5分钟)
- 返回详细的执行结果,包括 stdout、stderr 和退出码
- 通过结构化的错误响应优雅地处理错误
cli-exec
在特定的工作目录中执行一个或多个 CLI 命令
- 支持单个命令、用 && 链接的命令或命令数组
- 所有命令都在指定的工作目录中执行
- 为每个命令返回详细的结果:
- 成功/失败状态
- 退出码
- stdout 和 stderr(已移除 ANSI 代码)
- 执行持续时间
- 工作目录
- 在第一个命令失败时停止
- 每个命令的可选超时时间(默认:5分钟)
注意:由于执行上下文的限制,每个命令独立运行。命令内的目录更改(cd)不会影响后续命令。所有命令都在最初指定的工作目录中执行。
输出格式
命令返回包含以下内容的结构化结果:
- 成功/失败状态
- 退出码
- stdout 和 stderr(已移除 ANSI 代码)
- 执行持续时间
- 工作目录
- 如适用的详细错误信息
示例用法
cli-exec-raw
简单的命令执行:
{
"command": "echo Hello World"
}
带有超时:
{
"command": "long-running-script.sh",
"timeout": 300000
}
cli-exec
在特定目录中的单个命令:
{
"workingDirectory": "/path/to/project",
"commands": "npm install"
}
多个命令(都在相同的工作目录中运行):
{
"workingDirectory": "C:\\project",
"commands": [
"dir /b",
"npm run build"
]
}
安装
可以选择从 npm 安装:
npm install -g mcp-cli-exec
# or with pnpm
pnpm add -g mcp-cli-exec
或者直接在配置中使用 npx
对于 Cline VSCode 扩展
添加到 %APPDATA%/Code - Insiders/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json 中:
{
"mcpServers": {
"mcp-cli-exec": {
"command": "npx",
"args": ["-y", "mcp-cli-exec"]
}
}
}
对于 Claude Desktop
添加到相应的配置文件中:
Windows: %APPDATA%/Claude/claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-cli-exec": {
"command": "npx",
"args": ["-y", "mcp-cli-exec"]
}
}
}
特殊 Windows 配置
如果在 Windows 上遇到 ENOENT spawn npx 问题,请使用指定了完整路径的替代配置:
{
"mcpServers": {
"mcp-cli-exec": {
"command": "C:\\Users\\jim\\AppData\\Roaming\\nvm\\v22.1.0\\node.exe",
"args": [
"C:\\Users\\jim\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npx-cli.js",
"-y",
"mcp-cli-exec"
]
}
}
}
开发
安装依赖项:
pnpm install
构建服务器:
pnpm run build
开发时启用自动重建:
pnpm run watch
调试
由于 MCP 服务器通过 stdio 进行通信,调试可能会比较困难。MCP Inspector 提供了有用的调试工具:
pnpm run inspector
这将提供一个 URL 以便在浏览器中访问检查器,在那里你可以:
- 查看所有 MCP 消息
- 检查请求/响应负载
- 交互式测试工具
- 监控服务器状态
错误处理
服务器包括全面的错误处理:
- 所有工具参数的输入验证
- 结构化的错误响应
- 命令超时处理
- 工作目录验证
- 清除输出中的ANSI代码
技术细节
- 使用TypeScript和MCP SDK构建
- 使用execa进行可靠的命令执行
- 默认命令超时:5分钟
- 支持Windows和类Unix系统(根据您的操作系统使用适当的命令,例如 'dir' 与 'ls')
- 顺序执行命令,在首次失败时停止
- 每个命令在指定的工作目录中独立运行