这是一个提供持久 shell 命令执行功能的 Model Context Protocol (MCP) 服务器,特别适用于 Claude 以及其他支持 MCP 协议的 AI 助手,能帮助你高效地运行和管理 shell 命令。
你可以按照以下步骤快速启动该 MCP 服务器:
# 克隆仓库
git clone https://github.com/samihalawa/mcp-server-shell-exec.git
cd mcp-server-shell-exec
# 安装依赖
npm install
# 构建服务器
npm run build
# 启动服务器
npm start
git clone https://github.com/samihalawa/mcp-server-shell-exec.git
cd mcp-server-shell-exec
npm install
npm run build
npm start
将服务器添加到 MCP 配置中:
{
"servers": {
"shell-exec-server": {
"command": "/path/to/node",
"args": ["/path/to/mcp-server-shell-exec/build/index.js"],
"enabled": true,
"port": 3006,
"environment": {
"NODE_PATH": "/path/to/node_modules",
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
}
}
}
execute-command(command: "ls -la")
execute-command(command: "sleep 60 && echo '完成'", runInBackground: true)
execute-command(command: "find / -name '*.js'", timeoutMs: 60000)
reset-shell()
在持久 Shell 会话中执行 shell 命令。
| 参数 | 详情 |
|---|---|
command (string, 必填) |
要执行的 shell 命令 |
runInBackground (boolean, 可选) |
是否在后台运行命令,默认值为 false |
timeoutMs (number, 可选) |
命令的超时时间(以毫秒为单位),默认值为 30000 |
返回值:
| 属性 | 详情 |
|---|---|
success (boolean) |
命令是否执行成功 |
output (string) |
命令执行输出的结果 |
重置 Shell 会话,此操作会终止当前会话并启动一个新的会话。
| 参数 | 详情 |
|---|---|
| 无 |
返回值:
| 属性 | 详情 |
|---|---|
success (boolean) |
是否成功重置了 Shell 会话 |
message (string) |
状态信息 |
服务器借助 Node.js 的 node-pty 包创建伪终端,以此来维持命令间的状态,具体表现为:
node-pty 包。本项目采用 MIT 许可证。