终端会话管理工具

一个跨平台的终端会话管理工具,支持创建、管理和交互多个可见终端窗口,适用于开发调试和自动化任务。

  • by Hor1zonZzz
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Hor1zonZzz/terminal-mcp

使用说明

终端MCP

用于管理可见终端会话的跨平台MCP服务器。

特性

  • 跨平台:支持macOS、Windows、Linux和WSL
  • 可见终端:打开用户可以查看和交互的真实终端窗口
  • 多个会话:同时管理多个终端会话
  • 自动清理:MCP服务器停止时自动关闭终端

安装

由于此包未在PyPI上发布,请直接从存储库安装:

选项1:从GitHub安装(推荐)

uv pip install "git+https://github.com/Hor1zonZzz/terminal-mcp.git"

选项2:从本地克隆安装

git clone https://github.com/Hor1zonZzz/terminal-mcp.git
cd terminal-mcp
uv pip install -e .

用法

Claude桌面配置

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "terminal": {
      "command": "uv",
      "args": ["run", "terminal-mcp"]
    }
  }
}

或者,如果全局安装:

{
  "mcpServers": {
    "terminal": {
      "command": "terminal-mcp"
    }
  }
}

可用工具

terminal_create_or_get

创建新的可见终端窗口或按名称获取现有窗口。

参数:

  • name (可选):终端会话的名称
  • working_dir (可选):终端的工作目录

退货: 会话ID、名称、平台和状态消息

terminal_send_input

向终端发送输入(命令或文本)。

参数:

  • session_id:终端会话ID
  • text:要发送的命令/文本

终端_输出

从终端获取输出。

参数:

  • session_id:终端会话ID
  • lines (可选):要检索的行数(默认值:100,最大值:1000)

终端列表

列出所有活动的终端会话。

终端外壳

关闭终端会话。

参数:

  • session_id:要关闭的终端会话ID

平台支持

使用的平台 终端
macOS 终端.app(通过AppleScript)
Windows Windows终端(wt.exe)或cmd.exe
Linux gnome终端、konsole、xfce4终端、xterm等。
WSL WSL的Windows终端

运作原理

  1. 终端创建:使用特定于平台的方法打开真实的终端窗口
  2. 沟通:使用命名管道(Unix)或文件轮询(Windows)进行双向通信
  3. 输出捕获:将终端输出记录到临时文件中以供检索
  4. 清理:MCP服务器停止时自动关闭所有终端(通过atexit和信号处理程序)

许可证

麻省理工学院