mcpField
M
MCP Virtual Computer

MCP Virtual Computer

ローカル
github.com開発ツール36 日前に更新

MCP Virtual Computer について

MCP Virtual Computer は、エージェント向けに永続的な Docker または Fly のコンピューターを提供し、オプションでライブ Xfce デスクトップと Three.js ビューを備えます。コマンド実行、ファイル管理、デスクトップ操作が必要なエージェントや利用者向けです。

主な機能

  1. 01Docker と Fly のコンピューターバックエンド
  2. 02ターミナルとファイル操作
  3. 03ライブ Three.js コンピュータービュー
  4. 04オプションの Xfce デスクトップ操作
  5. 05ネットワークアクセス制御

活用シーン

  1. 01コンピューター環境でのエージェントコマンド実行
  2. 02ワークスペースファイルの読み取り、書き込み、編集
  3. 03Xfce デスクトップの確認と操作

MCP 対応

ターミナルやファイルのツール、コンピューター UI、デスクトップ操作を有効にした場合のツールと画面リソースを MCP クライアントに公開します。MCP App からネットワークアクセスとデスクトップ環境も制御できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"flujo-app-mcp-virtual-computer": {
"command": "uvx",
"args": [
"mcp-virtual-computer"
],
"env": {
"BACKEND": "<BACKEND>",
"COMPUTER_ID": "<COMPUTER_ID>",
"DESKTOP_ENVIRONMENT": "<DESKTOP_ENVIRONMENT>",
"NETWORK_ACCESS": "<NETWORK_ACCESS>",
"AUTO_INSTALL_DOCKER": "<AUTO_INSTALL_DOCKER>",
"AUTO_INSTALL_FLYCTL": "<AUTO_INSTALL_FLYCTL>",
"FLY_API_TOKEN": "<FLY_API_TOKEN>",
"EXPOSE_LIFECYCLE_TOOLS": "<EXPOSE_LIFECYCLE_TOOLS>"
}
}
}
}
起動コマンドuvx mcp-virtual-computer
設定が必要な環境変数
BACKENDComputer provider. Use docker for a local container or fly for a permanent Fly Machine.
COMPUTER_IDStable identity of the one persistent computer.
DESKTOP_ENVIRONMENTStart the real Xfce desktop instead of the virtual desktop.
NETWORK_ACCESSAllow outbound network access from the computer.
AUTO_INSTALL_DOCKEROn Windows, install and start Docker Desktop lazily when needed.
AUTO_INSTALL_FLYCTLDownload flyctl into the user profile when it is missing.
FLY_API_TOKENシークレットOptional Fly API token. A cached flyctl login is also supported.
EXPOSE_LIFECYCLE_TOOLSAlso expose runtime status and network/desktop switching tools to the model. The MCP App can always use them.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-virtual-computer0.2.11

ツール

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

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

詳細

MCP Virtual Computer

image

エージェントのための、そしてあなたのための VM です。

  • マグカップをクリックすると、仮想デスクトップと実際のデスクトップを切り替えられます
  • ネットワークケーブルを抜いて、ネットワークアクセスを遮断できます
  • コンピューターの画面を通常の画面として使えます
  • ホストブラウザーと Xfce デスクトップの間でテキストをコピー&ペーストできます
  • モデルはターミナルを使い、ファイルの作成/読み取り/編集、画面の確認、クリック、入力ができます
  • ちょっとした楽しい機能:あなたか LLM がテキストを入力すると、その様子がキーボードに表示されます。どちらかがカーソルを使うと、テーブル上でマウスが動くのが見えます。
  • ローカルモードでは Windows に Docker Desktop を、Fly モードでは flyctl を自動的にインストールします

MCP クライアントの例

ローカル Docker(デフォルト)

省略した場合、COMPUTER_ID は agent-workstation がデフォルト値になります。名前を指定したコンピューターを引き続き使用する場合や、別のコンピューターを作成する場合は、明示的に設定してください。新しい Windows PC では、セットアップ時に Docker Desktop をインストールする前に WSL 2 の準備が行われます。表示された場合は、Windows の管理者プロンプトを承認してください。再起動が必要な場合は、Windows を再起動して MCP クライアントを開き直し、再試行してください。Windows 初回使用時の検証を参照してください。

{
  "mcpServers": {
    "virtual-computer": {
      "command": "uvx",
      "args": ["mcp-virtual-computer"],
      "env": {
        "COMPUTER_ID": "agent-workstation",
        "DESKTOP_ENVIRONMENT": "true",
        "NETWORK_ACCESS": "true",
        "AUTO_INSTALL_DOCKER": "true",
        "EXPOSE_LIFECYCLE_TOOLS": "false"
      }
    }
  }
}
Fly.io Machine

新しいマシンでは、MCP を一度起動し、エラーに表示された正確な flyctl auth login コマンドを実行してから、MCP クライアントを再起動してください

