终端MCP服务器
](https://smithery.ai/server/@weidwonder/terminal-mcp-server)
Notice 注意事项
当前项目不再维护。我建议你们使用更高级的命令工具---- 桌面指挥官\ 当前项目已经不在维护。我建议大家用更先进的终端MCP工具 桌面指挥官
*中文文档*
终端MCP服务器是一个模型上下文协议(MCP)服务器,允许在本地或远程主机上执行命令。它为AI模型和其他应用程序提供了一个简单而强大的界面,可以在本地机器上或通过SSH在远程主机上执行系统命令。
特性
- 本地命令执行:直接在本地计算机上执行命令
- 远程命令执行:通过SSH在远程主机上执行命令
- 会话保持:支持在指定时间(默认20分钟)内重用相同终端环境的持久会话
- 环境变量:为命令设置自定义环境变量
- 多种连接方式:通过stdio或SSE(服务器发送事件)连接
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的终端mcp服务器 铁匠铺:
npx -y @smithery/cli install @weidwonder/terminal-mcp-server --client claude手动安装
# Clone the repository
git clone https://github.com/weidwonder/terminal-mcp-server.git
cd terminal-mcp-server
# Install dependencies
npm install
# Build the project
npm run build用法
启动服务器
# Start the server using stdio (default mode)
npm start
# Or run the built file directly
node build/index.js以SSE模式启动服务器
SSE(服务器发送事件)模式允许您通过HTTP远程连接到服务器。
# Start the server in SSE mode
npm run start:sse
# Or run the built file directly with SSE flag
node build/index.js --sse您可以使用以下命令行选项自定义SSE服务器:
| 选项 | 描述 | 默认值 |
|---|---|---|
--port 或 -p | 要侦听的端口 | 8080 |
--endpoint 或 -e | 端点路径 | /sse |
--host 或 -h | 要绑定到 | localhost的主机 |
自定义选项示例:
# Start SSE server on port 3000, endpoint /mcp, and bind to all interfaces
node build/index.js --sse --port 3000 --endpoint /mcp --host 0.0.0.0这将启动服务器并在以下位置监听SSE连接 http://0.0.0.0:3000/mcp.
MCP检验员测试
# Start the MCP Inspector tool
npm run inspectorexecute_command工具
execute_command工具是终端MCP服务器提供的核心功能,用于在本地或远程主机上执行命令。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | string | Yes | 要执行的命令 |
| host | string | 否 | 要连接的远程主机。如果没有提供,则将在本地执行该命令 |
| username | string | 指定主机时必填 | SSH连接的用户名 |
| session | string | No | 会话名称,默认为“默认”。相同的会话名称将在20分钟内重复使用相同的终端环境 |
| env | object | No | 环境变量,默认为空对象 |
例子
在本地执行命令
{
"command": "ls -la",
"session": "my-local-session",
"env": {
"NODE_ENV": "development"
}
}在远程主机上执行命令
{
"host": "example.com",
"username": "user",
"command": "ls -la",
"session": "my-remote-session",
"env": {
"NODE_ENV": "production"
}
}使用AI助手进行配置
使用Roo代码进行配置
- 打开VSCode并安装Roo Code扩展
- 打开Roo Code设置文件:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json - 添加以下配置:
用于stdio模式(本地连接)
{
"mcpServers": {
"terminal-mcp": {
"command": "node",
"args": ["/path/to/terminal-mcp-server/build/index.js"],
"env": {}
}
}
}用于SSE模式(远程连接)
{
"mcpServers": {
"terminal-mcp-sse": {
"url": "http://localhost:8080/sse",
"headers": {}
}
}
}替换 localhost:8080/sse 如果您已经对其进行了自定义,则使用您的实际服务器地址、端口和端点。
使用Cline进行配置
- 打开Cline设置文件:
~/.cline/config.json - 添加以下配置:
用于stdio模式(本地连接)
{
"mcpServers": {
"terminal-mcp": {
"command": "node",
"args": ["/path/to/terminal-mcp-server/build/index.js"],
"env": {}
}
}
}用于SSE模式(远程连接)
{
"mcpServers": {
"terminal-mcp-sse": {
"url": "http://localhost:8080/sse",
"headers": {}
}
}
}使用Claude Desktop进行配置
- 打开Claude Desktop设置文件:
~/Library/Application Support/Claude/claude_desktop_config.json - 添加以下配置:
用于stdio模式(本地连接)
{
"mcpServers": {
"terminal-mcp": {
"command": "node",
"args": ["/path/to/terminal-mcp-server/build/index.js"],
"env": {}
}
}
}用于SSE模式(远程连接)
{
"mcpServers": {
"terminal-mcp-sse": {
"url": "http://localhost:8080/sse",
"headers": {}
}
}
}最佳实践
命令执行
- 在运行命令之前,最好确定系统类型(Mac、Linux等)
- 使用完整路径以避免与路径相关的问题
- 对于需要维护环境的命令序列,请使用
&&连接多个命令 - 对于长时间运行的命令,考虑使用
nohup或screen/tmux
SSH连接
- 确保已设置基于SSH密钥的身份验证
- 如果连接失败,请检查密钥文件是否存在(默认路径:
~/.ssh/id_rsa) - 确保SSH服务正在远程主机上运行
会话管理
- 使用会话参数来维护相关命令之间的环境
- 对于需要特定环境的操作,请使用相同的会话名称
- 请注意,会话将在20分钟不活动后自动关闭
错误处理
- 命令执行结果包括stdout和stderr
- 检查stderr以确定命令是否成功执行
- 对于复杂的操作,添加验证步骤以确保成功
重要说明
- 对于远程命令执行,必须提前设置基于SSH密钥的身份验证
- 对于本地命令执行,命令将在启动服务器的用户的上下文中运行
- 会话超时为20分钟,之后连接将自动关闭

