MCP Virtual Computer

io.github.flujo-app由 GitHub 账号 flujo-app 发布v0.2.11更新于 Oct 25, 2026

A persistent Docker or Fly computer with a Three.js interface and optional live Xfce desktop.

概览

AI 生成的概览

为助手提供一个持久的 Docker 或 Fly.io 虚拟计算机,可执行终端命令、读写文件,并可选地查看和操作真实的 Xfce 桌面。

可以做什么
  • 在配置好的 Docker 容器或 Fly Machine 中执行 shell 命令
  • 按 /workspace 相对路径或绝对路径读取、写入和编辑 UTF-8 文本文件
  • 在 MCP App 或外部浏览器中打开 Three.js 计算机视图
  • 启用真实桌面后:截取屏幕 PNG 或无障碍树,并进行点击、输入和滚动
  • 列出、切换、移动、最大化、还原、最小化和关闭 Xfce 窗口
  • 可选择向模型暴露运行时状态以及网络、桌面切换工具
适用场景
适合需要一台持久沙箱机器来运行命令、管理文件并操作图形桌面的场景,可本地用 Docker 运行,也可作为重启后仍保留的 Fly.io 永久 Machine 运行。
运行要求
以 uvx 从 PyPI 包启动的本地进程;默认 docker 后端需要 Docker Desktop(Windows 上可自动安装,可能需要 WSL 2 和管理员授权),fly 后端需要 flyctl 和 Fly.io 账号。清单要求 COMPUTER_ID(默认 agent-workstation);可选 FLY_API_TOKEN 或已缓存的 flyctl 登录,以及 FLY_ORG、FLY_APP_NAME、FLY_REGION 覆盖项。仅限桌面端。
安装前请注意
助手可获得该计算机内的 shell 和文件访问权限,启用桌面后还能在其中点击和输入;NETWORK_ACCESS 控制对外网络访问。fly 模式会创建永久 Machine,MCP 关闭后仍持续运行并产生用量,删除或恢复出厂设置会销毁其持久文件系统。FLY_API_TOKEN 是密钥;自动安装选项会下载 Docker Desktop 或 flyctl,并可能请求管理员权限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MCP Virtual Computer,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP Virtual Computer

[image]

A VM for your agent. And for you.

  • click the mug to switch between a virtual desktop or a real one
  • unplug the network cable and cut network access
  • use the computer screen like a normal screen
  • copy and paste text between the host browser and the Xfce desktop
  • model can use terminal, create/read/edit files, see the screen, click, type
  • little fun thing: if either you or the llm types text, you see that on the keyboard; if one uses the cursor, you see the mouse move on the table.
  • automatically installs Docker Desktop on Windows for local mode, or flyctl for Fly mode

MCP client example

Local Docker (default)

COMPUTER_ID defaults to agent-workstation when omitted. Set it explicitly to keep using a named computer or to create a separate one. On a fresh Windows PC, setup prepares WSL 2 before installing Docker Desktop. Approve the Windows administrator prompt if shown; if a restart is required, restart Windows, reopen your MCP client, and retry. See Windows first-use validation.

json
{  "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

On a fresh machine, start the MCP once, run the exact flyctl auth login command shown by its error, and restart the MCP client

json
{  "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"      }    }  }}

What it exposes

  • terminal_execute — run a command in the configured Docker container or Fly Machine.
  • read_file — read a UTF-8 text file relative to /workspace or by absolute path.
  • write_file — atomically write a UTF-8 text file.
  • edit_file — replace one exact text match, or all matches when requested.
  • computer_ui — open or attach the Three.js computer view. Its result includes both the MCP App resource_uri and a real loopback url/dashboard_url that opens in an external browser, including for stdio clients.

DESKTOP_ENVIRONMENT defaults to true. With the real desktop enabled it additionally exposes:

  • look_at_screen — return the current PNG framebuffer, AT-SPI snapshot, or both.
  • click, type, and scroll — interact by AT-SPI element reference or coordinates.
  • list_windows and switch_window — enumerate and activate real Xfce windows.
  • move_window, maximize_window, restore_window, minimize_window, and close_window — control a selected window by ID, title, or class.
  • computer://screen/current.png — current live framebuffer resource.
  • computer://screen/accessibility.json — Playwright-like AT-SPI tree with element refs, roles, names, actions, focus state, and screen bounds.

The MCP App can always call runtime_status, set_network_access, and set_desktop_environment. Set EXPOSE_LIFECYCLE_TOOLS=true to additionally expose those lifecycle controls to the model; they remain model-hidden by default.

Architecture

[image]

Demo: FLUJO

[image]

Demo: Claude Desktop

[image]

Demo: Goose

[image]

Permanent Fly Machine

Fly mode builds the bundled Xfce image with Fly's remote builder and deploys it as one permanent Machine. The root filesystem and /workspace survive MCP restarts, and the Three.js screen uses the same noVNC desktop through Fly's HTTPS/WebSocket proxy.

This is the Xfce framebuffer returned by look_at_screen from a deployed Fly Machine. The same live desktop appears on the rendered computer after computer_ui connects to VNC:

[Xfce desktop running on a permanent Fly Machine]

No app name, region, CPU size, memory size, Docker installation, or VNC configuration is required. The package's MCP Registry declaration, including the docker and fly backend choices, is in server.json. See Fly setup for the complete first-run and authentication flow.

On first use, virtual-computer finds fly/flyctl or downloads the current official release to ~/.fly/bin. It uses a cached fly auth login session or FLY_API_TOKEN, selects the personal organization when available, creates and remembers a generated app, lets Fly choose the closest placement, and defaults to one shared CPU with 1 GB RAM.

Authentication is the only unavoidable account step. On a fresh machine, start the MCP once, run the exact flyctl auth login command shown by its error, and restart the MCP client. The first computer call can take several minutes while Fly remotely builds Xfce. Later starts attach to the same Machine.

Optional overrides remain available as FLY_ORG, FLY_APP_NAME, FLY_REGION, FLY_API_TOKEN, and the --fly-* flags. Set AUTO_INSTALL_FLYCTL=false to require a preinstalled CLI. Deleting or factory-resetting the computer destroys its persistent Fly root filesystem; ordinary MCP shutdown leaves the permanent Machine running. Stop or delete it from Fly when you no longer want it to incur usage.

License and origin

MIT licensed. This project is a persistent-computer fork of Kilntainers with Docker and Fly backends.

来源:README.md,提交 3bd3895

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.11最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分