{
  "mcpServers": {
    "virtual-computer-fly": {
      "command": "uvx",
      "args": ["mcp-virtual-computer", "--backend", "fly"],
      "env": {
        "COMPUTER_ID": "agent-workstation",
        "DESKTOP_ENVIRONMENT": "true",
        "NETWORK_ACCESS": "true",
        "AUTO_INSTALL_FLYCTL": "true",
        "EXPOSE_LIFECYCLE_TOOLS": "false"
      }
    }
  }
}

公開する機能

  • terminal_execute — 設定された Docker コンテナーまたは Fly Machine でコマンドを実行します。
  • read_file — /workspace からの相対パス、または絶対パスで指定した UTF-8 テキストファイルを読み取ります。
  • write_file — UTF-8 テキストファイルをアトミックに書き込みます。
  • edit_file — 完全に一致するテキストを置き換えます。指定された場合は、すべての一致箇所を置き換えます。
  • computer_ui — Three.js コンピュータービューを開くか、接続します。結果には MCP App の resource_uri と、stdio クライアントでも外部ブラウザーで開ける実際のループバック url/dashboard_url の両方が含まれます。

DESKTOP_ENVIRONMENT のデフォルト値は true です。実際のデスクトップが有効な場合、さらに次の機能を公開します。

  • look_at_screen — 現在の PNG フレームバッファー、AT-SPI スナップショット、またはその両方を返します。
  • click、type、scroll — AT-SPI 要素参照または座標を使って操作します。
  • list_windows と switch_window — 実際の Xfce ウィンドウを列挙してアクティブにします。
  • move_window、maximize_window、restore_window、minimize_window、close_window — ID、タイトル、またはクラスで選択したウィンドウを操作します。
  • computer://screen/current.png — 現在のライブフレームバッファーリソースです。
  • computer://screen/accessibility.json — 要素参照、ロール、名前、アクション、フォーカス状態、画面上の境界を含む、Playwright のような AT-SPI ツリーです。

MCP App では常に runtime_status、set_network_access、set_desktop_environment を呼び出せます。EXPOSE_LIFECYCLE_TOOLS=true を設定すると、それらのライフサイクル制御機能もモデルに公開されます。デフォルトではモデルから隠されています。

アーキテクチャ

image

デモ:FLUJO

image

デモ:Claude Desktop

image

デモ:Goose

image ## 永続 Fly Machine

Fly モードでは、Fly のリモートビルダーで Xfce イメージをバンドルし、永続的な 1 台の Machine としてデプロイします。ルートファイルシステムと /workspace は MCP を再起動しても保持され、Three.js 画面は Fly の HTTPS/WebSocket プロキシ経由で同じ noVNC デスクトップを使用します。

これは、デプロイ済みの Fly Machine で look_at_screen が返す Xfce のフレームバッファです。computer_ui が VNC に接続すると、描画されたコンピューターにも同じライブデスクトップが表示されます。

永続的な Fly Machine で実行される Xfce デスクトップ

アプリ名、リージョン、CPU サイズ、メモリサイズ、Docker のインストール、VNC の設定は必要ありません。 docker と fly のバックエンド選択肢を含む、このパッケージの MCP Registry 宣言は server.json にあります。初回起動と認証の手順については、Fly の設定をご覧ください。

初回使用時、virtual-computer は fly/flyctl を探すか、公式の最新リリースを ~/.fly/bin にダウンロードします。キャッシュ済みの fly auth login セッションまたは FLY_API_TOKEN を使用し、利用可能であれば個人用組織を選択して、生成したアプリを作成・記憶します。配置先は Fly に最適な場所を選択させ、共有 CPU 1 基と 1 GB の RAM をデフォルトとして使用します。

避けられないアカウント手順は認証のみです。新しいマシンでは、MCP を一度起動し、エラーに表示された正確な flyctl auth login コマンドを実行してから、MCP クライアントを再起動します。Fly が Xfce をリモートでビルドするため、最初のコンピューター呼び出しには数分かかることがあります。以降の起動では、同じ Machine に接続します。

FLY_ORG、FLY_APP_NAME、FLY_REGION、FLY_API_TOKEN および --fly-* フラグによる任意の上書きも利用できます。AUTO_INSTALL_FLYCTL=false を設定すると、事前にインストールされた CLI が必須になります。コンピューターを削除または工場出荷時の状態にリセットすると、Fly の永続ルートファイルシステムも破棄されます。通常の MCP シャットダウンでは、永続 Machine は稼働したままです。使用料金が発生しないようにするには、不要になった時点で Fly から停止または削除してください。

ライセンスと由来

MIT ライセンスです。このプロジェクトは、Docker と Fly のバックエンドを備えた Kilntainers の永続コンピューター向けフォークです。

コメント

MCP は初めてですか?

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

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