Tabby-MCP
Allows AI assistants to control the Tabby terminal on Linux, providing tools to execute commands, read terminal buffers, and manage tabs and sessions.
Allows AI assistants to control the Tabby terminal on macOS, providing tools to execute commands, read terminal buffers, and manage tabs and sessions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tabby-MCPlist all my open tabs and tell me what's in the current buffer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Tabby-MCP
A Comprehensive MCP Server Plugin for Tabby Terminal
Connect AI assistants to your terminal with full control β 35 MCP tools including SFTP support
π Tabby-MCP is a powerful plugin for Tabby Terminal, bridging the gap between AI agents and your terminal environment. It provides a standardized MCP interface for AI to execute commands, manage tabs, and handle file operations securely.
Give your AI hands to work with.
β¨ Features
Safety model (v1.6.3): Pair Programming Mode gates
exec_command,send_input, and sensitive SFTP operations with a non-blocking approval dialog that automatically rejects after two minutes. The dialog restores terminal focus to avoid Electron/xterm keyboard and IME issues. Read-only transfer-status tools and emergencyabort_commandremain available without approval. Network access is restricted to loopback (127.0.0.1), Origin validation is applied to both MCP transports, and the direct tool API is disabled by default.
Related MCP server: Terminally MCP
π¦ Installation
Method 1: Tabby Plugin Manager (Easiest)
Search for tabby-mcp-server directly in Tabby's built-in Plugin Manager:
Open Tabby β Settings β Plugins
Search for
tabby-mcp-serverClick Install
Restart Tabby
Method 2: Quick Install Script
No Node.js required! Downloads pre-built release from GitHub.
curl -fsSL https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh | bashOr download and run:
wget https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh
bash install.shirm https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 | iexOr download and run:
Invoke-WebRequest -Uri https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 -OutFile install.ps1
.\install.ps1Method 3: Build from Source
Requires Node.js 18+.
# Clone
git clone https://github.com/GentlemanHu/Tabby-MCP.git
cd Tabby-MCP
# Build & Install
bash scripts/build-and-install.shOr manually:
npm install --legacy-peer-deps
npm run build
# Then copy dist/ and package.json to Tabby plugins folderπ After Installation
Restart Tabby
Go to Settings β MCP
Start the MCP server
π Connecting AI Clients
Streamable HTTP Mode (Cursor / Windsurf / Cline)
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"Tabby MCP": {
"type": "streamable_http",
"url": "http://127.0.0.1:3001/mcp"
}
}
}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):
{
"mcpServers": {
"tabby-mcp-server": {
"command": "node",
"args": ["/path/to/Tabby-MCP/scripts/stdio-bridge.js"]
}
}
}VS Code / Other IDEs:
{
"mcp": {
"servers": {
"tabby-mcp-server": {
"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 | Protocol |
Streamable HTTP |
| 2025-03-26 (recommended) |
Legacy SSE |
| 2024-11-05 |
Health |
| - |
Info |
| - |
π οΈ Available Tools
Terminal Control (8)
Tool | Description |
| List all terminal sessions with stable UUIDs and metadata |
| Execute command with flexible session targeting |
| Send interactive input (Ctrl+C, etc) |
| Read terminal buffer (defaults to active session) |
| Abort running command |
| Monitor active commands |
| Focus a specific pane in split view |
| Detect shell/REPL context (optional; disabled by default) |
New in v1.1: All terminal tools now support flexible session targeting:
sessionId(stable UUID, recommended)
tabIndex(legacy, may change)
title(partial match)
profileName(partial match)No parameters = use active session
Tab Management (11)
Tool | Description |
| List all open tabs with stable IDs |
| Focus a specific tab (defaults to active) |
| Close a tab |
| Close all tabs |
| Duplicate a tab |
| Navigate tabs |
| Reorder tabs |
| Reopen closed tab |
| Split current tab (horizontal/vertical) |
Profile Management (4)
Tool | Description |
| List terminal profiles |
| Open tab with profile |
| Show profile dialog |
| Smart quick connect (SSH/telnet/socket/serial) |
SFTP Operations (12) π
Requires
tabby-ssh. If it is not installedβor SFTP is disabled in Settingsβall 12 SFTP tools are omitted for new MCP sessions. With Pair Programming confirmation enabled, directory listing, metadata reads, file reads/writes, transfers, deletes, renames, directory creation, and transfer cancellation require approval.
Basic Operations:
Tool | Description | Key Parameters |
| List remote directory |
|
| Read remote file (text) |
|
| Write text to remote file |
|
| Create remote directory |
|
| Delete remote file/directory |
|
| Rename/move remote file |
|
| Get file/directory info |
|
File Transfer (supports sync/async):
Tool | Description | Key Parameters |
| Upload local file β remote |
|
| Download remote β local file |
|
| Query transfer progress |
|
| List all transfers |
|
| Cancel active transfer |
|
Transfer Modes:
sync=true(default) waits for completion.sync=falsereturns immediately withtransferId.Size Limits: Configurable in Settings β MCP β SFTP.
βοΈ Configuration
Setting | Description | Default |
Port | MCP server port | 3001 |
Start on Boot | Auto-start server | true |
Pair Programming | Confirm commands, raw input, and sensitive SFTP operations | true |
Confirm SFTP Operations | Apply the approval dialog to sensitive SFTP operations ( | true |
Session Tracking | Use stable UUIDs | true |
Background Execution | Run without focus | false |
SFTP Enabled | Enable SFTP tools | true |
Environment Detection | Expose | false |
Direct Tool API | Enable compatibility endpoint | false |
π Background Execution Mode
Enable this mode to allow MCP commands to run without switching focus to the terminal. This lets you continue working on other tabs while AI executes commands in the background.
Settings β MCP β Background Execution
β οΈ Risks:
You won't see commands executing in real-time
If you type in the target terminal while AI is running, input will conflict
For split panes, commands go to the
sessionIdtarget, not the focused paneDangerous commands could run without you noticing
β Recommended: Keep Pair Programming Mode, confirmation dialogs, and file-operation confirmation enabled. The server binds only to
127.0.0.1; the direct/api/tool/:namecompatibility API is disabled by default.
β οΈ 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
π¨ 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.
Acknowledgments
This project builds upon the work of tabby-mcp-server by @thuanpham582002.
Improvements over the original:
Feature | Original | This Project |
MCP Tools | 4 | 35 |
Tab Management | β | β |
Profile/SSH | β | β |
SFTP Support | β | β |
Stable Session IDs | β | β |
Streamable HTTP | β | β |
Init Bug | Has issue | β Fixed |
Install Script | Manual | β One-liner |
π Changelog
v1.6.3-rc.1 (2026-07-27) β prerelease
β οΈ Prerelease, not yet published to npm. These fixes are verified by static analysis, a typecheck, smoke regression checks, and a production build β but not by a manual run inside a real Tabby/Electron session. Dialog focus restoration, live SFTP transfer cancellation, and multi-instance port handover in particular still need hands-on testing. Install it from the GitHub prerelease and please report anything that misbehaves on the referenced issues.
Fixed Issue #9: Pair Programming approval now covers
send_inputand sensitive SFTP operations; transfer cancellation now stops the underlying transfer.Fixed Issue #7: replaced blocking browser dialogs with a non-blocking focus-restoring dialog and made command focus honor the Auto-focus setting.
Fixed Issue #5: loopback-only bind, startup retry, stale-instance detection, and authenticated same-install port handover.
Fixed Legacy SSE JSON body handling for SDK 1.25.2, session cleanup, stale Streamable HTTP session handling, Origin validation, fish active environment probes, SFTP locator consistency, and STDIO reconnect/framing behavior.
Pinned
@modelcontextprotocol/sdkto 1.25.2, committedpackage-lock.json, and added typecheck/smoke/build quality gates.Tool count is now documented accurately: 35 total (34 normally visible;
get_session_environmentis optional and disabled by default).
See CHANGELOG.md for the complete version history.
π€ Contributing
See CONTRIBUTING.md for guidelines.
π License
MIT License - see LICENSE
Made with β€οΈ by AI and GentlemanHu
β Star this repo if you find it useful!
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn enhanced MCP server that grants AI assistants the ability to execute terminal commands on a user's system with improved security controls, designed for use in controlled environments.Last updated2MIT
- Flicense-qualityDmaintenanceAn MCP server that gives AI assistants the ability to create, manage, and control terminal sessions through a safe, isolated tmux environment.Last updated1
- Alicense-qualityAmaintenanceA plugin for the Tabby terminal emulator that allows AI assistants to execute commands, manage SSH sessions, and read terminal buffers through the Model Context Protocol. It includes a pair programming mode with confirmation dialogs to ensure safe and controlled terminal automation.Last updated4782MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to control iTerm2 sessions, windows, tabs, and profiles using the official iTerm2 Python API. It includes a security model with session tagging and tiered permissions to ensure safe and controlled terminal interactions.Last updated401MIT
Related MCP Connectors
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GentlemanHu/Tabby-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server