Custom cursor

Give your AI agent eyes and hands

One command. Your coding agent can see your screen and control your desktop.

npx juno-cua

juno-cua starts an MCP (Model Context Protocol) server that exposes desktop automation tools to any compatible AI agent. Your agent can take screenshots, click buttons, type text, read the accessibility tree, and navigate between apps.

The use case: you're working with Claude Code and it needs to check if a UI change looks right, or verify something in a browser, or interact with a desktop app. Instead of describing what you see, the agent just looks.

Install

npm (no install needed)

npx juno-cua

Homebrew

brew install lacymorrow/tap/juno-cua

Available tools

ToolDescription
screenshotCapture the current screen state
clickClick at specific coordinates or UI elements
typeType text into any field or application
scrollScroll in any direction
accessibility_treeRead the full UI element hierarchy
open_urlOpen URLs in the default browser
open_appLaunch any installed application
dragDrag from one point to another

Compatible agents

AgentIntegration
Claude CodeNative MCP support
CursorMCP tool integration
OpenAI CodexMCP-compatible
Gemini CLIMCP-compatible
Custom agentsAny MCP client

What developers use it for

Visual verification — "Does the button look right after my CSS change?" The agent screenshots and checks.

Cross-app workflows — Agent reads a design in Figma, writes the code, then opens the browser to compare.

Testing — Agent fills forms, clicks through flows, and verifies the app works end-to-end.

Desktop automation — Anything beyond the terminal. Agent manages windows, interacts with native apps, controls the OS.

Open source

juno-cua is part of the Juno project. Source code, issues, and contributions at github.com/lacymorrow/juno. Licensed FSL-1.1-MIT (converts to MIT after 2 years).

Give your agent desktop superpowers.