mcpField
R
Remote SSH Terminal MCP - AI-Powered Linux Server Management

Remote SSH Terminal MCP - AI-Powered Linux Server Management

ローカル
github.com/TiM00R開発ツール821 週間前に更新

Remote SSH Terminal MCP - AI-Powered Linux Server Management について

Remote Terminalは、ClaudeからSSH経由でLinuxサーバーを管理するMCPサーバーです。ブラウザーで全出力をリアルタイム表示しながら、要約、ファイル転送、スクリプト再利用を行えます。

主な機能

  1. 01SSH経由のリモートコマンド実行
  2. 02複数Linuxサーバーの管理
  3. 03SFTPによるファイル転送
  4. 04バッチスクリプトの実行と再利用
  5. 05ブラウザー端末のリアルタイム同期

活用シーン

  1. 01サーバーのリソースとシステムログの確認
  2. 02ソフトウェアの導入とサービスの調査
  3. 03設定ファイルの送信やログの取得
  4. 04診断ワークフローの保存と再実行

MCP 対応

MCPサーバーとして、コマンド実行、サーバー設定、バッチスクリプトなどのリモート管理ツールをClaudeに提供します。Claudeにはフィルター済みの結果を返し、ブラウザー端末には全出力をリアルタイム表示します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

リモートターミナル

MCP を介した AI 搭載のリモート Linux サーバー管理

リモートターミナルを使うと、Claude(AI アシスタント)が自然なチャットインターフェースを通じて、リモート Linux サーバーでコマンドを実行できます。ブラウザーで出力全体をリアルタイムに確認できる一方、Claude にはトークン効率を高めるために最適化された、スマートにフィルタリングされた要約が届きます。


🎯 これは何ですか?

Claude に次のように伝えることを想像してみてください。

"Install nginx on my server and configure it with SSL"
"Run complete system diagnostics and tell me if anything looks wrong"
"Find all log errors from the last hour and summarize them"
"Save this batch script and run it again next week"

すると Claude がコマンドを実行し、出力を分析し、便利なスクリプトを保存して、あなたに代わって作業を進めます。

これがリモートターミナルです。


✨ 主な機能

基本機能
  • 🖥️ リモートコマンド実行 - Linux サーバーで任意の bash コマンドを実行
  • 🌐 マルチサーバー管理 - 複数のサーバーを簡単に切り替え
  • 📁 ファイル転送(SFTP) - 圧縮を利用してファイルやディレクトリをアップロード/ダウンロード
  • 📜 バッチスクリプト実行 - 複数コマンドのスクリプトを 10~50 倍高速に実行
  • 📚 バッチスクリプトライブラリ - バッチスクリプトを保存、閲覧、再利用(3.1 で新登場)
  • 💬 会話の追跡 - ロールバックに対応し、目的ごとにコマンドをまとめて管理
  • 🎯 レシピシステム - 成功したワークフローを保存して再利用
  • 🗄️ データベース連携 - SQLite による完全な監査証跡
  • 🌍 インタラクティブなウェブターミナル - ブラウザーで使える多機能ターミナル(入力、貼り付け、履歴のスクロール)
  • 🔄 複数ターミナルの同期 - 複数のターミナルを開き、すべてを完全に同期
  • ✨ Bash の構文ハイライト - スタンドアロン UI で VS Code スタイルの色分け表示(3.1 で新登場)
インタラクティブなウェブターミナル

リモートターミナルでは、ブラウザーで http://localhost:8080 を開くと、WSL、PuTTY、または一般的なターミナルと同じように使える完全にインタラクティブなターミナルウィンドウが表示されます。

できること:

  • コマンドを直接入力する(通常のターミナルと同じです)
  • テキストをコピー/貼り付けする(Ctrl+C、Ctrl+V)
  • コマンド履歴をスクロールして確認する
  • 矢印キーで履歴を移動する
  • 色を保持したままコマンド出力をリアルタイムで表示する

