MCP Tunnel について
VM上でシェルコマンドを実行できるMCPサーバーです。ブラウザー端末と任意の自動Webトンネルを備え、VMのコマンドラインにアクセスするMCPクライアント向けです。
主な機能
- 01MCP経由でVMのシェルコマンドを実行
- 02ブラウザーベースの端末
- 03Webトンネルの自動作成
- 04WebSocketによるリアルタイム通信
活用シーン
- 01MCPクライアントからVM上でコマンドを実行
- 02Web URLからVM端末を開く
MCP 対応
シェルコマンド実行用の`execute_command`と、Webトンネル作成用の`start_tunnel`を提供します。MCPクライアントはこれらのツールを使ってVMとWeb端末にアクセスできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Tunnel
VM マシンのコマンドラインにアクセスできる、シンプルな MCP(Model Context Protocol)サーバーです。起動すると、ホストもウェブにトンネル接続されるため、MCP 経由でアクセスできます。
機能
- MCP 経由で VM 上のシェルコマンドを実行
- VM とやり取りするためのウェブベースのターミナルインターフェース
- VM にどこからでもアクセスできるよう、自動的にトンネルを作成
- WebSocket ベースのリアルタイム通信
前提条件
- Node.js(v18 以降)
インストールと使用方法
npx で実行(インストール不要)
npx mcp-cli
グローバルインストール
npm install -g mcp-cli
mcp-cli
ローカル開発
# Clone repository
git clone [repository-url]
cd mcp-cli
# Install dependencies
npm install
開発
バックエンドとフロントエンドの両方でホットリロードを有効にして、開発サーバーを実行します。
npm run dev
ビルド
本番環境向けにフロントエンドとバックエンドの両方をビルドします。
npm run build-all
使用方法
- MCP サーバーを起動します。
# Start with automatic tunneling
npm start
# Start without automatic tunneling
npm start -- --no-tunnel
これにより、プロジェクトがビルドされ、サーバーが起動します。デフォルトでは、トンネルが自動的に作成されます。自動トンネリングを無効にするには、--no-tunnel フラグを使用してください。
-
サーバーが起動し、標準エラー出力に出力されます(標準出力での MCP 通信を妨げないためです)。
-
以下のツールを使用して、MCP 経由でサーバーとやり取りします。
利用可能な MCP ツール
execute_command:VM 上でシェルコマンドを実行します- パラメーター:
{ "command": "your shell command" }
- パラメーター:
start_tunnel:VM インターフェースにアクセスするためのウェブトンネルを作成します- パラメーター:
{ "port": 8080, "subdomain": "optional-subdomain" }
- パラメーター:
ウェブインターフェース
トンネルを起動すると、トンネルから提供された URL でウェブベースのターミナルインターフェースにアクセスできます。このインターフェースでは、次のことができます。
- VM でコマンドを直接実行
- コマンドの出力をリアルタイムで確認
- ウェブにアクセスできるあらゆるデバイスから VM を操作
環境変数
サーバーを設定するには、.env ファイルを作成します。
# Server configuration
PORT=8080
# Localtunnel configuration
LOCALTUNNEL_SUBDOMAIN=your-preferred-subdomain
セキュリティに関する考慮事項
このツールを使用すると、VM のコマンドラインに直接アクセスできます。以下のセキュリティ対策を検討してください。
- トンネルを公開する前に、強固な認証メカニズムを使用する
- 適切な検証を行い、実行できるコマンドを制限する
- 制限された環境での実行を検討する
- トンネルを通じて機密情報を公開しない
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。