- Home
- MCP servers
- Tabby
Tabby
- typescript
2
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Tabby-MCP turns your Tabby Terminal into an extensible MCP server, letting AI assistants control and interact with your terminal. It provides 34 tools for terminal control, tab management, profiles/SSH, and SFTP, all with secure defaults and flexible session targeting so you can automate and stream commands safely from client applications.
How to use
You connect AI clients to Tabby-MCP using either a remote HTTP endpoint or a local STDIO bridge. HTTP gives you a single, streamable interface over a URL, while STDIO lets you run a local bridge that talks to Tabby-MCP from your editor or desktop client. The tools include terminal control, tab management, profile handling, and SFTP operations (with dependencies on the tabby-ssh plugin when SFTP is used). Use the HTTP endpoint when your client supports remote connections, or use STDIO when your client runs on the same machine and can spawn a bridge process.
How to install
# Method 1: Tabby Plugin Manager (easiest)
# Open Tabby → Settings → Plugins
# Search for tabby-mcp-server
# Click Install
# Restart Tabby
# Method 2: Quick Install Script (no Node.js required)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh | bash
# Or
wget https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.sh
bash install.sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 | iex
# Or download and run
Invoke-WebRequest -Uri https://raw.githubusercontent.com/GentlemanHu/Tabby-MCP/main/scripts/install.ps1 -OutFile install.ps1
.\install.ps1
# Method 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.sh
After installation
- Restart Tabby. 2. Go to Settings → MCP. 3. Start the MCP server.
Configuration reference
Key settings include the MCP server port, auto-start behavior, pair programming confirmations, session tracking, and SFTP enablement. You can adjust these to tailor how you want the server to operate and how much you want to log or confirm actions.
Endpoints and connection options
You can connect clients via two modes:
- SSE/HTTP: Use a server URL such as the streamable HTTP endpoint or legacy SSE endpoint for remote clients.
- STDIO: Run a local bridge that connects to the SSE server, used by clients like Claude Desktop or IDE integrations that support a local stdio bridge.
Platform support and notes
macOS is tested and fully functional. Windows and Linux are untested in official tests, but the setup should work. Community feedback is welcome to help verify cross-platform compatibility.
Security and reliability
The server includes a pair programming mode with confirmation dialogs, comprehensive logging, and safe command execution to reduce unintended actions and improve traceability.
End-to-end connection details
The primary endpoints used for connections are:
- Streamable HTTP: http://localhost:3001/mcp
- Legacy SSE: http://localhost:3001/sse
- Health: http://localhost:3001/health
- Info: http://localhost:3001/info These endpoints enable clients to stream commands, monitor status, and verify the server health.
SFTP considerations
SFTP operations are available when the tabby-ssh plugin is installed. If SFTP is enabled, you can list, read, write, create directories, delete, rename, and transfer files with both synchronous and asynchronous options. SFTP size limits are configurable in settings.
Tools at a glance
Tabby-MCP provides a comprehensive set of 34 tools across four categories: Terminal Control, Tab Management, Profile Management, and SFTP Operations. These tools enable you to list sessions and tabs, execute commands, manage inputs, read buffers, split and manage tabs, profile operations, and remote file actions.
Troubleshooting tips
If you encounter issues with connections, confirm that the MCP server is running on the expected port (default 3001). Check logs for transport or session errors, and ensure the proper bridge or HTTP URL is used for your client. When using STDIO, verify the bridge script path and Node.js installation. For SFTP, ensure the tabby-ssh plugin is installed and active.
Examples and best practices
Use stable session IDs for reliable cross-tab and cross-session tracking. When using STDIO, prefer explicit bridge configurations over relying on defaults to ensure your client connects to the correct local bridge. Enable pair programming with confirmations for actions that could affect the terminal state.
Available tools
get_session_list
List all terminal sessions with stable UUIDs and metadata
exec_command
Execute a command with flexible session targeting
send_input
Send interactive input to a running command (including special keys)
get_terminal_buffer
Read the active terminal buffer content
abort_command
Abort a running command
get_command_status
Monitor the status of active commands
focus_pane
Focus a specific pane within a split tab
list_tabs
List all open tabs with stable IDs
select_tab
Focus a specific tab (defaults to active)
close_tab
Close a tab
close_all_tabs
Close all tabs
duplicate_tab
Duplicate the current tab
next_tab
Move focus to the next tab
previous_tab
Move focus to the previous tab
move_tab_left
Reorder tabs to the left
move_tab_right
Reorder tabs to the right
reopen_last_tab
Reopen the most recently closed tab
split_tab
Split the current tab in horizontal or vertical direction
list_profiles
List all terminal profiles available for quick access
open_profile
Open a tab using a specific terminal profile
show_profile_selector
Show a dialog to select a profile for opening a tab
quick_connect
SSH quick connect to a profile or host
sftp_list_files
List files in a remote directory via SFTP (requires tabby-ssh)
sftp_read_file
Read a remote file as text via SFTP
sftp_write_file
Write text to a remote file via SFTP
sftp_mkdir
Create a directory on the remote side via SFTP
sftp_delete
Delete a remote file or directory via SFTP
sftp_rename
Rename or move a remote file via SFTP
sftp_stat
Get file or directory information via SFTP
sftp_upload
Upload a local file to the remote side (sync/async)
sftp_download
Download a remote file to the local side (sync/async)
sftp_get_transfer_status
Query status of an in-progress transfer
sftp_list_transfers
List all ongoing transfers with optional status filtering
sftp_cancel_transfer
Cancel an active transfer