Skip to main content

MCP server for controlling Tabby terminal via Chrome DevTools Protocol

Project description

tabby-mcp

A lightweight MCP (Model Context Protocol) server that enables control of the Tabby terminal via Chrome DevTools Protocol (CDP).

Features

  • list_targets - List CDP targets (tabs) with index, title, url, ws_url
  • execute_js - Execute JavaScript code in Tabby's Electron context
  • query - Query DOM elements by CSS selector (auto-waits for Angular)
  • screenshot - Capture Tabby window screenshot

About this project

This MCP server was built to automate development and testing of TabbySpaces.

TabbySpaces was written 100% by Claude Code - Igor didn't look at the Angular code once. But for this Python project, he has MCP experience and actually reviewed the code.

Here's the fun part: Claude Code (running inside TabbySpaces) served as the tester for this project. The AI that built the plugin now uses this MCP server to test it. Full circle.

Requirements

  • Python 3.10+
  • uv package manager
  • Tabby terminal with CDP debugging enabled

Installation

From PyPI (recommended)

pip install tabby-mcp

Or with uv:

uv pip install tabby-mcp

From source

git clone https://github.com/halilc4/tabby-mcp.git
cd tabby-mcp
uv sync

Setup

1. Launch Tabby with CDP debugging

tabby.exe --remote-debugging-port=9222

2. Configure Claude Code

Add to your Claude Code MCP settings (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "tabby": {
      "command": "uv",
      "args": ["--directory", "/path/to/tabby-mcp", "run", "tabby-mcp"]
    }
  }
}

Usage

Once configured, Claude Code can interact with Tabby through MCP tools:

# Execute JavaScript
execute_js({ "code": "document.title" })

# Query DOM elements
query({ "selector": ".tab-bar button" })

Architecture

server.py  ->  tools.py  ->  cdp.py  ->  Tabby (CDP port 9222)
Module Purpose
server.py MCP server entry point with stdio transport
tools.py MCP tool definitions and handlers
cdp.py CDP connection management via pychrome

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabby_mcp-0.1.0.tar.gz (64.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabby_mcp-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file tabby_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: tabby_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 64.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for tabby_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7cebc905c6c4c940b29c29d8fb9d79654a9de8ccd466e1461a5a25badb10b605
MD5 4ba375cc5e62aff72b419cc451af395b
BLAKE2b-256 5f437dc3f41277ea818e7a9a937417cb27523c65a1c154df65dc19c80c306286

See more details on using hashes here.

File details

Details for the file tabby_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tabby_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for tabby_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d317aeaf94aec7afe1b2f5e007758bdf0049247dbfcf416eafeb8fedc03fb4ff
MD5 924e860cbba589f3ce292238e3769747
BLAKE2b-256 6e9e015037bfcf57e2139e43c7f9ca39a7c755abb6f329bf77e105054b07fa08

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page