agent-desktop
agent-desktop official site ↗Last checked against the official docs:
What it does
Computer use for AI agents from Vercel Labs: it lets an agent see and operate desktop apps on macOS, Windows and Linux through the operating system's accessibility tree instead of screenshots and pixel matching. snapshot returns an app's UI as JSON with a ref for each element, the agent clicks or types on a ref, then takes a new snapshot to check the result. There is no model inside; the loop runs in your agent. It ships as a CLI and a C library, and agent-desktop mcp serves every command as an MCP tool over stdio. Apache-2.0 licensed.
Who it's for
People who want an agent to work with native apps (Finder, Slack, system settings and so on) and not just the browser, and are comfortable giving it accessibility access to their desktop.
How to set it up
Install the CLI globally (it needs Node 18 or later; Homebrew also works on macOS and Linux with brew install agent-desktop), then check what your platform supports:
bashnpm install -g agent-desktop agent-desktop statusmacOS: give the app that launches agent-desktop (Terminal, iTerm2, VS Code or your agent's app) Accessibility permission. This command opens System Settings at the missing permission. Screen Recording is only needed for screenshots:
bashagent-desktop permissions --guideTry the loop. Refs belong to the snapshot they came from, so take a new snapshot after the UI changes:
bashagent-desktop snapshot --app Finder -i agent-desktop click @s8f3k2p9:e8 agent-desktop snapshot --app Finder -iTo use it as an MCP server, add this to your client. Tools are named after the commands, such as desktop_snapshot and desktop_click:
json{ "mcpServers": { "agent-desktop": { "command": "agent-desktop", "args": ["mcp"] } } }Or install the skill for a shell-based agent: npx skills add https://github.com/vercel-labs/agent-desktop --skill agent-desktop. Requirements: macOS 13 or later, Windows 10 1809 or later, or Ubuntu 24.04 or later with a running AT-SPI accessibility bus. Ref actions don't move the pointer unless you pass --headed. Snapshots, clipboard reads and screenshots can contain private content from your desktop, so keep them out of public logs.
Check the official agent-desktop docs for the latest steps.
Install agent-desktop in your client
Runs on your computer. Needs: The agent-desktop CLI installed globally (npm install -g agent-desktop, Node 18 or later); macOS needs Accessibility permission for the launching app. Sign-in or keys: None.
One-click install
These buttons open the app on your computer (it needs to be installed already). The app asks you to confirm before it adds the server: review the command or URL it shows and check it matches the snippet below before you approve.
Claude Code
Run in a terminal
claude mcp add --transport stdio agent-desktop -- agent-desktop mcpEverything after -- is the server command. Run /mcp inside Claude Code to check it connected.
Claude Desktop
Settings → Developer → Edit Config (claude_desktop_config.json)
{
"mcpServers": {
"agent-desktop": {
"command": "agent-desktop",
"args": [
"mcp"
]
}
}
}Fully quit and reopen Claude Desktop after saving.
Cursor
.cursor/mcp.json in a project, or ~/.cursor/mcp.json for all projects
{
"mcpServers": {
"agent-desktop": {
"command": "agent-desktop",
"args": [
"mcp"
]
}
}
}VS Code
.vscode/mcp.json (note the top-level "servers" key)
{
"servers": {
"agent-desktop": {
"type": "stdio",
"command": "agent-desktop",
"args": [
"mcp"
]
}
}
}Codex
Run in a terminal, or edit ~/.codex/config.toml
CLI
codex mcp add agent-desktop -- agent-desktop mcpOr in ~/.codex/config.toml
[mcp_servers.agent-desktop]
command = "agent-desktop"
args = ["mcp"]- If the server shows as failed or disconnected, see fixing MCP error -32000.
- Compare every server's runtime and sign-in needs in the MCP server requirements table.
Checked against the official docs. Snippets use placeholders; keep real keys out of files you commit. Windsurf is not listed because we have not verified its format.
Set it up / Fixes
Step-by-step guides for getting agent-desktop running and fixing common errors.
Example prompts
Use agent-desktop to open System Settings and tell me which display resolution is selected.Take a snapshot of the Finder window, open the Downloads folder and list the five newest files.Open my app's desktop build, click through the onboarding screens and report any button that doesn't respond.Made agent-desktop? Add the badge
If you like, show that agent-desktop is listed and hand-checked here. It's optional: listings are free and we never ask for a link back.
Get the Markdown or HTML
Markdown (for a GitHub README)
[](https://www.pluginstackai.com/plugins/agent-desktop/)HTML (for a website)
<a href="https://www.pluginstackai.com/plugins/agent-desktop/"><img src="https://www.pluginstackai.com/badge/hand-checked.svg" alt="Hand-checked on PluginStack" width="226" height="28"></a>Free: MCP Starter Checklist
After you set this tool up, use the one-page checklist so your next MCP server doesn't fail on first connect.
More MCP Servers
- Vercel Labs
agent-browser
A browser automation CLI from Vercel Labs, built for AI agents. The agent drives a real browser one short shell command at a time: snapshot returns the page as compact text with a ref such as @e1 for each element, the agent clicks or fills a ref, then takes a new snapshot to check the result. The browser stays open between commands. It uses Chrome for Testing by default and can also attach to a Chrome you already have running. It ships version-matched skills for agents, and agent-browser mcp runs it as an MCP server over stdio. Native binaries for macOS, Linux and Windows. Apache-2.0 licensed.
- Apify
Apify MCP Server
Apify's official MCP server. It lets an agent search Apify Store and run its ready-made scrapers and automation tools (called Actors) for websites, search engines, maps, social media and e-commerce, then read the results from your Apify datasets. By default it loads Actor search and run tools, Apify docs search, and the Web Search and Web Fetch Actors. The hosted server at mcp.apify.com signs you in with OAuth. MIT licensed; running Actors uses your Apify plan (a free plan includes $5 of monthly usage; most Store Actors charge per event).
- Brave
Brave Search MCP Server
Brave's official MCP server for the Brave Search API. It adds web, local, place, image, video and news search tools, plus LLM context and AI summarization. Version 2.x uses stdio by default, with HTTP as an option. MIT licensed.
- Google (Chrome DevTools)
Chrome DevTools MCP
Lets a coding agent control and inspect a live Chrome browser through Chrome DevTools (Google now calls it "Chrome DevTools for agents"; the package is chrome-devtools-mcp). It can record performance traces, read network requests and console messages (with source-mapped stack traces) and automate pages with Puppeteer. A CLI is included for use without MCP. Apache-2.0.
- Cloudflare
Cloudflare MCP Servers
Cloudflare's official remote MCP servers. The recommended Cloudflare API MCP server (https://mcp.cloudflare.com/mcp, maintained in the cloudflare/mcp repo) reaches the whole Cloudflare API through a few code-mode tools, and the repo also lists product servers for docs, containers, Browser Run and more. All are hosted by Cloudflare, so there is nothing to install. Apache-2.0.
- Upstash
Context7
Pulls up-to-date, version-specific library documentation and code examples into your prompt, so the AI stops relying on outdated training data or made-up APIs.