mcpField
G
gPTY

gPTY

ローカル
gpty.dev開発ツール78今日更新

gPTY について

gPTYは、RustとGodotを基盤とするデスクトップ端末ワークスペースです。開発者、AIエージェント、自動化ツール向けにタイル型ペインを備え、JSON-RPC、CLI、MCPで共通の操作手段を提供します。

主な機能

  1. 01端末ペインの分割とワークスペース保存
  2. 02端末履歴とスクロールバックの検索
  3. 03ファイル・コード・Wiki・メディア用ペイン
  4. 04CLIまたはJSON-RPCによる操作
  5. 05端末出力の取得と隣接ペインへの表示

活用シーン

  1. 01端末ペインでのコーディングエージェント実行
  2. 02ペイン作成と入力の自動化
  3. 03コマンド出力の読み取りやパターン待機
  4. 04ワークスペース内でのWiki検索

MCP 対応

gPTYはMCPサーバーを備え、ペイン操作、コマンド実行、出力読み取り、Wiki検索など、CLIサブコマンドに対応するツールを公開します。MCPクライアントは`gpty mcp`をstdioで起動できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
cargogpty0.7.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

gPTY - Rust と Godot を基盤とするデスクトップワークスペースです。ターミナル、コードビューアー、ファイルツリー、Wiki、メディアなどのペインをタイル状に配置できるグリッド、コンセプトキャプチャエンジン、そして JSON-RPC/MCP 制御インターフェースを備えています。これにより、AI エージェントや自動化ツールはペインを起動したり、テキストを入力したり、TUI をスクレイピングすることなくターミナルの出力を確認したりできます。すべてのペインは、単一の公開 API を通じてシェル、スクリプト、エージェントから操作できます。

概要

Build GitHub Downloads (all assets, all releases) LLM-powered r/gPTY

スクリプトが gPTY を操作します:cat の出力をビューアーペインに送り、pane-run でビルド用ペインを開き、pane-wait でその出力を待機し、new-pane で git log の出力をストリーミングします

機能

ペイン

  • タイル状グリッド - 独立したシェルセッションを分割、サイズ変更、並べ替えできます。名前付きレイアウト、ワークスペース(タブのセット)、プロファイルを保存して再読み込みできます。
  • エミュレーション - alacritty_terminal グリッドに対応し、16/256/true color、正規表現検索付きのスクロールバック、折り返しテキストの選択を利用できます。
  • メモリ - 再起動後もスクロールバック、設定、ワークスペースが復元され、各ペインの履歴を全文検索できます。
  • ファイルツリー - Godot ネイティブの OS ファイルツリーブラウザーです。
  • コードビューアー - テキストと Markdown を表示します。
  • Wiki - 全文検索、ライブプレビューエディター、[[wikilinks]]、バックリンク、リンクグラフを備えたプレーンな Markdown ノートの保管庫です。最後に閲覧していた場所から再開できます。付属の ナレッジベース プロファイルでは、リリースに同梱された Wiki が開きます。ペインの紹介を見る。
  • メディア - 固定バージョンの最小構成 FFmpeg バックエンド(v0.7)を使って、ペイン内でローカルの音声と動画を再生できます。
  • cli_view - 任意のコマンドの出力をペインにストリーミングできるため、プラグインは Godot SDK を使わずに UI を追加できます。

エージェントと自動化

  • 1 つの API、3 つの接続方法 - 同じ操作を JSON-RPC ソケット、gpty CLI、MCP サーバーから利用できます。ペインの起動、入力の送信、出力の読み取り、コマンドの実行とパターンの待機、タグ付きペインへのブロードキャストが可能です。このサーバーは、公式 MCP レジストリに io.github.godot-pty/gpty として登録されています。
  • エージェント状態バッジ - エージェントは自身のペインから working または needs attention を宣言でき、タブに表示されます。表示専用です。
  • 可観測性ペイン - Reasoning は、文書化されたエージェントのライフサイクルイベントを受動的に表示します(現在は OMP、アダプターに依存しない用語を使用)。Inspector は非公開でツールを使わない Q&A セッションです。gPTY がエージェントの状態をオーケストレーションすることはありません。
  • コンセプト - ターミナル出力に対する正規表現トリガーで返信を取得し、隣接するペインに送れます。設定で手動、またはビジュアルグラフエディターを使って独自のコンセプトを作成できます。コンセプトは表示専用で、シェルに入力することはありません。

拡張可能、ただし制限あり

  • プラグイン - マニフェストベースで、インストール前に GUI でレビューできるほか、公開レジストリもあります。
  • 文書化された脅威モデル - SECURITY.md を参照してください。リリースには SHA256SUMS とビルド来歴の証明書が同梱され、制御ソケットは所有者のみが利用できます。
