MCP Terminal
by sichang824
Verified
local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
MCP Terminal
MCP Terminal 是一个基于 MCP(Model Context Protocol)的终端控制服务器,专为与大型语言模型(LLM)和 AI 助手集成而设计。它提供了一个标准化的接口,使 AI 可以执行终端命令并获取输出结果。
特性
- 使用官方 MCP SDK 实现
- 支持多种终端控制器:
- iTerm2 控制器:在 macOS 上使用 iTerm2 的 Python API 提供高级控制
- AppleScript 控制器:在 macOS 上使用 AppleScript 控制 Terminal 应用
- Subprocess 控制器:在所有平台上通用的终端控制方式
- 支持多种服务器模式:
- STDIO 模式:通过标准输入/输出与客户端通信
- SSE 模式:通过 Server-Sent Events 提供 HTTP API
- 自动检测最佳终端控制器
- 与 Claude Desktop 无缝集成
安装
先决条件
- Python 3.8+
- uv 包管理工具
如果您还没有安装 uv,可以通过以下命令安装:
Copy
使用 uv 安装(推荐)
克隆仓库并使用 uv 安装依赖:
Copy
使用 Makefile 安装
我们提供了 Makefile 来简化常见操作:
Copy
使用方法
运行 MCP 终端服务器
有多种方式可以启动服务器:
Copy
Claude Desktop
Copy
命令行选项
服务器支持多种命令行选项:
Copy
主要选项:
--controller
或-c
:指定终端控制器类型(auto, iterm, applescript, subprocess)--mode
或-m
:指定服务器模式(stdio, sse)--host
:指定 SSE 模式主机地址--port
或-p
:指定 SSE 模式端口--log-level
或-l
:指定日志级别
与 Claude Desktop 集成
MCP Terminal 可以与 Claude Desktop 无缝集成,为 Claude 提供终端控制能力。
配置步骤
- 启动 MCP Terminal 服务器(以 stdio 模式):Copy
- 配置 Claude Desktop 使用 MCP 服务器:打开 Claude Desktop,然后:
- 点击设置图标(通常在右上角)
- 导航到"扩展"或"工具"选项卡
- 启用"自定义工具"功能
- 添加 MCP Terminal 的配置:
- 工具名称:Terminal
- 工具路径:输入 mcp_terminal.py 的完整路径
- 使用 stdio 模式:勾选
- 保存配置
- 测试集成:在与 Claude 的对话中,你现在可以请求 Claude 执行终端命令,例如:
- "请列出我的主目录下的文件"
- "检查我当前的 Python 版本"
- "创建一个新目录并将当前日期写入一个文件"
故障排除
如果集成不正常工作:
- 确保 MCP Terminal 服务器正在运行
- 检查日志输出以查找错误
- 验证 Claude Desktop 的工具配置是否正确
- 尝试重启 Claude Desktop 和 MCP Terminal 服务器
API 规范
MCP Terminal 提供以下 MCP 函数:
execute_command
执行终端命令并获取输出结果。
参数:
command
(string):要执行的命令wait_for_output
(boolean, 可选):是否等待并返回命令输出,默认为 truetimeout
(integer, 可选):等待输出的超时时间(秒),默认为 10
返回:
success
(boolean):命令是否成功执行output
(string, 可选):命令的输出结果error
(string, 可选):如果命令失败,返回错误信息return_code
(integer, 可选):命令的返回代码warning
(string, 可选):警告信息
get_terminal_info
获取终端信息。
参数:无
返回:
terminal_type
(string):正在使用的终端类型platform
(string):运行平台
安全考虑
MCP Terminal 允许执行任意终端命令,这可能带来安全风险。在生产环境中使用时,应该:
- 限制服务器只接受来自受信任来源的连接
- 考虑实现命令白名单或黑名单
- 定期审计执行的命令
- 在专用账户下运行服务器,限制其权限
开发
目录结构
Copy
运行测试
Copy
代码格式化
Copy
贡献
欢迎贡献!请遵循以下步骤:
- Fork 仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 提交 Pull Request
许可证
此项目采用 MIT 许可证 - 详情见LICENSE文件。
This server cannot be installed
A server that enables AI assistants to execute terminal commands and retrieve outputs via the Model Context Protocol (MCP).