关于 Terminal MCP Server
Terminal MCP Server 是一个 MCP 服务,让 AI Agent 能够通过结构化的终端状态树与终端应用交互,可理解为终端版的 Playwright。适用于需要驱动 TUI 或命令行程序的自动化与测试场景,兼容 Claude、Codex、Cursor 等支持 MCP 的客户端。
主要功能
- 01创建、列出和关闭终端会话
- 02生成包含 UI 元素的终端快照
- 03发送文本与按键(方向键、F 键、Ctrl 组合)
- 04按文本、元素或空闲状态等待
- 05支持无头模式与可视模式
适用场景
- 01让 Agent 操作 htop 等交互式终端程序
- 02自动化测试 TUI 应用的界面状态
- 03在 Windows 上通过 WSL 使用完整功能
MCP 相关
该服务作为 MCP 服务器运行,向 MCP 客户端暴露一组 terminal_ 前缀的工具,用于会话管理、快照、输入和输出读取。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Terminal MCP 服务
MCP 服务通过结构化的 Terminal State Tree 表示,使 AI Agent 能够与终端应用交互。适用于任何支持 Model Context Protocol 的 AI 助手。
安装
通过 npm(推荐)
npx mcp-server-terminal
通过 GitHub Releases
从 Releases 下载预构建的二进制文件。
从源代码构建
git clone https://github.com/aybelatchane/mcp-server-terminal.git
cd mcp-server-terminal
cargo build --release
# Binary: ./target/release/terminal-mcp
配置
Claude
Claude Code(命令行)
claude mcp add terminal -- npx mcp-server-terminal
Claude Desktop
添加到 ~/.claude.json(macOS/Linux)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
OpenAI Codex
Codex CLI
codex mcp add terminal -- npx mcp-server-terminal
Codex 配置文件
添加到 ~/.codex/config.toml:
[mcp_servers.terminal]
command = "npx"
args = ["mcp-server-terminal"]
Google Gemini
Gemini CLI
gemini mcp add terminal npx mcp-server-terminal
VS Code / GitHub Copilot
VS Code 1.101+ 支持 MCP。将其添加到 VS Code 设置(settings.json)中:
{
"mcp.servers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Cursor
添加到 ~/.cursor/mcp.json 或项目中的 .cursor/mcp.json:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Windsurf
添加到 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Zed
添加到 Zed 设置中(Preferences → Settings):
{
"context_servers": {
"terminal": {
"command": {
"path": "npx",
"args": ["mcp-server-terminal"]
}
}
}
}
Cline(VS Code 扩展)
点击 MCP Servers 图标 → Configure → Advanced MCP Settings,然后添加:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
AWS Bedrock
添加到 Bedrock Agent 的 MCP 配置中:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
其他 MCP 客户端
对于任何兼容 MCP 的客户端,请按以下方式配置服务:
- 命令:
npx - 参数:
["mcp-server-terminal"]
或者直接使用二进制文件:
- 命令:
terminal-mcp
用法
向 AI Agent 提出请求:
- “创建一个运行 htop 的终端会话”
- “截取终端快照”
- “按下向下箭头键”
- “输入 'ls -la' 并按 Enter”
MCP 工具
| 工具 | 描述 |
|---|---|
terminal_session_create | 启动终端会话 |
terminal_session_list | 列出活动会话 |
terminal_session_close | 关闭会话 |
terminal_session_resize | 调整终端尺寸 |
terminal_snapshot | 捕获包含 UI 元素的终端状态 |
terminal_type | 在终端中输入文本 |
terminal_press_key | 按下按键(箭头键、F 键、Ctrl+X) |
terminal_click | 点击检测到的 UI 元素 |
terminal_wait_for | 等待文本、元素或空闲状态 |
terminal_read_output | 读取原始终端输出 |
可视模式
默认情况下,会话会启动一个可见的终端窗口(xterm)。如需无头运行:
npx mcp-server-terminal --headless
或者在 MCP 配置中设置:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal", "--headless"]
}
}
}
X11 设置(Linux/WSL)
可视模式需要 X11。将 DISPLAY 环境变量添加到 MCP 配置中:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"DISPLAY": ":0"
}
}
}
}
日志记录
设置 RUST_LOG 环境变量:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"RUST_LOG": "info"
}
}
}
}
日志级别:error、warn、info、debug、trace
日志输出到 stderr(stdout 保留给 MCP 协议使用)。
平台支持
| 平台 | 架构 | 状态 | 可视模式 |
|---|---|---|---|
| Linux | x64, arm64 | ✅ 完全支持 | xterm + tmux |
| macOS | x64, arm64 | ✅ 完全支持 | Terminal.app / iTerm2 |
| Windows (WSL) | x64, arm64 | ✅ 完全支持 | xterm + tmux(通过 X11) |
| Windows (native) | x64 | ⚠️ 仅无头模式 | 不支持 |
Windows 用户: 使用 WSL 可获得包括可视模式在内的完整功能。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。