mcp server for unix pty control について
対話型ターミナルを必要とする AI モデル向けの Unix PTY MCP サーバーです。名前付きシェルセッションを維持し、即時実行と非同期の出力取得に対応します。
主な機能
- 01永続ターミナルセッションの作成
- 02同期・非同期コマンド実行
- 03ストリーミング出力のポーリング
- 04複数の名前付きセッション管理
- 05ターミナルへの制御文字送信
活用シーン
- 01永続 Bash セッションでのコマンド実行
- 02長時間コマンドの起動と監視
- 03サーバーへの SSH セッション接続
MCP 対応
セッションの作成や出力取得、終了処理を含むターミナル操作を MCP ツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
terminal-mcp
Unix PTY 制御用のネイティブMCP サーバーです。
概要
AI モデルに実際のターミナルへのアクセスを提供する MCP サーバーです。セッションを起動し、コマンドを実行し、出力を読み取ります。それだけです。
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "create_session",
"arguments": {
"session_name": "prod-debug",
"command": "ssh prod.server"
}
}
}
主な機能
- 真の PTY:AppleScript の小細工ではなく、本物の Unix ターミナルです
- すべて非同期:Tokio によるノンブロッキング I/O
- スマートバッファリング:新しい出力のみを取得し、重複はありません
- セッションの永続化:呼び出しの合間もターミナルが動作し続けます
- マルチセッション対応:複数のターミナルを同時に実行し、切り替えられます
概念
- セッション:名前付きのターミナルインスタンス(
bash、python、ssh) - ツール:AI が呼び出す MCP プロトコルのエンドポイント
- PTY:適切なシェル操作を実現する疑似ターミナル
- マネージャー:ライフサイクル管理とクリーンアップの自動化
ツール
create_session:新しいターミナルを起動しますexecute_command:コマンドを実行し、すぐに出力を取得しますexecute_command_async:長時間実行されるコマンドを開始しますread_streaming_output:非同期コマンドの進行状況を確認しますlist_sessions:実行中のセッションを確認しますdestroy_session:不要になったセッションをクリーンアップしますsend_control_character:Ctrl-C などを送信します
設定
Claude Code:
cargo install --git https://github.com/ianks/terminal-mcp
claude mcp add --scope user terminal-mcp
開発
cargo test -- --nocapture # see test output
RUST_LOG=debug cargo run # verbose logging
cargo clippy # lint
cargo fmt # format
アーキテクチャ
mcp api layer (json-rpc)
↓
session manager (lifecycle)
↓
pty engine (pty-process)
↓
unix ptys (kernel)
哲学
AI は人間と同じようにコンピューターを操作できます。 抽象化はありません。シェルだけです。
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。