Claude ができること:

  • ターミナルに表示されるコマンドを実行する
  • コマンドの結果をすぐに確認する
  • あなたが見ている間も作業を続ける

最大の利点: すべての作業を完全に見渡し、制御できます。Claude が実行するすべてのコマンドは、リアルタイムでターミナルウィンドウに表示されます。サーバー上で何が起きているか分からなくなることはありません。画面を見ているあなたの隣で、アシスタントがコマンドを入力してくれるようなものです。

複数ターミナルへの対応: http://localhost:8080 を複数のブラウザーウィンドウで開いても、WebSocket ブロードキャストによってすべてが完全に同期されます。1 つのターミナルに入力すると、その内容がすべてのターミナルにすぐに表示されます。マルチモニター環境や、ほかの人と画面を共有する場合に最適です。

⚠️ おすすめの使い方: 作業が終わったら、使っていないターミナルのタブを閉じてください。システムは複数の接続を効率的に処理しますが、古いタブをたくさん開いたままにすると、不要なリソースを消費し、接続の問題が起きることがあります。

🎬 動作の様子
お使いのブラウザーは video タグに対応していません。

https://github.com/user-attachments/assets/98a6fa41-ec4f-410b-8d4a-a2422d8ac7c9

インタラクティブなウェブターミナルの動作をご覧ください。あなたがすべてを確認し制御する間に、Claude がコマンドを実行します。

デュアルストリームアーキテクチャ

内部では、リモートターミナルはスマートな 2 ストリーム方式を採用しています。

           SSH Output from Remote Server
                      ↓
                  [Raw Output]
                      ↓
                 ┌────┴────┐
                 │         │
                 ↓         ↓
             [FULL]    [FILTERED]
                 │         │
                 ↓         ↓
            Web Terminal    Claude
         (You see all)  (Smart summary)

結果:

  • あなた: インタラクティブなターミナルですべてを確認し、制御できます
  • Claude: トークンを 95%節約しながら効率的に作業できます
  • 両者: SSH セッションを共有し、状態を同期します
  • 両方の利点を活用できます!

🚀 クイックスタート

インストール

ステップ 1:インストールディレクトリを作成

# Choose a location for your installation (example: C:\RemoteTerminal)
mkdir C:\RemoteTerminal
cd C:\RemoteTerminal

ステップ 2:パッケージをインストール

# Create dedicated virtual environment
python -m venv remote-terminal-env
remote-terminal-env\Scripts\activate
pip install remote-terminal-mcp

ステップ 3:Claude Desktop を設定

%APPDATA%\Claude\claude_desktop_config.json を編集します。

{
    "mcpServers": {
        "remote-terminal": {
            "command": "C:\\RemoteTerminal\\remote-terminal-env\\Scripts\\remote-terminal-mcp.exe",
            "env": {
                "REMOTE_TERMINAL_ROOT": "C:\\RemoteTerminal"
            }
        }
    }
}

重要: C:\RemoteTerminal を、ステップ 1 で指定した実際のインストールパスに置き換えてください。

ステップ 4:初回起動 — 自動セットアップ

Claude Desktop を再起動します。初回使用時に、設定ファイルが C:\RemoteTerminal に自動的にコピーされます。

  • config.yaml — デフォルト設定(パッケージのデフォルトから自動作成)
  • hosts.yaml — サーバーリスト(テンプレートから自動作成)

ステップ 5:サーバーを設定

サーバーの設定方法は 2 つあります。

オプション A:手動設定(最初のサーバーにはこちらを推奨)

C:\RemoteTerminal\hosts.yaml を編集します。

servers:
  - name: My Server
    host: 192.168.1.100
    user: username
    password: your_password
    port: 22
    description: My development server
    tags:
      - development
# Optional: Set default server for auto-connect
# Use list_servers to see which server is marked as [DEFAULT]
default_server: My Server