ステータス

gPTY は現在も活発に開発されているサイドプロジェクトです。このコードベースの大部分、Godot の UI レイアウトの大半や Rust(gpty-core)の GDExtension ブリッジを含め、人間によるレビューのもとで LLM を使用して生成されました。そのため、基盤となるコードには慣用的でないパターンやバグが含まれている可能性があります。ロードマップとドキュメント:https://gpty.dev/

コンポーネント選択理由
PTY ライブラリportable-ptyLinux の /dev/ptmx と Windows の ConPTY に対応し、単一の API でクロスプラットフォームを実現
ANSI 解析vte クレート高速な Rust 製 ANSI ステートマシン
非同期ランタイムtokioターミナルごとのタスクと、チャネル駆動型のキャプチャ状態マシン
I/O スレッド処理PTY ごとの専用 std::thread予測可能なブロッキング読み取りを実現し、mpsc 経由で tokio にブリッジ
コンセプトキャプチャ解析済み LineParser 出力に対する Rust の regex線形時間でのマッチング(ReDoS 対策済み)。グリッドに忠実な再生のため、キャプチャは生バイトをバッファリング
グリッド描画alacritty_terminal完全な DEC STD 070 グリッド状態マシン。配列を Godot の _draw() に渡します
Godot ブリッジgdext 0.5Godot 4.7 以降向けのネイティブ GDExtension
Rust エディション2024Rust >= 1.85 が必要です

インストールと使用方法

Godot のインストールが不要なスタンドアロンバイナリは、Linux、macOS、Windows 向けに GitHub Releases で公開されています。

プラットフォームパッケージ
Linuxgpty-v<version>-linux-x86_64.tar.gz - 展開します。./gpty-gui.sh で GUI が起動し、./gpty は CLI です
macOSgpty-v<version>-macos.zip - 解凍し、.app を右クリックして「開く」を選択します。その隣にある gpty が CLI です
Windowsgpty-v<version>-windows-x86_64.zip - 展開します。gpty-gui.exe で GUI が起動し、gpty.exe は CLI です

各リリースには gPTY のナレッジベースもバンドルされています。サイドバーの Knowledge Base プロファイルを開くと、ユーザーデータにバンドルされた Wiki が開きます。

ファイル名の <version> は、ダウンロードしたリリースタグです(例:v0.7.0)。

各リリースには、すべてのアセットを一覧にした SHA256SUMS が含まれます。実行前に、ダウンロードしたファイルを確認してください。

sha256sum -c SHA256SUMS            # Linux
shasum -a 256 -c SHA256SUMS        # macOS
certutil -hashfile <asset> SHA256  # Windows

チェックサムにより、転送中にダウンロードが破損または改ざんされていないか確認できます。各アセットには、ビルドしたワークフロー実行に紐付けるビルド来歴の証明書も付属します。

gh attestation verify <asset> --repo godot-pty/gpty

バイナリにはコード署名がありません(SECURITY.md を参照)。

CLI

