mcpField
🚀
🚀 Tabby-MCP-Server

🚀 Tabby-MCP-Server

远程服务
github.com/thuanpham582002开发工具963 周前更新
代码仓库

关于 🚀 Tabby-MCP-Server

Tabby-MCP-Server 是 Tabby 终端的插件,通过 MCP 将活动终端会话暴露给兼容的 AI 客户端。它可以列出本地和 SSH 终端会话、执行命令并读取终端缓冲区内容。

主要功能

  1. 01列出本地与 SSH 终端会话
  2. 02在选定终端标签页中执行命令
  3. 03读取可见区域与历史缓冲区范围
  4. 04通过 outputId 分页获取长命令输出
  5. 05Pair Programming 模式下的确认与反馈对话框

适用场景

  1. 01让 AI 客户端在已打开的 Tabby 终端中运行命令
  2. 02读取终端历史输出以辅助排查问题
  3. 03在执行前通过确认对话框审查 AI 发出的命令

MCP 相关

该项目是一个 MCP 服务,通过 SSE 端点 http://localhost:3001/sse 向 MCP 客户端提供 get_ssh_session_list、exec_command、get_terminal_buffer 和 get_command_output 四个工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:3001/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Tabby MCP 服务

npm version License: MIT GitHub issues GitHub stars

一个 Tabby Terminal 插件,通过 Model Context Protocol (MCP) 提供对当前终端会话的访问权限。它可以让兼容 MCP 的 AI 客户端发现终端标签页、执行命令、读取终端缓冲区,以及获取长命令的输出。

Tabby 仍是终端界面。你的 AI 客户端通过 MCP 连接 Tabby。

亮点

  • Tabby 内置 MCP 服务 — 在 http://localhost:3001/sse 提供 SSE 端点
  • 终端会话发现 — 列出本地和基于 SSH 的 Tabby 终端会话
  • 命令执行 — 在选定的 Tabby 终端标签页中运行命令
  • 可靠的输出捕获 — 使用简洁的标记协议解析退出代码
  • 终端缓冲区访问 — 读取标签页中可见或历史缓冲区范围
  • 长输出分页 — 通过 outputId 获取完整命令输出
  • 结对编程模式 — 可选的确认对话框和用户反馈
  • 基于 Docker 的构建 — 可在本地为 Tabby 可重复地构建插件

演示

Tabby MCP 插件 - AI 终端集成演示

目录

要求

  • 已安装并运行 Tabby Terminal
  • Docker,用于本地构建
  • 提供的安装脚本仅适用于 macOS
  • 支持 SSE 的 MCP 客户端,例如 Claude Code、Cursor、Windsurf、Codex 或其他支持 SSE 的 MCP 客户端

安装

选项 1:Tabby 插件商店
  1. 打开 Tabby
  2. 前往 Settings → Plugins
  3. 安装 Tabby MCP
  4. 重启 Tabby
  5. 打开 Settings → Plugins → MCP 并确认服务配置
选项 2:本地 Docker 构建
git clone https://github.com/thuanpham582002/tabby-mcp-server.git
cd tabby-mcp-server

make build-dist
bash scripts/copy_to_plugin_folder.sh

安装脚本会将插件复制到:

~/Library/Application Support/tabby/plugins/node_modules/tabby-mcp

安装或更新插件后,请重启 Tabby。

如果本地 Tabby 安装需要捆绑插件依赖项,请构建完整的软件包:

make build-dist-with-deps
bash scripts/copy_to_plugin_folder.sh

快速开始

  1. 启动或重启 Tabby
  2. 至少打开一个终端标签页
  3. 确认 MCP 服务正在运行:
curl http://localhost:3001/health
# OK
  1. 列出 Tabby 终端会话:
curl -X POST http://localhost:3001/api/tool/get_ssh_session_list \
  -H 'Content-Type: application/json' \
  -d '{}'
  1. 在某个会话中执行命令:
curl -X POST http://localhost:3001/api/tool/exec_command \
  -H 'Content-Type: application/json' \
  -d '{"command":"pwd","tabId":"0"}'

连接 MCP 客户端

Tabby-MCP 提供:

SSE endpoint:    http://localhost:3001/sse
Health endpoint: http://localhost:3001/health
HTTP test API:   http://localhost:3001/api/tool/<tool-name>

客户端连接前,Tabby 插件必须处于运行状态。

SSE 客户端

对于直接支持 SSE MCP 服务的客户端,请使用此配置:

{
  "mcpServers": {
    "tabby-mcp": {
      "type": "sse",
      "url": "http://localhost:3001/sse"
    }
  }
}

对于 Cursor 风格的客户端,请将其放入 MCP 配置文件中,例如:

~/.cursor/mcp.json
Claude Code

如果你的 Claude Code 版本支持 SSE MCP 服务:

claude mcp add --transport sse tabby-mcp http://localhost:3001/sse

如果你的配置使用 JSON,请使用 SSE 客户端配置。

Codex / OpenAI Codex CLI

请使用 Codex 客户端支持的 SSE MCP 服务配置:

{
  "mcpServers": {
    "tabby-mcp": {
      "type": "sse",
      "url": "http://localhost:3001/sse"
    }
  }
}

对于基于 TOML 的配置,请使用客户端支持的 SSE MCP 语法映射相同的 SSE URL。

工具

工具描述参数
get_ssh_session_list列出可用的 Tabby 终端会话无
exec_command在终端标签页中执行 shell 命令command、tabId、commandExplanation
get_terminal_buffer读取终端缓冲区内容tabId、startLine、endLine
get_command_output获取完整或分页的命令输出outputId、startLine、maxLines

配置

默认插件配置:

{
  "mcp": {
    "enabled": true,
    "startOnBoot": true,
    "port": 3001,
    "listenHost": "127.0.0.1",
    "serverUrl": "http://localhost:3001",
    "enableDebugLogging": true,
    "pairProgrammingMode": {
      "enabled": true,
      "showConfirmationDialog": true,
      "autoFocusTerminal": true
    }
  }
}

在 Tabby 的 Settings → Plugins → MCP 中配置这些选项。

要接受来自其他机器或环境(例如 WSL)的连接,请在 MCP 设置中将 listenHost 设为 0.0.0.0。这样一来,服务便可通过网络访问;请在服务 URL 中使用 MCP 客户端可访问的地址,并设置所需的防火墙限制。

配对编程模式

配对编程模式会在 AI 客户端执行命令时添加安全提示:

  • 执行命令前进行确认
  • 可选的终端自动聚焦
  • 拒绝命令并提供反馈
  • 命令结果对话框和历史记录

开发

克隆并构建:

git clone https://github.com/thuanpham582002/tabby-mcp-server.git
cd tabby-mcp-server
make build-dist

安装到本地 Tabby:

bash scripts/copy_to_plugin_folder.sh

重启 Tabby 并验证:

curl http://localhost:3001/health
构建目标
make build-dist            # Build dist only
make build-dist-with-deps  # Build dist and copy node_modules
make help                  # Show available targets

许可证

MIT — 详见 LICENSE。


由 Pham Tien Thuan 用 ❤️ 制作

评论

支持 Markdown

第一次接触 MCP?

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

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