オプション B:AI を利用した設定

新しいサーバーの追加を Claude に依頼します。

Claude, add a new server to my configuration:
- Name: Production Server
- Host: 192.168.1.100
- User: admin
- Password: mypassword
- Port: 22

Claude は add_server ツールを使用して、hosts.yaml ファイルを自動的に更新します。

Claude Desktop を再起動して、テストします。

List my configured servers

ステップ 6:(任意)スタンドアロンの Web インターフェースを実行

cd C:\RemoteTerminal
remote-terminal-env\Scripts\activate
remote-terminal-standalone

次の URL にアクセスします。


📖 ドキュメント

あらゆる用途に対応する詳細なガイドをご用意しています。


💡 使用例

システム管理
"Check disk space and memory usage"
"What processes are using the most CPU?"
"Is nginx running? If not, start it"
"Show me the last 50 lines of the system log"
ソフトウェア管理
"Install htop and verify it works"
"Update all packages"
"Check if docker is installed and what version"
トラブルシューティング
"Run complete network diagnostics"
"Find all errors in the last hour of logs"
"Check why nginx won't start"
"Analyze disk usage by directory"
ファイル操作
"Upload my local config.json to /etc/app/"
"Download all log files from /var/log/myapp/"
"List files in /var/log modified today"
"Find all files larger than 100MB"
自動化とスクリプト管理
"Create a recipe from our successful nginx installation"
"Execute the network diagnostics recipe"
"Start a conversation to configure WiFi"
"List my saved batch scripts"
"Execute script 5"
"Load script 3 for editing"

🎨 セッション例

あなた:

本番サーバーに nginx をインストールしてください

Claude:

nginx をインストールします。これにより、パッケージのインストールが実行されます……

インタラクティブターミナルが http://localhost:8080 に自動的に開きます

Web ターミナルの表示(リアルタイム):

