REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Instant, resettable Windows, Ubuntu and Arch Linux ARM desktop VMs for AI agents on Apple Silicon.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
No key, nothing to install · Only the Claude desktop app (Windows or Mac), not the web or phone
Download the maker’s .mcpb file
The .mcpb file comes straight from the maker; we do not change it
Use agentpc and tell me what you can do for me, then show me one thing✓ If Claude says it is using agentpc or shows a agentpc tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect agentpc yet
agentpc runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect agentpc
B · Others in Developer tools that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Claude Code cannot connect agentpc yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect agentpc
Cursor cannot connect agentpc yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect agentpc
VS Code cannot connect agentpc yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect agentpc
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 15, 2026
The registry name was verified with the GitHub account pawanpaudel93, which owns the repo
Code last changed 5 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 5 days ago, and the latest version (0.1.12) reached the registry 42 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: REA, GitHub, Serena MCP: the IDE for your agent
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Instant, resettable Windows, Ubuntu and Arch Linux ARM desktops for AI agents, on your Mac.
Website: https://agentpc.pawanpaudel.com.np
agentpc gives AI agents (Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, VS Code, or any MCP client) real desktop computers to work in: create a VM in seconds, let the agent click, type, take screenshots and run commands, then reset it to a clean state. It is a single Rust binary that runs VMs with QEMU on Apple's hypervisor and serves them to agents over MCP.
reset returns a VM to a clean state just as fast.agentpc mcp-install sets up the popular ones.agentpc create ubuntu --open or MCP open_in_browser: true to open it in the Mac’s default browser after readiness; neither opens a tab by default.ubuntu-x86apps / arch-x86apps run x86_64 Linux programs and amd64 containers through FEX.127.0.0.1 only.| Requirement | Details |
|---|---|
| Hardware | Apple Silicon Mac (M1 or later; tested on M4) |
| OS | A macOS version QEMU supports: the current one and, for up to two years, the previous one (tested on macOS 15) |
| Runtime | QEMU from Homebrew (the installer handles it, installing Homebrew too if needed) |
| Memory | 4 GB per running Ubuntu or Arch VM, 8 GB per running Windows VM |
| Disk | ~10 GB per Ubuntu or Arch image, ~30 GB per Windows image (each including its snapshot) |
curl -fsSL https://agentpc.pawanpaudel.com.np/install.sh | sh
The installer:
agentpc to ~/.local/bin (no sudo) and adds it to your PATH,agentpc mcp-install),agentpc doctor.To upgrade later, run agentpc update (or agentpc update --check to just look); rerunning the installer works too. Installer options:
| Variable | Effect |
|---|---|
AGENTPC_VERSION=0.1.0 | Install a specific version |
AGENTPC_INSTALL_DIR= | Install somewhere other than ~/.local/bin |
AGENTPC_NO_MCP=1 | Skip registering the MCP server |
To build from source instead, see Development.
Ubuntu:
agentpc create ubuntu # first run: downloads (~1.2 GB) and prepares the image; then ~1 s per VM
Arch Linux ARM:
agentpc create arch # first run: downloads and prepares the image; then ~1 s per VM
Windows: Microsoft's license doesn't allow redistributing Windows images, so each Mac builds its own once. agentpc downloads the official Windows 11 ARM64 ISO from Microsoft (7.3 GB, checksum-verified) unless you already have one:
agentpc image build windows # once: download + ~12 min install; or pass --iso <path>
agentpc create windows # ~4 s per VM
Then ask your agent something like:
uname -a."*To watch a VM yourself, open the viewer URL printed by agentpc info .
agentpc is an MCP server (agentpc mcp, stdio). One server handles every VM.
In Claude Code, install the agentpc plugin. It bundles the MCP server with a skill that teaches Claude when and how to use the VMs:
/plugin marketplace add pawanpaudel93/agentpc
/plugin install agentpc@agentpc
The plugin runs the installed agentpc binary, so install that first (see Installation). When the plugin is installed it already registers the MCP server for Claude Code, so agentpc mcp-install skips Claude Code to avoid a duplicate.
Register it with every supported agent that's installed (the installer does this):
agentpc mcp-install # or pick: agentpc mcp-install claude claude-desktop codex
Supported: Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI and VS Code (restart Claude Desktop after registering). Updating an existing JSON mcpServers.agentpc or Codex [mcp_servers.agentpc] entry preserves custom environment/options while refreshing the managed command and arguments, and keeps the comments and blank lines around them. Config is written through a private temporary file. Invalid config is refused, not replaced; multiline TOML values are edited as complete values. For any other MCP client, add:
{
"mcpServers": { "agentpc": { "command": "agentpc", "args": ["mcp"] } } }
This repository also contains project-level configs (.mcp.json, .codex/config.toml, .cursor/mcp.json, .gemini/settings.json, .vscode/mcp.json), so agents opened in a clone pick the server up automatically.
| Tool | Description |
|---|---|
list_vms | VMs (owner, state, size, checkpoints, viewer and, for running x86apps VMs, x86_tso) and the available images with their OS versions |
create_vm | Create a VM (optionally of a given version, size, or offline) and wait until its desktop is ready. Retrying it with the same name and image in the same session returns the VM already created, booting it if it was stopped. open_in_browser: true opens its viewer in the Mac’s default browser after readiness (default false; per-call only). Browser-launch failure warns without failing creation. from_checkpoint: " / " makes a new, independent VM from a checkpoint's disk instead: it boots cold, os/version may be omitted (if given, they must be the source's image), and the checkpoint's memory, port forwards, owner, offline and job records are not carried over. Errors before any work: invalid_checkpoint_ref, no_such_vm, no_such_checkpoint, image_mismatch |
start_vm / stop_vm | Boot a stopped VM / shut one down cleanly |
reset_vm | Discard all changes: back to a fresh copy of the image |
checkpoint_vm / restore_vm | Save a VM's disk and memory under a label; go back to it in seconds. A running VM's guest first writes its pending data to disk (at most ~10 s; otherwise the reply says "not flushed") |
delete_checkpoint | Delete one checkpoint by label; the VM is untouched |
delete_vm | Delete a VM with its disk and checkpoints |
take_screenshot | PNG screenshot from the hypervisor; save_to also writes it to a path on your Mac |
run_command | Run a command (PowerShell on Windows, bash on Ubuntu and Arch); returns typed structuredContent plus the readable exit code, stdout and stderr (each stream trimmed to its first and last 10,000 characters). At a foreground run's timeout (default 120 s) agentpc attempts to stop it and keeps its partial output, and the reply says whether the stop was confirmed. A foreground run whose request is cancelled or whose client disconnects is stopped the same way (request_cancelled); background: true returns a detached job id for get_job_status that cancellation does not stop |
get_job_status | Check a job by its id: queued, running, exited (with its code), stopped, ended without an exit code, or missing, plus its log. wait_seconds (0 to 30, default 0) waits without ever stopping the job; cursor reads the log incrementally. Also takes the job_id of a foreground run whose outcome was uncertain |
list_jobs | Find jobs again when their id was lost (a cancelled or disconnected run_command, a lost reply): the VM's job records, newest id first, as metadata only (id, kind, state, exit code, stop reason, which records exist, file times), never a command, environment, output or log. limit 1 to 100 (default 20); next_cursor continues below the last job shown. Read-only |
wait_for_service | Wait until a TCP port accepts a connection, or an HTTP path answers its expected status (default 200, redirects not followed), on the VM's own 127.0.0.1; timeout_seconds 1 to 120 (default 30). Optionally ends early when a run_command job_id is proven to have failed. Read-only: it never stops or restarts the service or the job |
stop_job | Stop a background job (or a foreground run's job_id) and everything it started (on Linux its systemd scope, which processes that detach stay in, when the guest has a user manager, else the processes marked with the job and their descendants; on Windows its process tree). For a job that already exited, it stops only what the job left running |
upload_file / download_file | Copy files or folders between your Mac and a VM |
forward_port | Reach a server running in a VM from your Mac (TCP over an SSH tunnel, works even for servers bound to the guest's own 127.0.0.1; or protocol: "udp" for a UDP server listening on 0.0.0.0) |
list_forwards / delete_forward | List a VM's active port forwards / stop one by its host port (and optional protocol) |
read_vm_log | Read the tail of a VM's qemu or serial log, for when a VM won't boot or the desktop is unreachable |
list_desktop_tools | List the desktop-control tools inside a VM, with each one's required arguments and whether it's read-only (or one tool's full schema, with its annotations); a wrong name returns close matches |
use_desktop_tool | Call one of them: click, type, launch apps, read the UI tree, … A call with wrong arguments or a wrong name returns the tool's arguments or close matches. Marked destructive |
| inspect_desktop | The read-only twin of `use_