termmirror
termmirror
AIエージェントに実際の対話型ターミナルセッションを提供するMCPサーバー。そして、人間がそのセッションを閲覧して入力できるライブWebビューも備えています。

あるエージェントがtermmirrorを通じてClaude Codeセッションを操作しています。トラストプロンプトを受け入れ、質問をし、その答えを画面から読み取りました。ブラウザの表示はライブで、そこへの入力はそのまま同じターミナルに送られます。

同じツールで動くフルスクリーンのTUI: エージェントはvimを開き、ファイルの末尾に移動し、挿入モードに入り、1行入力しました。
特徴
実際のPTYセッション。
node-ptyをバックエンドに、ヘッドレス端末エミュレーターが画面状態を保持します。tmuxや他の外部依存はありません。TUI向けに設計。 代替画面の検出、コントロールキーとナビゲーションキーのエンコード、ソフトラップされた行を解除したスクロールバックを備えています。
信頼性の高い待機。
waitはプログラムが応答して落ち着いた時点で戻るため、読んだ画面は入力前の状態ではなく、入力を反映したものになります。ライブWebビュー。 どのセッションも実行中にブラウザで見られます。ページへの入力はそのままPTYに送られるため、人間が引き継いだり、制御を戻したりできます。
エージェント間連携。 あるエージェントが別のエージェントのCLIを、マルチターンの会話を通じて操作できるように設計されています。
Related MCP server: ddx-term-mcp
要件
Node.js 20以上
macOSまたはLinux
インストール
git clone https://github.com/Ar9av/termmirror.git
cd termmirror
npm install && npm run buildClaude Codeにサーバーを登録します:
claude mcp add termmirror -- node /absolute/path/to/termmirror/dist/src/index.jsどのMCPクライアントでも動作します。サーバーはstdioで通信します。
使用方法
3つのツールを、この順序で使います:
send_input → wait → read_screenread_screenは、今の見たままの画面を返します。出力されたすべてを記録したログではなく、スクリーンショットです。waitは、それを読む価値のあるものにする機能です。プログラムが応答して静かになるまでブロックするので、キー入力後の状態を見ることができます。
ツール
ツール | 説明 |
| セッションを開始します(デフォルトは |
| セッションにテキストを入力します。必要に応じてEnterで送信します。 |
|
|
| 表示されている画面をプレーンテキストで返します。 |
| セッションが応答して落ち着くまで( |
| 稼働中・終了済みのすべてのセッションを、視聴URL付きで一覧表示します。 |
| ターミナルの寸法を変更します。 |
| セッションを終了します。 |
待機
idleがデフォルトであり、ほとんどの場合で正しい選択です。対話型プログラムは、作業中は継続的に再描画し、あなたの番になると沈黙します。したがって、沈黙は信頼できる完了シグナルです。マッチさせるプロンプトを出さないスピナーやTUIにも当てはまります。時間のかかる操作ではtimeoutを増やしてください。
no_outputという結果は、入力後に何も返ってこなかったことを意味します。プログラムがビジーで沈黙しているか、入力がまったく登録されなかったかのどちらかです。
期待するテキストが分かっている場合はpatternを使います。これは自分が入力したエコーを含む画面全体に対してマッチするため、ついさっき入力したマーカーではなく、プログラムが出力する何かを待つようにしてください。
セッションを視聴する
最初のセッションがポート7878でローカルWebサーバーを起動します。create_sessionが返すURLを開くと、セッションがライブで表示されます。ページに入力するとPTYに直接書き込まれるため、人間がパスワードを入力したり、エージェントに処理させたくないプロンプトに回答してから、制御を返すことができます。ハンドオフのプロトコルは不要で、単に同じターミナルを反対側から操作するだけです。
変数 | 効果 |
| Webビュー用のポート(デフォルトは |
|
|
例
node examples/drive-claude.mjs "what is 2+2? reply with just the number"あるエージェントがclaudeを起動し、トラストプロンプトを受け入れ、質問をして、その答えを画面から読み取ります。これはMCPインターフェースが公開しているツールと同じものを、逐一書き下したものです。
開発
npm run build # compile TypeScript to dist/
npm test # build, then run the test suiteテストスイートは、サーバーの他の部分が依存する待機セマンティクス、キーエンコード、スクロールバック、Webビューのライブストリームと引き継ぎ入力、そして実際のMCPプロトコルでのエンドツーエンド実行をカバーしています。
名前について
パッケージ名はtermmirrorで、mが2つです。alias/termirror/は、それに依存するスタブパッケージで、mが1つの表記でも正しい場所に解決されるようにするためのものです。
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with fully interactive terminal sessions, including TUI support, keyboard control, and screen capture across Windows, Linux, and Mac.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to execute commands in a shared tmux session that is simultaneously visible to a human via a web-based terminal UI.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with interactive CLI processes via a real PTY, allowing them to send keystrokes, read screen output, and handle interactive prompts.61MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to spawn and interact with real terminal sessions, capturing screenshots of rendered TUI output and sharing live sessions for debugging.31MIT
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Turns any agent into a full agentic application — branded, interactive screens generated at runtime.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ar9av/termmirror'
If you have feedback or need assistance with the MCP directory API, please join our Discord server