$ sudo apt install nginx
Reading package lists... Done
Building dependency tree... Done
[... 500+ lines of installation output ...]
Setting up nginx (1.18.0-0ubuntu1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service
Processing triggers for systemd (245.4-4ubuntu3.23) ...

Claude が受け取る内容(フィルタリングされた要約):

nginx installed successfully in 45s
12 packages installed
Service: nginx.service is active

Claude の応答:

nginx のインストールが完了し、現在実行中です。サービスは稼働しています。設定を行うか、デフォルトのページを表示しましょうか?

トークン削減率:96%(15,000 トークン → 600 トークン)


🏗️ アーキテクチャ

プロジェクト構成
remote_terminal/
├── config/                         # Default configuration templates
│   ├── config.yaml                 # Default settings (packaged)
│   └── hosts.yaml.example          # Server template (packaged)
├── data/                           # SQLite database (user directory)
│   └── remote_terminal.db          # Command history, conversations, recipes, scripts
├── docs/                           # Documentation
│   ├── DATABASE_SCHEMA.md
│   ├── FEATURE_REFERENCE.md
│   ├── INDEX.md
│   ├── INSTALLATION.md
│   ├── QUICK_START.md
│   ├── RELEASE_NOTES_v3.1.md
│   ├── TROUBLESHOOTING.md
│   ├── USER_GUIDE.md
│   └── WEBSOCKET_BROADCAST.md
├── recipes/                        # Example automation recipes
├── src/                            # Source code (modular architecture)
│   ├── batch/                      # Batch execution system
│   │   ├── batch_executor.py
│   │   ├── batch_helpers.py
│   │   └── batch_parser.py
│   ├── config/                     # Configuration management
│   │   ├── config.py
│   │   ├── config_dataclasses.py
│   │   ├── config_init.py
│   │   └── config_loader.py
│   ├── database/                   # Database operations (SQLite)
│   │   ├── database_manager.py     # Core database manager
│   │   ├── database_batch.py       # Batch script storage
│   │   ├── database_batch_execution.py
│   │   ├── database_batch_queries.py
│   │   ├── database_batch_scripts.py
│   │   ├── database_commands.py    # Command history
│   │   ├── database_conversations.py
│   │   ├── database_recipes.py     # Recipe storage
│   │   └── database_servers.py     # Machine identity tracking
│   ├── output/                     # Output filtering & formatting
│   │   ├── output_buffer.py
│   │   ├── output_buffer_base.py
│   │   ├── output_buffer_filtered.py
│   │   ├── output_filter.py        # Smart filtering (95% token savings)
│   │   ├── output_filter_commands.py
│   │   ├── output_filter_decision.py
│   │   └── output_formatter.py
│   ├── prompt/                     # Command completion detection
│   │   ├── prompt_detector.py
│   │   ├── prompt_detector_checks.py
│   │   ├── prompt_detector_pager.py
│   │   └── prompt_detector_patterns.py
│   ├── ssh/                        # SSH/SFTP operations
│   │   ├── ssh_manager.py          # High-level SSH manager
│   │   ├── ssh_connection.py       # Connection lifecycle
│   │   ├── ssh_commands.py         # Command execution
│   │   └── ssh_io.py               # Input/output streaming
│   ├── state/                      # Shared state management
│   │   ├── shared_state_conversation.py
│   │   ├── shared_state_monitor.py
│   │   └── shared_state_transfer.py
│   ├── static/                     # Web terminal static assets
│   │   ├── fragments/              # HTML fragments
│   │   ├── vendor/                 # xterm.js library
│   │   ├── terminal.css
│   │   ├── terminal.js
│   │   └── transfer-panel.js
│   ├── tools/                      # MCP tool modules (modular)
│   │   ├── decorators.py           # Tool decorators
│   │   ├── tools_hosts.py          # Server management (main)
│   │   ├── tools_hosts_crud.py     # Add/remove/update servers
│   │   ├── tools_hosts_select.py   # Server selection & connection
│   │   ├── tools_commands.py       # Command execution (main)
│   │   ├── tools_commands_database.py
│   │   ├── tools_commands_execution.py
│   │   ├── tools_commands_status.py
│   │   ├── tools_commands_system.py
│   │   ├── tools_conversations.py  # Conversation tracking (main)
│   │   ├── tools_conversations_lifecycle.py
│   │   ├── tools_conversations_query.py
│   │   ├── tools_batch.py          # Batch script execution (main)
│   │   ├── tools_batch_execution.py
│   │   ├── tools_batch_helpers.py
│   │   ├── tools_batch_management.py
│   │   ├── tools_recipes.py        # Recipe automation (main)
│   │   ├── tools_recipes_create.py
│   │   ├── tools_recipes_crud.py
│   │   ├── tools_recipes_execution.py
│   │   ├── tools_recipes_helpers.py
│   │   ├── tools_recipes_modify.py
│   │   ├── tools_recipes_query.py
│   │   ├── tools_sftp.py           # File transfer (main)
│   │   ├── tools_sftp_single.py    # Single file transfer
│   │   ├── tools_sftp_directory.py # Directory transfer
│   │   ├── tools_sftp_directory_download.py
│   │   ├── tools_sftp_directory_upload.py
│   │   ├── tools_sftp_exceptions.py
│   │   ├── tools_sftp_utils.py
│   │   ├── sftp_compression.py     # Compression logic
│   │   ├── sftp_compression_download.py
│   │   ├── sftp_compression_tar.py
│   │   ├── sftp_compression_upload.py
│   │   ├── sftp_decisions.py       # Auto/manual compression decisions
│   │   ├── sftp_progress.py        # Progress tracking
│   │   ├── sftp_transfer_compressed.py
│   │   ├── sftp_transfer_download.py
│   │   ├── sftp_transfer_scan.py
│   │   ├── sftp_transfer_standard.py
│   │   ├── sftp_transfer_upload.py
│   │   └── tools_info.py           # System information
│   ├── utils/                      # Utility functions
│   │   ├── utils.py
│   │   ├── utils_format.py
│   │   ├── utils_machine_id.py     # Hardware/OS fingerprinting
│   │   ├── utils_output.py
│   │   └── utils_text.py
│   ├── web/                        # Web terminal (WebSocket-enabled)
│   │   ├── web_terminal.py         # Main web server
│   │   ├── web_terminal_ui.py      # UI components
│   │   └── web_terminal_websocket.py  # Multi-terminal sync
│   ├── mcp_server.py               # MCP server entry point
│   ├── shared_state.py             # Global shared state
│   ├── command_state.py            # Command registry & tracking
│   ├── hosts_manager.py            # Multi-server configuration
│   └── error_check_helper.py       # Error detection
└── standalone/                     # Standalone web UI (no Claude)
├── static/
│   ├── css/                        # Standalone UI styles
│   │   ├── control-forms.css
│   │   ├── control-layout.css
│   │   ├── control-response.css
│   │   └── control-styles.css      # Bash syntax highlighting
│   ├── js/                         # Standalone UI scripts
│   │   ├── control-forms.js
│   │   ├── control-forms-fields.js
│   │   ├── control-forms-generation.js
│   │   ├── control-forms-utils.js
│   │   ├── control-main.js
│   │   └── control-response.js
│   └── tool-schemas/               # MCP tool schemas
│       ├── batch.json
│       ├── commands.json
│       ├── file-transfer.json
│       ├── servers.json
│       └── workflows.json
├── mcp_control.html                # Control panel HTML
├── standalone_mcp.py               # Standalone server entry point
├── standalone_mcp_endpoints.py     # API endpoints
└── standalone_mcp_startup.py       # Initialization & connection
技術スタック
  • Python 3.9+ — 中核言語
  • MCP Protocol — Claude との連携
  • Paramiko — SSH/SFTP ライブラリ
  • NiceGUI + WebSockets — 複数ターミナル同期に対応した Web ターミナル
  • SQLite — 履歴/レシピ/スクリプト用データベース
  • FastAPI — Web フレームワーク

🔧 設定

設定ファイルの場所

初回起動時に、設定ファイルは作業ディレクトリへ自動的にコピーされます。

PyPI ユーザーの場合:

  • Claude Desktop の設定で REMOTE_TERMINAL_ROOT を設定します
  • 初回起動時にファイルがそのディレクトリへ自動的にコピーされます
  • 場所:%REMOTE_TERMINAL_ROOT%\config.yaml および hosts.yaml
  • 再インストール/アップグレード時もユーザーデータは保持されます

インストールパッケージに同梱されるデフォルトのテンプレートファイル:

  • config/config.yaml — デフォルト設定のテンプレート
  • config/hosts.yaml.example — サーバー設定のテンプレート
hosts.yaml

サーバーを定義します。

servers:
  - name: production
    host: 192.168.1.100
    user: admin
    password: secure_pass
    port: 22
    description: Production server
    tags: production, critical
    
  - name: development
    host: 192.168.1.101
    user: dev
    password: dev_pass
    tags: development

default_server: production

🛡️ セキュリティに関する考慮事項

現在の状況
  • hosts.yaml にパスワードがプレーンテキストで保存されています
  • Web ターミナルは localhost のみにバインドされており、ネットワークには公開されていません
  • すべてのコマンドの監査証跡がデータベースに保存されます
  • SSH は標準的なセキュリティ(パスワード認証)を使用します
  • ユーザー設定ファイルはパッケージの外部に保存されるため、再インストール後も保持されます

📊 パフォーマンス

トークン効率

冗長なコマンドにおける平均トークン削減率:

コマンドの種類全出力フィルタリング後削減率
apt install~15,000~60096%
ls -la /var~8,000~40095%
ログ検索~12,000~50096%
find /~30,000~80097%

平均:冗長なコマンドでトークンを95~98%削減

速度の向上

バッチ実行と逐次実行の比較:

  • コマンド10個を逐次実行: 5分(往復10回)
  • コマンド10個をバッチ実行: 30秒(往復1回)
  • 速度が10倍に向上します!

🔍 高度な機能

バッチスクリプトライブラリ

バッチスクリプトを保存して再利用できます:

1. Run diagnostics → Script auto-saved with deduplication
2. Browse library → "List my batch scripts"
3. Execute saved script → "Execute script 5"
4. Edit existing → "Load script 3 for editing"
5. Track usage → times_used, last_used_at

機能:

  • SHA256 ハッシュによる自動重複排除
  • 使用統計の追跡
  • 変更用の編集モード
  • 検索と並べ替え
  • 確認付きの2段階削除
会話の追跡

関連するコマンドを目的ごとにグループ化できます:

Start conversation: "Configure nginx with SSL"
→ [Execute multiple commands]
→ End conversation: success
→ Create recipe from conversation

メリット:

  • 整理されたコマンド履歴
  • ロールバック機能
  • AI 向けのコンテキスト
  • レシピの生成
レシピシステム

成功したワークフローを保存できます:

# Recipe: wifi_diagnostics
1. lspci | grep -i network
2. iwconfig
3. ip link show
4. dmesg | grep -i wifi
5. systemctl status NetworkManager

互換性のある任意のサーバーで再利用できます:

Execute wifi_diagnostics recipe on my new server
マシンの識別情報

各サーバーは、一意の machine_id(ハードウェアと OS のフィンガープリント)によって追跡されます:

  • コマンドは物理マシンごとに追跡されます
  • レシピは互換性のあるシステムで実行されます
  • 監査証跡の整合性が維持されます
  • サーバーの IP アドレス変更に対応します

🐛 既知の問題と制限事項

現在の制限事項
  1. Windows のローカルマシン向けに設計されています

    • 現在は Windows 10/11 向けに最適化されています
    • 変更を加えれば Linux/Mac もサポートできる可能性があります
  2. SSH キーのサポートは未実装です

    • パスワード認証のみです
    • SSH キーは手動での SSH 接続では使用できますが、MCP ツールには統合されていません
  3. 一度に接続できるリモートサーバーは1台のみです

    • 複数のサーバーを設定できます
    • 1つのセッションで同時に作業できるのは1台のみです
    • 必要に応じてサーバーを切り替えてください

🤝 コントリビューション

これは Tim の個人プロジェクトです。コントリビューションを希望される場合は、以下をお願いします:

  1. ご自身の環境で十分にテストする
  2. 見つかった問題を記録する
  3. 改善案を提案する
  4. 作成したレシピやスクリプトを共有する

📜 バージョン履歴

Version 1.3.3(2026年6月)

Web ターミナルのライフサイクル管理とソケットリークの修正:

  • ✅ select_server 内の SSH connect() の二重呼び出しを修正(ソケットリークの修正)
  • ✅ ui.timer によるポーリングを削除し、WebSocket 駆動のヘッダー更新に置き換え
  • ✅ open_terminal MCP ツールを追加。既存のタブを閉じ、要求に応じて新しいターミナルを開きます
  • ✅ 最初のコマンド実行時に、ウェルカムメッセージを含むターミナルタブを自動的に開きます
  • ✅ サーバー切り替え時に、新しいサーバー名を含む視覚的な区切り線をターミナルに表示します
  • ✅ サーバー切り替え時に、WebSocket 経由でヘッダーを動的に更新します
  • ✅ サーバー切り替え時に、古いブラウザータブを自動的に閉じます(session_superseded)
  • ✅ セッション中にタブを閉じた場合、ターミナルを自動的に再度開きます(execute_command のセーフティネット)
  • ✅ ターミナル再表示後、改行を挿入して新しいプロンプトを送信します
  • ✅ どのサーバーにも接続していない状態でターミナルを開かないようにガードを追加
Version 1.3.2(2026年3月)

ツールの占有量を減らす SLIM_MODE:

  • ✅ SLIM_MODE 設定オプションにより、使用頻度の低いツールを Claude のツール一覧から非表示にできます
  • ✅ mcp_server.py で HIDDEN_TOOLS リストを設定できます
  • ✅ ツール数が多い場合のコンテキストウィンドウ使用量を削減します
  • ✅ 非表示のツールも直接呼び出し可能ですが、一覧には表示されません
バージョン 1.3.1(2026 年 2 月)

プロンプト検出ログの大幅な改善:

  • ✅ 本番モード:コマンドごとのログを数百行から 2 行(開始+検出)に削減
  • ✅ デバッグモード:config.yaml で prompt_detection.debug_logging: true を設定すると、詳細なログをすべて出力
  • ✅ 検出サマリーに、ポーリング回数、確認した行数、最後に一致しなかった内容、一致した文字列、合計行数を表示
  • ✅ ページャー/sudo/検証のイベントは、本番モードでも引き続き記録(発生頻度が低く、有用なため)

起動時の設定ダンプ:

  • ✅ 起動時に config.yaml の内容をすべてログに記録(パスワードは伏字)
  • ✅ ホストの概要をログに記録(サーバー数+デフォルトサーバー)
  • ✅ 分散環境のユーザーに対するリモートサポートとトラブルシューティングを簡素化

デフォルトサーバーの自動設定:

  • ✅ 接続に成功するたびに、デフォルトサーバーを自動更新
  • ✅ 「再起動後に誤ったサーバーへ接続する」問題を解消
  • ✅ hosts.yaml に即時保存

バッファーオーバーフローの修正:

  • ✅ バッファーが max_lines に達した後も、コマンドが [出力なし] を返さないように修正
  • ✅ command_start_line がオフセットを補正して絶対位置を追跡するように修正
  • ✅ スライディングウィンドウの deque バッファーが、どの充填状態でも正しく機能するように修正
バージョン 1.3.0(2026 年 1 月)

仮想環境プロンプトのサポート:

  • ✅ すべてのプロンプトパターンに venv の接頭辞サポートを追加 (\(.+\)\s+)?
  • ✅ Python venv、Conda、Poetry、Pipenv などのツールをサポート
  • ✅ サーバー選択とマシン ID 検出の GENERIC_PROMPT パターンを修正
  • ✅ config.yaml に設定がない場合、パターンのデフォルト値が適用されない問題を修正
  • ✅ pip インストール時の設定ファイルのコピー先を修正
  • ✅ hosts.yaml.example テンプレートを修正(無効な default フィールドを削除)
  • ✅ すべての修正をテストし、動作を確認
バージョン 1.2.1(2024 年 12 月)

単独インポートの修正:

  • ✅ 単独モジュールでの ModuleNotFoundError を修正
  • ✅ ソースからの使用とインストール済みパッケージの使用の両方で、try/except によるフォールバックインポートを追加

コードのモジュール化:

  • ✅ ソースをモジュール別のディレクトリ構成(batch、config、database、output、prompt、ssh、state、utils、web)に再編成
  • ✅ 大規模なツールモジュールを、用途を絞った小さなファイルに分割
  • ✅ リファクタリング後、37 個すべての MCP ツールをテストし、動作を確認
バージョン 1.2.0(2024 年 12 月)

PyPI パッケージの配布:

  • ✅ 最新の pyproject.toml 設定を使用した PyPI パッケージを提供
  • ✅ REMOTE_TERMINAL_ROOT 環境変数を使った設定の自動初期化
  • ✅ 初回実行時に設定ファイルをユーザーディレクトリへ自動コピー(アップグレード後も維持)
  • ✅ list_servers ツールに [CURRENT] と [DEFAULT] のマーカーを追加
  • ✅ デフォルトサーバーに到達できない場合にスタンドアロンモードがクラッシュする問題を修正

スタンドアロン Web UI - ヘルプシステム:

  • ✅ すべての MCP ツールにヘルプボタン(❓)を追加し、詳細なドキュメントを用意
  • ✅ 使用例とパラメーターの説明をすべて含むヘルプモーダルを追加
  • ✅ すべてのツールスキーマを更新:ワークフロー、コマンド、バッチ、サーバー、ファイル転送
  • ✅ CSS を強化し、ボタンの色を統一(実行は緑、ヘルプは青)

レシピ管理(新しいツール 3 個):

  • ✅ delete_recipe - 2 段階の確認による完全削除
  • ✅ create_recipe_from_commands - 実行せずにレシピを手動で作成
  • ✅ update_recipe - インプレースでレシピを変更(ID/統計情報を保持)
  • ✅ スタンドアロン UI で手動の ID 入力を廃止し、レシピのドロップダウンセレクターに置き換え

WebSocket による複数ターミナルの同期:

  • ✅ HTTP ポーリングを WebSocket ブロードキャスト方式に置き換え
  • ✅ 複数のブラウザーターミナルを常に完全同期
  • ✅ 接続が失われた場合に自動再接続
バージョン 1.1.0(2024 年 12 月)

バッチスクリプト管理(新しいツール 5 個):

  • ✅ list_batch_scripts、get_batch_script、save_batch_script、execute_script_content_by_id、delete_batch_script
  • ✅ SHA256 コンテンツハッシュによる自動重複排除
  • ✅ 使用統計を追跡(times_used、last_used_at)
  • ✅ スクリプト変更用の編集モード
  • ✅ 確認を伴う 2 段階の削除
  • ✅ スタンドアロン UI に Bash のシンタックスハイライトを追加(VS Code の配色)
  • ✅ ツール名を変更:create_diagnostic_script → build_script_from_commands、execute_batch_script → execute_script_content
バージョン 1.0.0(初回リリース - 2024年12月)

主な機能:

  • ✅ インタラクティブなウェブターミナル(入力、貼り付け、履歴のスクロール)
  • ✅ マシンの識別情報を追跡する、複数サーバーの管理
  • ✅ スマートな出力フィルタリング(トークンを95〜98%削減)
  • ✅ バッチスクリプトの実行(逐次実行より10〜50倍高速)
  • ✅ ロールバックに対応した会話の追跡
  • ✅ ワークフロー自動化のためのレシピシステム
  • ✅ 圧縮に対応したSFTPファイル転送
  • ✅ 完全な監査証跡を記録するSQLiteデータベース
  • ✅ Claude Desktopとの完全なMCP統合
  • ✅ デュアルストリームアーキテクチャ(ブラウザーには完全な出力、Claudeにはフィルタリング済みの出力)

📞 サポート

問題やご質問がある場合:

  1. ドキュメントを確認する

  2. ログを確認する

    • Claude Desktopのログ(ヘルプ → ログを表示)
  3. コンポーネントをテストする

    • スタンドアロンモードを使用する(start_standalone.ps1)
    • SSHを手動でテストする
    • データベースを確認する(view_db.py)

📄 ライセンス

このプロジェクトはTimの個人利用を目的としています。現在はオープンソースではありません。


🙏 謝辞

  • Anthropic - ClaudeとMCPプロトコル
  • Paramiko - SSHライブラリ
  • FastAPI - ウェブフレームワーク
  • NiceGUI - WebSocket対応のUIコンポーネント

Claudeにサーバーを管理させてみませんか?QUICK_START.mdを確認して、5分で始めましょう!


バージョン: 1.3.3
最終更新日: 2026年6月3日
メンテナー: Tim

コメント

MCP は初めてですか?

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

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