gpty バイナリは、実行中の GUI を JSON-RPC IPC 経由で制御します。各リリースのバンドルには GUI と並べて同梱されています。また crates.io でも入手でき、cargo install gpty を実行すると同じバイナリが PATH にインストールされます(バンドルされた SQLite のため、Rust ツールチェーンと C コンパイラーが必要です)。MCP クライアントが gpty mcp を起動する際には、このバイナリが使われます。CLI は、新しいワークスペースだけで実行できるコマンド(new-pane と layout load)に限り、必要に応じて起動します。一方、gpty daemon start は明示的に起動し、--no-daemon は起動しません。その他のコマンドは、すでに存在するワークスペースを必要とするため、利用できないウィンドウを開くのではなく、no gpty GUI is running (start one with \gpty daemon start`) というエラーになります。ソースからのビルド(cargo build -p gptyまたはcargo build --workspace)が必要なのは、CLI 自体を開発する場合だけです。その方法でインストールした場合は、**バージョンを上げた後に再インストールしてください**(cargo install --path crates/gpty-cli --force)。PATH上で前方にある古いgpty` がリリース版の CLI より優先されると、原因が分かりにくい形で失敗します(存在しないサブコマンドは、IPC が始まる前に clap で終了します)。そのため、CLI は実行中の GUI のバージョンまたは IPC プロトコルが自身と異なることを検出すると、標準エラー出力に一度だけ警告を表示します。警告には双方の情報が記載されますが、解決するには再インストールが必要です。

GUI を Godot またはリリースバイナリから起動すると、CLI は Unix ソケット(Linux では $XDG_RUNTIME_DIR/gpty.sock、または GPTY_SOCKET 環境変数)経由で接続します。

# Check if the GUI is running (exit 1 when it is not)
gpty daemon status

# Print the bundled agent skill (for coding agents running inside a pane)
gpty --skill

# Declare this pane's agent state, from inside the pane (display only)
gpty state working

# Spawn a new terminal pane
gpty new-pane --pane-type terminal

# List all active panes
gpty list-panes

# Send text to a pane (by label, e.g. T1)
gpty inject T1 --text "echo hello"

# Read a pane's screen and scrollback; run a command in a new pane and wait for its output
gpty pane-read T1 --lines 200
gpty pane-run --command "cargo test"
gpty pane-wait T1 --pattern "tests passed" --timeout-ms 30000

# Search and read a wiki vault
gpty vault search <vault> <pattern>
gpty vault read <vault> <path>

# Close a pane
gpty kill-pane T1

# Save and load named layouts
gpty layout save my-setup
gpty layout load my-setup
gpty layout list

# Install a plugin (reviewed in the GUI - its actions run as you)
gpty plugin install godot-pty/gpty-omp
gpty plugin list

# Manage the GUI daemon
gpty daemon start
gpty daemon status
gpty daemon stop

# Generate AI tool manifests (no GUI needed)
gpty schema
gpty schema --format mcp

# Run as MCP server over stdio (no GUI needed)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize"}' | gpty mcp

すべてのサブコマンドとフラグについては、gpty --help を参照してください。

MCP 統合

gpty には MCP(Model Context Protocol)サーバーが付属しており、AI エージェントやコーディングハーネスからワークスペースを操作できます。リポジトリのルートにある mcp.json で定義されているため、自動検出されます。

{"mcpServers": {"gpty": {"command": "gpty", "args": ["mcp"]}}}
  • 直接実行:gpty mcp を stdio 経由で実行すると、CLI の各サブコマンド(new-pane、list-panes、kill-pane、focus-pane、inject、pane-read、pane-status、pane-run、pane-wait、broadcast、vault-search、vault-read、vault-weight、layout-*、daemon-*、concept-*、version)ごとにツールを公開します。
  • マニフェスト:gpty schema --format mcp を実行すると、エージェントの設定に引き継ぐための MCP ツールマニフェスト(JSON Schema)が出力されます(GUI が起動していなくても動作します)。

ツールのスキーマは CLI と同じ clap 定義(crates/gpty-cli/src/commands/schema.rs)から生成されるため、gpty --help と食い違うことはありません。


ロードマップ

リリース済み、進行中、計画中の項目については、リリースチェーンごとにまとめられたロードマップをご覧ください。


セキュリティ

脅威モデル、報告手順、gpty が防御の対象としない事項については、SECURITY.mdをご覧ください。実装ルール(Concept Engine の ReDoS に対する方針、PTY 環境のサニタイズ、IPC の強化、OSC 52 の制限)は、セキュリティルールに記載されています。


コントリビューション

セットアップ手順、ビルドコマンド、テスト、コードスタイル、プルリクエストの手順については、CONTRIBUTING.mdをご覧ください。


変更履歴

バージョンごとの変更と履歴の全容については、CHANGELOG.mdをご覧ください。


ライセンス

gPTY は、GNU General Public License version 3 以降でライセンスされたフリーソフトウェアです。全文はLICENSEをご覧ください。

LICENSE-EXCEPTIONS.mdでは、このライセンスの第 7 条に基づく 2 つの許可を追加しており、エコシステム側の自由度を維持しています。

  • プラグイン、拡張機能、アダプターに GPLv3 は適用されません。 CLI、JSON-RPC、MCP、イベントの各インターフェースを介して gPTY と連携するもの(ネイティブのペインタイプを含む)は、Apache-2.0、MIT、その他任意の条件でライセンスでき、義務なく gPTY と併せて配布できます。
  • 設定ファイルとデータファイルにはコピーレフトは適用されません。 プロファイル、ワークスペース、レイアウト、コンセプト、設定は、自由にライセンスできます。gPTY に同梱されるデフォルトの *.json ファイルは Apache-2.0 でライセンスされています。

Copyright (C) 2026 Neil Pathare.

gPTY は有用であることを願って配布されていますが、いかなる保証もなく、エンドユーザーによるあらゆる使用について責任を負いません。商品性または特定目的への適合性に関する黙示的な保証もありません。詳しくは GNU General Public License をご覧ください。

コメント

MCP は初めてですか?

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

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