你是否曾经希望AI能够直接在本地或远程服务器上执行系统命令,自动化运维任务?今天要介绍的开源项目终端MCP服务器,正是为了实现这个目标而设计的。它是一个MCP服务器,允许AI模型通过SSH在本地机器或远程主机上执行系统命令,支持持久会话和环境变量。

项目基本信息

信息项详情
项目名称终端MCP服务器
GitHub地址https://github.com/weidwonder/terminal-mcp-server
项目描述一个MCP服务器,允许AI模型通过SSH在本地机器或远程主机上执行系统命令,支持持久会话和环境变量。
作者weidwonder
开源协议MIT License
开源状态公开状态
LanguagesTypeScript
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

终端MCP服务器是一个让AI能够执行系统命令的MCP工具。它支持本地命令执行和通过SSH远程执行,提供持久会话和环境变量功能。

这个服务器提供了一个核心工具:

  • execute_command:在本地或远程主机上执行命令

支持的特性包括:

  • 本地命令执行
  • 远程SSH命令执行
  • 会话持久性(默认20分钟)
  • 自定义环境变量
  • stdio和SSE两种连接方式

二、核心优势

双模式执行

支持本地和远程命令执行。

会话持久性

同一会话在20分钟内重用相同的终端环境。

环境变量

为命令设置自定义环境变量。

灵活连接

支持stdio和SSE两种连接方式。

跨平台

支持Windows、macOS、Linux。

三、适用场景

自动化运维

让AI自动执行系统管理命令。

远程服务器管理

通过SSH管理远程服务器。

开发环境配置

AI可以自动配置开发环境。

批量任务执行

在多台服务器上批量执行命令。

四、安装教程

系统要求

工具用途下载/安装方式
Node.js运行环境[https://nodejs.org/] (版本要求:18.0 或以上)
SSH密钥远程认证(可选)ssh-keygen 生成
MCP客户端如Claude Desktop、Cline等根据客户端官网下载

安装步骤

第一步:克隆项目并安装依赖

git clone https://github.com/weidwonder/terminal-mcp-server.git
cd terminal-mcp-server
npm install
npm run build

第二步:启动服务器

stdio模式(默认)

npm start

SSE模式

npm run start:sse

SSE模式自定义选项:

node build/index.js --sse --port 3000 --endpoint /mcp --host 0.0.0.0

第三步:配置MCP客户端

对于Claude Desktop

找到配置文件,添加:

{
  "mcpServers": {
    "terminal-mcp": {
      "command": "node",
      "args": ["/path/to/terminal-mcp-server/build/index.js"]
    }
  }
}

SSE模式配置

{
  "mcpServers": {
    "terminal-mcp-sse": {
      "url": "http://localhost:8080/sse"
    }
  }
}

第四步:通过Smithery安装(可选)

npx -y @smithery/cli install @weidwonder/terminal-mcp-server --client claude

五、使用示例

示例1:本地命令执行

用户指令:“列出当前目录下的所有文件”

AI会调用execute_command工具:

{
  "command": "ls -la",
  "session": "my-local-session",
  "env": {
    "NODE_ENV": "development"
  }
}

示例2:远程命令执行

用户指令:“在远程服务器上查看系统状态”

{
  "host": "example.com",
  "username": "user",
  "command": "uptime",
  "session": "my-remote-session"
}

示例3:持久会话

使用相同的session名称,多个命令共享同一个终端环境:

{
  "command": "cd /var/log",
  "session": "my-session"
}
{
  "command": "pwd",
  "session": "my-session"  // 输出 /var/log
}

示例4:环境变量

{
  "command": "echo $MY_VAR",
  "session": "my-session",
  "env": {
    "MY_VAR": "hello"
  }
}

六、配置选项

命令行选项

选项描述默认值
--port, -p监听端口8080
--endpoint, -e端点路径/sse
--host, -h绑定的主机localhost

SSE模式示例

# 自定义端口和端点
node build/index.js --sse --port 3000 --endpoint /mcp --host 0.0.0.0

七、最佳实践

命令执行

  • 运行命令前先确定系统类型(Mac、Linux等)
  • 使用完整路径避免路径问题
  • &&连接需要保持环境的命令序列
  • 长时间运行命令使用nohupscreen/tmux

SSH连接

  • 确保已设置基于SSH密钥的身份验证
  • 检查密钥文件是否存在(默认路径:~/.ssh/id_rsa
  • 确保远程主机SSH服务正在运行

会话管理

  • 使用session参数保持相关命令之间的环境
  • 会话在20分钟无活动后自动关闭

八、常见问题

问题1:SSH连接失败

解决方案:确保已设置SSH密钥认证,检查远程主机SSH服务。

问题2:命令执行权限不足

解决方案:使用有足够权限的用户执行,或使用sudo。

问题3:会话在20分钟后失效

解决方案:会话超时是设计特性,需要时创建新会话。

问题4:Node.js版本要求

解决方案:需要Node.js 18或更高版本。

问题5:SSE模式连接失败

解决方案:检查端口是否正确,防火墙是否允许。

九、总结

终端MCP服务器是一个让AI能够执行系统命令的MCP工具,支持本地和远程执行,提供持久会话功能。

这个项目的最大价值在于:

  1. 双模式执行:本地和远程
  2. 会话持久性:保持终端环境
  3. 环境变量:自定义配置
  4. 灵活连接:stdio和SSE
  5. MIT许可证:可自由使用

如果你需要让AI执行系统命令或管理远程服务器,终端MCP服务器是一个非常实用的工具。

标签: 开发者工具

已有 34 条评论

    1. FionaFind FionaFind

      SSE模式支持远程连接。

    2. GeorgeGet GeorgeGet

      需要Node.js 18+。

    3. HannahHelp HannahHelp

      SSH密钥认证要提前设置。

    4. IrisIdea IrisIdea

      会话20分钟超时。

    5. JackJump JackJump

      stdio模式简单快捷。