mcpField
🚀
🚀 Tabby-MCP-Server

🚀 Tabby-MCP-Server

リモート
github.com/thuanpham582002開発ツール963 週間前に更新
リポジトリ

🚀 Tabby-MCP-Server について

Tabby-MCP-Server は、Tabby ターミナルのプラグインとして、開いているターミナルセッションを MCP 対応の AI クライアントに SSE 経由で公開します。ローカルと SSH のセッションの一覧表示、コマンド実行、ターミナルバッファーの読み取りに対応しています。既存の Tabby タブ内で AI クライアントに作業させたい開発者向けです。

主な機能

  1. 01ローカルおよび SSH セッションの一覧表示
  2. 02選択したターミナルタブでのコマンド実行
  3. 03表示領域と履歴バッファー範囲の読み取り
  4. 04outputId による長い出力のページ分割取得
  5. 05Pair Programming モードの確認ダイアログ

活用シーン

  1. 01AI クライアントに開いている Tabby タブでコマンドを実行させる
  2. 02ターミナルの履歴を読み取り問題を調査する
  3. 03AI が発行したコマンドを実行前に確認する

MCP 対応

本プロジェクトは MCP サーバーであり、http://localhost:3001/sse の SSE エンドポイントで get_ssh_session_list、exec_command、get_terminal_buffer、get_command_output の 4 つのツールを MCP クライアントに提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:3001/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Tabby MCP Server

npm version License: MIT GitHub issues GitHub stars

Tabby Terminal のプラグインです。Model Context Protocol (MCP) を通じて、アクティブなターミナルセッションを公開します。MCP 互換の AI クライアントから、ターミナルタブの検出、コマンドの実行、ターミナルバッファーの読み取り、長いコマンド出力の取得ができます。

Tabby はターミナル UI として動作します。AI クライアントは MCP を通じて Tabby に接続します。

特長

  • Tabby 内の MCP サーバー — http://localhost:3001/sse に SSE エンドポイントを公開します
  • ターミナルセッションの検出 — ローカルおよび SSH 接続の Tabby ターミナルセッションを一覧表示します
  • コマンドの実行 — 選択した Tabby ターミナルタブでコマンドを実行します
  • 堅牢な出力取得 — 終了コードの解析に対応したシンプルなマーカープロトコル
  • ターミナルバッファーへのアクセス — タブの表示範囲/履歴範囲のバッファーを読み取ります
  • 長い出力のページネーション — outputId を使ってコマンド出力全体を取得します
  • ペアプログラミングモード — 確認ダイアログとユーザーへのフィードバックを任意で有効にできます
  • Docker ベースのビルド — Tabby 用の再現可能なローカルプラグインビルド

デモ

Tabby MCP Plugin - AI Terminal Integration Demo

目次

要件

  • Tabby Terminal がインストールされ、実行中であること
  • ローカルビルド用の Docker
  • 提供されているインストールスクリプトを使用する場合は macOS
  • Claude Code、Cursor、Windsurf、Codex など、SSE に対応した MCP クライアント

インストール

オプション 1:Tabby Plugin Store
  1. Tabby を開きます
  2. Settings → Plugins に移動します
  3. Tabby MCP をインストールします
  4. Tabby を再起動します
  5. 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

クイックスタート

  1. Tabby を起動または再起動します
  2. ターミナルタブを 1 つ以上開きます
  3. MCP サーバーが実行中であることを確認します。
curl http://localhost:3001/health
# OK
  1. Tabby のターミナルセッションを一覧表示します。
curl -X POST http://localhost:3001/api/tool/get_ssh_session_list \
  -H 'Content-Type: application/json' \
  -d '{}'
  1. セッション内でコマンドを実行します。
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ターミナルタブでシェルコマンドを実行します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 の 設定 → プラグイン → MCP でこれらのオプションを設定します。

WSL など、ほかのマシンや環境からの接続を受け入れるには、MCP 設定で listenHost を 0.0.0.0 に設定します。これにより、サーバーがネットワーク経由でアクセス可能になります。MCP クライアントから到達可能なアドレスをサーバー URL に指定し、必要なファイアウォール制限を適用してください。

ペアプログラミングモード

ペアプログラミングモードでは、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 が作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。