关于 🚀 Tabby-MCP-Server
Tabby-MCP-Server 是 Tabby 终端的插件,通过 MCP 将活动终端会话暴露给兼容的 AI 客户端。它可以列出本地和 SSH 终端会话、执行命令并读取终端缓冲区内容。
主要功能
- 01列出本地与 SSH 终端会话
- 02在选定终端标签页中执行命令
- 03读取可见区域与历史缓冲区范围
- 04通过 outputId 分页获取长命令输出
- 05Pair Programming 模式下的确认与反馈对话框
适用场景
- 01让 AI 客户端在已打开的 Tabby 终端中运行命令
- 02读取终端历史输出以辅助排查问题
- 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/sseclaude mcp add --transport sse tabby http://localhost:3001/sse{"mcpServers":{"tabby":{"type":"sse","url":"http://localhost:3001/sse"}}}在 Cursor 中打开{"servers":{"tabby":{"type":"sse","url":"http://localhost:3001/sse"}}}在 VS Code 中打开{"mcpServers":{"tabby":{"type":"sse","url":"http://localhost:3001/sse"}}}{"mcpServers":{"tabby":{"serverUrl":"http://localhost:3001/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Tabby MCP 服务
一个 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 Terminal
- Docker,用于本地构建
- 提供的安装脚本仅适用于 macOS
- 支持 SSE 的 MCP 客户端,例如 Claude Code、Cursor、Windsurf、Codex 或其他支持 SSE 的 MCP 客户端
安装
选项 1:Tabby 插件商店
- 打开 Tabby
- 前往 Settings → Plugins
- 安装 Tabby MCP
- 重启 Tabby
- 打开 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
快速开始
- 启动或重启 Tabby
- 至少打开一个终端标签页
- 确认 MCP 服务正在运行:
curl http://localhost:3001/health
# OK
- 列出 Tabby 终端会话:
curl -X POST http://localhost:3001/api/tool/get_ssh_session_list \
-H 'Content-Type: application/json' \
-d '{}'
- 在某个会话中执行命令:
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 用 ❤️ 制作
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
