Terminal MCP Server について
Terminal MCP Server は、AI エージェントが構造化されたターミナル状態ツリーを通じてターミナルアプリケーションを操作できる MCP サーバーです。ターミナル版の Playwright と説明されています。TUI やコマンドラインプログラムの自動化・テストを対象とし、Claude、Codex、Cursor など MCP 対応のクライアントで利用できます。
主な機能
- 01ターミナルセッションの作成、一覧表示、リサイズ、終了
- 02検出された UI 要素を含むスナップショット
- 03テキスト入力とキー操作
- 04テキストや要素、アイドル状態の待機
- 05ヘッドレスモードと可視ウィンドウモード
活用シーン
- 01htop などの対話型プログラムをエージェントに操作させる
- 02TUI アプリケーションの画面状態の自動テスト
- 03WSL を使った Windows での全機能の利用
MCP 対応
本プロジェクトは MCP サーバーとして動作し、セッション管理、スナップショット、入力、出力読み取りのための terminal_ で始まるツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Terminal MCP サーバー
構造化されたターミナル状態ツリー表現を通じて、AI エージェントがターミナルアプリケーションを操作できるようにする MCP サーバーです。Model Context Protocolをサポートするあらゆる AI アシスタントで利用できます。
インストール
npm 経由(推奨)
npx mcp-server-terminal
GitHub Releases 経由
Releasesからビルド済みバイナリをダウンロードします。
ソースからビルド
git clone https://github.com/aybelatchane/mcp-server-terminal.git
cd mcp-server-terminal
cargo build --release
# Binary: ./target/release/terminal-mcp
設定
Claude
Claude Code(CLI)
claude mcp add terminal -- npx mcp-server-terminal
Claude Desktop
~/.claude.json(macOS/Linux)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
OpenAI Codex
Codex CLI
codex mcp add terminal -- npx mcp-server-terminal
Codex 設定ファイル
~/.codex/config.tomlに追加します。
[mcp_servers.terminal]
command = "npx"
args = ["mcp-server-terminal"]
Google Gemini
Gemini CLI
gemini mcp add terminal npx mcp-server-terminal
VS Code / GitHub Copilot
VS Code 1.101+はMCPをサポートしています。VS Codeの設定(settings.json)に追加します。
{
"mcp.servers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Cursor
~/.cursor/mcp.jsonまたはプロジェクト内の.cursor/mcp.jsonに追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.jsonに追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Zed
Zedの設定(Preferences → Settings)に追加します。
{
"context_servers": {
"terminal": {
"command": {
"path": "npx",
"args": ["mcp-server-terminal"]
}
}
}
}
Cline(VS Code拡張機能)
MCP Serversアイコンをクリックし、Configure → Advanced MCP Settingsを選択して、次を追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
AWS Bedrock
BedrockエージェントのMCP設定に追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
その他のMCPクライアント
MCP互換クライアントでは、次のようにサーバーを設定します。
- コマンド:
npx - 引数:
["mcp-server-terminal"]
バイナリを直接使用する場合:
- コマンド:
terminal-mcp
使用方法
AIエージェントに次のように依頼します。
- 「htopを実行するターミナルセッションを作成して」
- 「ターミナルのスナップショットを撮って」
- 「下矢印キーを押して」
- 「'ls -la'と入力してEnterを押して」
MCPツール
| ツール | 説明 |
|---|---|
terminal_session_create | ターミナルセッションを開始 |
terminal_session_list | アクティブなセッションを一覧表示 |
terminal_session_close | セッションを終了 |
terminal_session_resize | ターミナルのサイズを変更 |
terminal_snapshot | UI要素を含むターミナル状態をキャプチャ |
terminal_type | ターミナルにテキストを入力 |
terminal_press_key | キーを押す(矢印、Fキー、Ctrl+X) |
terminal_click | 検出されたUI要素をクリック |
terminal_wait_for | テキスト、要素、またはアイドル状態を待機 |
terminal_read_output | ターミナルの生出力を読み取る |
ビジュアルモード
デフォルトでは、セッションを起動すると可視のターミナルウィンドウ(xterm)が開きます。ヘッドレスで動作させるには:
npx mcp-server-terminal --headless
または、MCP設定で次のように指定します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal", "--headless"]
}
}
}
X11の設定(Linux/WSL)
ビジュアルモードにはX11が必要です。MCP設定にDISPLAY環境変数を追加します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"DISPLAY": ":0"
}
}
}
}
ログ
RUST_LOG環境変数を設定します。
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"RUST_LOG": "info"
}
}
}
}
ログレベル:error、warn、info、debug、trace
ログはstderrに出力されます(stdoutはMCPプロトコル用に予約されています)。
プラットフォームのサポート
| プラットフォーム | アーキテクチャ | 状態 | ビジュアルモード |
|---|---|---|---|
| Linux | x64, arm64 | ✅ 完全サポート | xterm + tmux |
| macOS | x64, arm64 | ✅ 完全サポート | Terminal.app / iTerm2 |
| Windows(WSL) | x64, arm64 | ✅ 完全サポート | xterm + tmux(X11経由) |
| Windows(ネイティブ) | x64 | ⚠️ ヘッドレスのみ | 非サポート |
Windowsユーザーへ: ビジュアルモードを含むすべての機能を利用するには、WSLを使用してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。