mcpField
T
Terminal MCP Server

Terminal MCP Server

本地服务
github.com开发工具2143 周前更新

关于 Terminal MCP Server

Terminal MCP Server 是一个 MCP 服务,让 AI Agent 能够通过结构化的终端状态树与终端应用交互,可理解为终端版的 Playwright。适用于需要驱动 TUI 或命令行程序的自动化与测试场景,兼容 Claude、Codex、Cursor 等支持 MCP 的客户端。

主要功能

  1. 01创建、列出和关闭终端会话
  2. 02生成包含 UI 元素的终端快照
  3. 03发送文本与按键(方向键、F 键、Ctrl 组合)
  4. 04按文本、元素或空闲状态等待
  5. 05支持无头模式与可视模式

适用场景

  1. 01让 Agent 操作 htop 等交互式终端程序
  2. 02自动化测试 TUI 应用的界面状态
  3. 03在 Windows 上通过 WSL 使用完整功能

MCP 相关

该服务作为 MCP 服务器运行,向 MCP 客户端暴露一组 terminal_ 前缀的工具,用于会话管理、快照、输入和输出读取。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aybelatchane-mcp-server-terminal": {
"command": "npx",
"args": [
"-y",
"mcp-server-terminal"
],
"env": {
"DISPLAY": "<DISPLAY>",
"RUST_LOG": "<RUST_LOG>"
}
}
}
}
启动命令npx -y mcp-server-terminal
需要配置的环境变量
DISPLAYX11 display for visual mode (Linux/WSL). Example: :0
RUST_LOGLogging level: error, warn, info, debug, trace

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-server-terminal1.0.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Terminal MCP 服务

npm version npm downloads License: MIT

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 协议使用)。

平台支持

平台架构状态可视模式
Linuxx64, arm64✅ 完全支持xterm + tmux
macOSx64, arm64✅ 完全支持Terminal.app / iTerm2
Windows (WSL)x64, arm64✅ 完全支持xterm + tmux(通过 X11)
Windows (native)x64⚠️ 仅无头模式不支持

Windows 用户: 使用 WSL 可获得包括可视模式在内的完整功能。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。