<div align="center">
# π Tabby-MCP
[](https://opensource.org/licenses/MIT)
[](https://www.typescriptlang.org/)
[](https://tabby.sh/)
[](https://modelcontextprotocol.io/)
[](https://github.com/GentlemanHu/Tabby-MCP/releases)
[](#-about-this-project)
[](#%EF%B8%8F-platform-support)
**A Comprehensive MCP Server Plugin for Tabby Terminal**
*Connect AI assistants to your terminal with full control capabilities β 21 MCP tools included*
[English](README.md) | [δΈζ](README_CN.md)
</div>
---
## β¨ Features
<table>
<tr>
<td width="50%">
### π₯οΈ Terminal Control
- Execute commands with output capture
- Send interactive input (vim, less, top)
- Read terminal buffer content
- Abort/monitor running commands
</td>
<td width="50%">
### π Tab Management
- Create/Close/Duplicate tabs
- Navigate between tabs
- Move tabs left/right
- Reopen closed tabs
</td>
</tr>
<tr>
<td>
### π Profile Management
- List all terminal profiles
- Open new tabs with profiles
- SSH quick connect
- Profile selector dialog
</td>
<td>
### π Security Features
- Pair programming mode
- Command confirmation dialogs
- Comprehensive logging
- Safe command execution
</td>
</tr>
</table>
---
## π¦ Installation
### Method 1: Tabby Plugin Manager (Easiest)
Search for `tabby-mcp-server` directly in Tabby's built-in Plugin Manager:
1. Open Tabby β **Settings** β **Plugins**
2. Search for `tabby-mcp-server`
3. Click **Install**
4. Restart Tabby
---
### Method 2: Quick Install Script
**No Node.js required!** Downloads pre-built release from GitHub.
<details open>
<summary><b>π macOS / π§ Linux</b></summary>
```bash
curl -fsSL https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh | bash
```
Or download and run:
```bash
wget https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh
bash install.sh
```
</details>
<details>
<summary><b>πͺ Windows (PowerShell)</b></summary>
```powershell
irm https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 | iex
```
Or download and run:
```powershell
Invoke-WebRequest -Uri https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 -OutFile install.ps1
.\install.ps1
```
</details>
---
### Method 3: Build from Source
Requires **Node.js 18+**.
```bash
# Clone
git clone https://github.com/GentlemanHu/Tabby-MCP.git
cd Tabby-MCP
# Build & Install
bash scripts/build-and-install.sh
```
Or manually:
```bash
npm install --legacy-peer-deps
npm run build
# Then copy dist/ and package.json to Tabby plugins folder
```
---
### π After Installation
1. **Restart Tabby**
2. Go to **Settings β MCP**
3. Start the MCP server
---
## π Connecting AI Clients
### SSE Mode (Cursor / Windsurf)
Add to `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"Tabby MCP": {
"type": "sse",
"url": "http://localhost:3001/sse"
}
}
}
```
### STDIO Mode (Claude Desktop / VS Code)
For clients that don't support SSE, use the STDIO bridge:
**Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"tabby-mcp": {
"command": "node",
"args": ["/path/to/Tabby-MCP/scripts/stdio-bridge.js"]
}
}
}
```
**VS Code / Other IDEs:**
```json
{
"mcp": {
"servers": {
"tabby-mcp": {
"type": "stdio",
"command": "node",
"args": ["scripts/stdio-bridge.js"],
"cwd": "/path/to/Tabby-MCP"
}
}
}
}
```
> **Note**: STDIO mode requires Node.js installed. The bridge script connects to the SSE server running in Tabby.
### Endpoints
| Endpoint | URL |
|----------|-----|
| SSE | `http://localhost:3001/sse` |
| Health | `http://localhost:3001/health` |
| Info | `http://localhost:3001/info` |
---
## π οΈ Available Tools
### Terminal Control (6)
| Tool | Description |
|------|-------------|
| `get_session_list` | List all terminal sessions |
| `exec_command` | Execute command with output |
| `send_input` | Send interactive input (Ctrl+C, etc) |
| `get_terminal_buffer` | Read terminal buffer |
| `abort_command` | Abort running command |
| `get_command_status` | Monitor active commands |
### Tab Management (10)
| Tool | Description |
|------|-------------|
| `list_tabs` | List all open tabs |
| `select_tab` | Focus a specific tab |
| `close_tab` | Close a tab |
| `close_all_tabs` | Close all tabs |
| `duplicate_tab` | Duplicate a tab |
| `next_tab` / `previous_tab` | Navigate tabs |
| `move_tab_left` / `move_tab_right` | Reorder tabs |
| `reopen_last_tab` | Reopen closed tab |
### Profile Management (4)
| Tool | Description |
|------|-------------|
| `list_profiles` | List terminal profiles |
| `open_profile` | Open tab with profile |
| `show_profile_selector` | Show profile dialog |
| `quick_connect` | SSH quick connect |
---
## βοΈ Configuration
| Setting | Description | Default |
|---------|-------------|---------|
| Port | MCP server port | 3001 |
| Start on Boot | Auto-start server | true |
| Pair Programming | Confirm commands | true |
---
## β οΈ Platform Support
| Platform | Status | Notes |
|----------|--------|-------|
| macOS | β
**Tested** | Fully functional |
| Windows | β οΈ Untested | Should work β please report issues |
| Linux | β οΈ Untested | Should work β please report issues |
> **Note**: This plugin has been developed and tested on macOS. Windows and Linux support should work but is unverified. Community testing and feedback welcome!
---
## π€ About This Project
<div align="center">
### π¨ 95%+ AI Generated
This project was created almost entirely by AI (Claude/Gemini) through pair programming.
The human's role was primarily to provide requirements and test the results.
</div>
### Acknowledgments
This project builds upon the work of [tabby-mcp-server](https://github.com/thuanpham582002/tabby-mcp-server) by [@thuanpham582002](https://github.com/thuanpham582002).
**Improvements over the original:**
| Feature | Original | This Project |
|---------|----------|--------------|
| MCP Tools | 4 | **18** |
| Tab Management | β | β
|
| Profile/SSH | β | β
|
| Init Bug | Has issue | β
Fixed |
| Install Script | Manual | β
One-liner |
---
## π€ Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
---
## π License
MIT License - see [LICENSE](LICENSE)
---
<div align="center">
Made with β€οΈ by AI and [GentlemanHu](https://github.com/GentlemanHu)
β **Star this repo if you find it useful!**
</div>