节点执行mcp

MCP服务器,用于通过以下方式在远程机器上执行命令 龙虾 节点执行。
通过提供一个工具 模型上下文协议:
run--在远程Mac(或任何OpenClaw节点)上执行shell命令,并获取stdout、stderr和退出代码。
每15秒的内置进度通知可防止MCP客户端在长时间运行命令期间超时。
快速开始
NODE_ID=your-node-id npx node-exec-mcp需要Node.js 20+和 OpenClaw命令行界面 已安装并配置了对目标节点的访问权限。
先决条件
- 至少有一个连接节点的运行中的OpenClaw网关
- 节点ID(用
openclaw nodes status) - OpenClaw CLI经过身份验证,能够访问网关
配置
克劳德桌面/光标
{
"mcpServers": {
"node-exec": {
"command": "npx",
"args": ["-y", "node-exec-mcp"],
"env": {
"NODE_ID": "your-node-id"
}
}
}
}OpenClaw(Docker)
在Docker容器内运行时(例如,作为OpenClaw MCP适配器服务器):
{
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"NODE_ID": "your-node-id"
}
}工具参考
run
在远程节点上执行shell命令。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
command | string | yes | 要在远程计算机上执行的Shell命令 |
cwd | string | no | 远程计算机上的工作目录(默认: /tmp) |
timeout_ms | number | no | 每次呼叫超时(毫秒)(默认值: 300000) |
返回stdout、stderr和退出代码。错误通过以下方式标记 isError 在MCP响应中。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
NODE_ID | — | 必修的。 目标节点ID(来自 openclaw nodes status) |
OPENCLAW_BIN | openclaw | 重写OpenClaw CLI二进制名称或绝对路径 |
DEFAULT_CWD | /tmp | 远程计算机上的默认工作目录 |
TIMEOUT_MS | 300000 | 默认每次呼叫超时时间(毫秒)(5分钟) |
运作原理
在后台,服务器向OpenClaw CLI发出命令:
openclaw nodes run --node --json --timeout --cwd -- bash -c JSON响应被解析并转换为MCP工具结果。在长时间运行的命令期间,每15秒发送一次进度通知,以保持MCP连接处于活动状态。
安全注意事项
- 命令在目标节点上运行OpenClaw配套应用程序的用户的权限下执行。
- 节点上配置的审批策略适用(允许登录、未登录时询问或完全访问)。
- 上没有输入净化
command参数 --MCP客户端(LLM)在节点的批准策略内具有完全的shell访问权限。这是为了灵活性而设计的,但意味着节点的批准策略是您的安全边界。 - 命令通过以下方式执行
bash -c--确保bash在目标机器上可用。
发展
git clone https://github.com/pandysp/node-exec-mcp.git
cd node-exec-mcp
npm install
npm run build
npm test许可证
麻省理工学院
