Download
Blog · For developers

Give Claude Code control of your desktop apps with MCP

Claude Code stops at the terminal. Add ands as an MCP server and it can open apps, click, type and check results, with a person approving anything sensitive.

October 31, 2026

Claude Code is excellent inside a repo. Then the task leaves the terminal ("check the setting actually changed in the app", "file this in our tracker", "click through the onboarding and tell me what breaks") and it has to hand it back to you.

ands gives it hands for the rest of the computer.

Install in one line

In your project:

claude mcp add ands -- npx -y andsh mcp

That’s it: no account, no API key, no config file. It runs on macOS, Windows and Linux with Node 22.18 or later. The first time, your OS asks you to allow Accessibility for the terminal, which is what lets ands read and click.

What Claude Code gets

  • ands_look: an app’s window as an accessibility tree, with every button and field named and given a ref.
  • ands_act: click, type, select or scroll on a ref.
  • ands_press, ands_apps, ands_clipboard: keys, windows and the clipboard.
  • ands_screenshot: for apps that draw their own controls. Sensitive, so it asks.
  • ands_do: hand over a whole task in plain words and let ands run it, which keeps your agent’s context clean.

Why a tree and not screenshots: How AI agents see your screen.

Prompts to try

  • "Build the app, open it, switch to dark mode and tell me if the sidebar text is still readable."
  • "Open System Settings and check whether notifications are on for our app."
  • "Go through the signup flow in the simulator and list every screen where the button text is cut off."
  • "Copy the error from the desktop app’s dialog and find where it comes from in the code."

Approvals still go to a person

Every tool call is sorted into read, change or sensitive before it reaches the engine. Sending, paying, deleting, installing and signing in always ask a human. When Claude Code supports MCP elicitation, the question shows up inside it. Otherwise ands opens a system dialog, so even an agent running in the background can’t approve itself. Every action is logged; ands history shows them.

Other agents

The same server works with Codex, Cursor, VS Code and Claude Desktop. See Connect Cursor and Codex to any desktop app, or run npx -y andsh mcp --config cursor to print the snippet for your client.

Connect ands to your agent

Questions

Run `claude mcp add ands -- npx -y andsh mcp` in your project. No account or key is needed.

Yes. The MCP server and CLI are free for developers.

A person. If the client supports MCP elicitation the question appears inside it; otherwise ands opens a system dialog, so the agent can’t approve itself.

Keep reading