Computer use for Claude Code, Codex, Cursor or any MCP client on Mac, Windows and Linux.
Auten is the hands, your AI is the brain. A small runner on your computer does the clicking, typing and screen reading. Your agent talks to it over MCP (stdio or SSE). Auten does not ship its own model and never needs your AI key; your agent keeps using the plan you already pay for.
What makes it different from a plain mouse and keyboard bridge:
list_elements then click_at(3)) instead of guessing
coordinates. OCR and real screenshots are there when an app has no accessibility info.fill_login types a stored secret into a field without the
agent ever seeing the value.1. Install the runner (one command, no admin rights):
# macOS and Linux
curl -fsSL https://auten.ai/install | bash
# Windows (PowerShell)
irm https://auten.ai/install.ps1 | iex
The first run asks you to connect a free key (30 minutes every month, no card).
2. Add Auten to your agent. For Claude Code, Auten can do it by itself:
auten connect
or add it with the Claude Code CLI and check with /mcp:
claude mcp add -s user auten -- auten mcp-bridge
3. Ask in plain words. For example: "Open Figma, export the Hero frame as PNG to my Desktop" or "Go through the unread invoices in my mail and fill them into the accounting app".
Any client that can start an npm package can use the launcher instead. It starts the installed runner, and if Auten is not installed yet it tells your agent the one-line install command.
{
"mcpServers": {
"auten": { "command": "npx", "args": ["-y", "@autenai/mcp"] }
}
}
claude mcp add -s user auten -- npx -y @autenai/mcp
Every client starts the same stdio command: auten mcp-bridge (or npx -y @autenai/mcp). If your app says it cannot find
auten, use the full path from which auten (usually ~/.local/bin/auten).
codex mcp add auten -- auten mcp-bridge
or in ~/.codex/config.toml:
[mcp_servers.auten]
command = "auten"
args = ["mcp-bridge"]
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"auten": { "command": "auten", "args": ["mcp-bridge"] }
}
}
gemini mcp add --scope user auten auten mcp-bridge
or the same mcpServers entry in ~/.gemini/settings.json.
Settings, Developer, Edit Config
(~/Library/Application Support/Claude/claude_desktop_config.json on macOS,
%APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"auten": { "command": "auten", "args": ["mcp-bridge"] }
}
}
Restart Claude Desktop.
Run MCP: Open User Configuration and add:
{
"servers": {
"auten": { "type": "stdio", "command": "auten", "args": ["mcp-bridge"] }
}
}
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"auten": { "command": "auten", "args": ["mcp-bridge"] }
}
}
~/.config/zed/settings.json:
{
"context_servers": {
"auten": { "command": "auten", "args": ["mcp-bridge"] }
}
}
MCP Servers, Configure (cline_mcp_settings.json):
{
"mcpServers": {
"auten": { "command": "auten", "args": ["mcp-bridge"] }
}
}
For clients that connect over the network, keep the runner online on the computer it should control:
auten --runner-only
Then use your personal MCP URL from your account page. It contains your key, so keep it private.
claude mcp add --transport sse auten <your-url>
No agent? Give the auten CLI your own key (Anthropic, OpenAI, Google, DeepSeek or any
OpenAI-compatible provider) with auten key add, then run auten "open my calendar and tell me what is next".
| Group | Tools |
|---|---|
| See the screen | list_elements, read_text, screenshot, screenshot_labeled, vision, screen_info |
| Act | click_at, click, fill, type, paste_text, press_keys, scroll, drag, move_mouse, act_on_matching, menu_select |
| Apps and windows | open_app, open_url, focus_window, browser_tabs, save_file, upload_file, clipboard_read |
| Secrets | list_logins, fill_login, get_profile |
| Learned skills | list_skills, run_skill, skills, show_skill, start_recording, stop_recording, start_fixing, stop_fixing |
| Coordination | ask_user, focus_app, release, gui_status, wait, opened_items, browser_cleanup |
macOS (Apple Silicon and Intel), Windows 10/11, Linux (X11), plus an Android phone over USB (beta).
| Plan | Runtime | Price |
|---|---|---|
| Free | 30 min every month | €0, no card |
| Starter | 10 h every month | €9/month (early access) |
| Pro | Unlimited | €29/month (early access) |
You bring your own AI, so the price is for Auten only. Details on auten.ai/pricing.
This repository holds the public docs, client configs and the @autenai/mcp npm launcher
(bin/auten-mcp.js, MIT). The runner itself is distributed through the installers above. Questions, bugs and feature requests are
welcome as issues or at hello@auten.ai.
Auten is made by MB Icecode, Lithuania.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @autenai/mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"ai-auten-mcp": {
"command": "npx",
"args": [
"-y",
"@autenai/mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceAuten works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.