Linux命令行执行器

一个基于Node.js/NPM的MCP服务器,提供HTTP SSE端点供MCP客户端使用,并包含一个可在主机上执行任意Linux命令行的`exec`工具。

  • by dx-tooling
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dx-tooling/maas-mcpserver-linux-cmd-line

使用说明

MCP服务器:Linux命令行执行器

基于Node.js/NPM的MCP服务器:

  • 为MCP客户端公开HTTP SSE端点
  • 提供 exec 在主机上运行任意Linux命令行的工具

安全说明:旨在在具有受信任客户端的Docker容器中运行。这 exec 该工具提供无限制的命令执行。

需求

  • nvm和匹配的Node版本 .nvmrc
  • npm

设置

cd /Users/manuel/git/github/dx-tooling/maas/maas-mcpserver-linux-cmd-line
nvm use
npm install

在SSE模式(HTTP)下运行

  • 开发人员(TypeScript):
nvm use
PORT=3000 npm run dev:http
  • 构建+运行(JavaScript):
nvm use
npm run build
PORT=3000 npm run start:http

服务器公开:

  • 获取 /health → 健康检查端点(返回带有服务状态的HTTP 200)
  • 获取 /mcp → 建立SSE流(已弃用HTTP+SSE传输)
  • 发布 /messages?sessionId=<id> → 来自客户端的JSON-RPC消息

使用MCP兼容客户端通过SSE连接。手动交互并非易事,因为 sessionId 通过SSE流提供。

健康检查

服务器在以下位置提供健康检查端点 /health 在服务运行时返回HTTP 200:

curl http://localhost:3000/health

答复:

{
  "status": "healthy",
  "timestamp": "2025-09-10T06:50:40.772Z",
  "service": "maas-mcpserver-linux-cmd-line",
  "version": "1.0.0",
  "activeSessions": 0
}

在stdio模式下运行

  • 开发人员:
nvm use
npm run dev:stdio
  • 构建+运行:
nvm use
npm run build
npm run start:stdio

工具: exec

  • 姓名: exec
  • 说明:在主机系统上执行Linux命令
  • 输入架构:
    • command (string,必填):完整shell命令行
    • cwd (字符串,可选):工作目录
    • env (记录<string,string>,可选):额外的环境变量
  • 输出模式(结构化):
    • exitCode (编号)
    • stdout (字符串)
    • stderr (字符串)

当命令运行时,stdout/stderr块作为MCP日志消息在当前会话中转发。

质量

nvm use
npm run quality

备注

  • 默认端口为 3000 当 PORT 未设置。
  • 本项目中的SSE传输是为了兼容性/测试而提供的(已弃用的协议)。对于生产,首选stdio或具有兼容客户端的现代传输。