OpenAra

OpenAra

An open-source local MCP server for macOS that provides desktop control tools (click, type, scroll, etc.) callable from any MCP-aware client.

Category
Visit Server

README

<div align="center"> <h1>OpenAra</h1> <p><em>Open-source Computer Use, packaged as a local MCP server.</em></p>

<p> <a href="https://www.reddit.com/r/Aradotso/"><img src="https://img.shields.io/badge/Join-Community-FF4500?style=for-the-badge&logo=reddit&logoColor=white" alt="Join r/Aradotso" /></a> <a href="https://github.com/Aradotso/OpenAra/releases/latest"><img src="https://img.shields.io/badge/Download-for%20macOS-000000?style=for-the-badge&logo=apple&logoColor=white" alt="Download for macOS" /></a> <a href="https://deepwiki.com/Aradotso/OpenAra"><img src="https://img.shields.io/badge/Ask-DeepWiki-007ec6?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAsVBMVEVHcEwmWMYZy38Akt0gwZoSaFIbYssUmr4gwJkBlN4WbNE4acofwZkBj9k4aMkBk94WgM0bsIM4aMkewJc2ZMM3Z8cbvIwYpHsewJYAftgBkt0fvpgBkt0cv44cv5wzYckAjtsCk90pasUboXsgwJkfwpYfwJg4aMoct44yXswAkd0BkN84Z8cBktwduZIjcO85lM4hwZo5acoBleA6a88iyaABmOQ8b9QhxZ0CnOoizaOW4DOvAAAAMHRSTlMAKCfW%2FAgWA%2F7%2FDfvMc9j7MU%2Frj3XBcRW%2FJMbe7kUxjI%2FlUzzz6tPQkJ%2BjVmW1oeulmmslAAAByUlEQVQ4y32Tia6jIBSGUVFcqliXtlq73rm3d50ERNC%2B%2F4PNQetoptMeE0PgC%2F9%2FFhCaBSH9Hz2J%2BONgPDl2DolSUWY%2FPL8oEQRCfPxHpFc3Ah5wHoiI6I05NXgjAOgQF3Jn1Dlo4XMPDDes09UE2d%2BREvl3lijBg4CrHNmrbcM2u9u5nwsRcAFfFHFY5sZ607Yua3GqpQiKE6G9cZHZThblZ4T2mLnMxde3ATASMUj72o0Pbs1fADDcLHqAjEDugJ3lC%2BztMGYTADcoLaFyH%2B02DP9%2BWS4ahrXE4laALFKcq8vZfscNY8312mxfr27bLJZjnsYhSDIHmUxLu9h9N%2Fep%2B7pazwoZQw%2B1Nwi33epu7c2p8RooeqCdAHMGoOJIq3CUwIMEniRIaHVe3ZVnO2Vgsh1MstEkQUXVUc%2BjXfk3zbemxS6%2BpQmlPtUeALJ8VKj4JHvAelBqFFdSS3h1SPzQKr%2F%2BaRa0%2B0cCIWtJLauG5U%2FfbgyG01uiNqQhyzA8ddKj1OvK28AsZyN3DKE4X6AEWrU1jJx9N7RFpdPxpHU%2FtMOQG9SjfTp3Yz8KgRVKpfx88Dqhpseq606h%2F%2Bzxfh6LJ8eEDKWbxx9XEDwqzP1SVgAAAABJRU5ErkJggg==&logoColor=white" alt="Ask DeepWiki" /></a> <a href="https://www.npmjs.com/package/@openara/cli"><img src="https://img.shields.io/npm/v/@openara/cli?style=for-the-badge&logo=npm&logoColor=white&label=npm&color=CB3837" alt="npm @openara/cli" /></a> </p>

<img src="./assets/brand/openara-header.png" alt="OpenAra" width="260" /> </div>


Install

npm i -g @openara/cli && openara

Add to Claude Code / Claude Desktop

openara install-claude-mcp

Writes mcpServers.openara into both ~/.claude.json (Claude Code) and ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop).

Add to Cursor

openara install-cursor-mcp

Writes mcpServers.openara into ~/.cursor/mcp.json.

Add to Codex CLI

openara install-codex-mcp

Writes [mcp_servers.openara] into ~/.codex/config.toml.

Add to Codex App

openara install-codex-plugin

Installs OpenAra as a Codex plugin (manifest under plugins/openara/).

Add to Gemini CLI

openara install-gemini-mcp                # current project (./.gemini/settings.json)
openara install-gemini-mcp --scope user   # global (~/.gemini/settings.json)

Add to OpenCode

openara install-opencode-mcp

Writes mcpServers.openara into ~/.config/opencode/opencode.json.


What it gives you

  • A local Computer Use MCP server. Nine well-tested desktop-control tools (list_apps, get_app_state, click, type_text, press_key, set_value, scroll, drag, perform_secondary_action) callable from any MCP-aware client.
  • Native macOS Swift runtime — built on Accessibility + AppKit, no Electron, no Python.
  • Accessibility-first execution. Tries to drive UI through semantic AX paths before falling back to coordinate-level HID input — you keep using your computer while the agent works.
  • One-line installers for Claude Code, Claude Desktop, Cursor, Codex CLI, Codex App (plugin), Gemini CLI, and OpenCode.
  • Visible cursor overlay when the agent does need to move a pointer, so you can see what it's about to do.

Manual MCP config

If your agent doesn't have an installer above, or you want to see exactly what's being written, here are the raw configs.

Claude Code

Add to your project's .claude.json (or ~/.claude.json for global):

{
  "mcpServers": {
    "openara": {
      "command": "openara",
      "args": ["mcp"]
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "openara": {
      "command": "openara",
      "args": ["mcp"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or <project>/.cursor/mcp.json for project-scoped):

{
  "mcpServers": {
    "openara": {
      "command": "openara",
      "args": ["mcp"]
    }
  }
}

Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.openara]
command = "openara"
args = ["mcp"]

Codex App (plugin)

OpenAra ships as a Codex plugin under plugins/openara/. From a packaged release run openara install-codex-plugin. From source, point Codex App's local plugin marketplace at this repo's .agents/plugins/marketplace.json.

Gemini CLI

Add to ./.gemini/settings.json for the current project, or ~/.gemini/settings.json for global use:

{
  "mcpServers": {
    "openara": {
      "command": "openara",
      "args": ["mcp"]
    }
  }
}

OpenCode

Add to ~/.config/opencode/opencode.json:

{
  "mcpServers": {
    "openara": {
      "command": "openara",
      "args": ["mcp"]
    }
  }
}

macOS permissions

OpenAra needs Accessibility and Screen Recording to read window state and drive UI. The first run launches an onboarding window that takes you through granting both. To re-check at any time:

openara doctor

CLI reference

openara                                          # first-run onboarding / no-op once granted
openara mcp                                      # stdio MCP server
openara call list_apps                           # one tool, prints MCP-style JSON
openara call get_app_state --args '{"app":"TextEdit"}'
openara call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}}]'
openara call --calls-file examples/textedit-overlay-seq.json --sleep 0.5
openara doctor                                   # permissions check
openara install-claude-mcp                       # write Claude Code + Claude Desktop config
openara install-cursor-mcp                       # write Cursor config
openara install-codex-mcp                        # write Codex CLI config
openara install-codex-plugin                     # install as Codex plugin
openara install-gemini-mcp [--scope user]        # write Gemini CLI config
openara install-opencode-mcp                     # write OpenCode config
openara -h

Build from source

For contributors, or while the npm package is still being prepared:

git clone https://github.com/Aradotso/OpenAra.git
cd OpenAra

# Build everything (kit + apps + smoke suite)
swift build -c release

# Run the binary directly
.build/release/OpenAra -h

You can also run through Swift Package Manager during development. Anywhere this README says openara <command>, substitute swift run OpenAra <command> from inside the repo:

swift run OpenAra -h
swift run OpenAra mcp                  # start the stdio MCP server
swift run OpenAra call list_apps       # call a single tool
swift run OpenAra doctor               # check macOS permissions
swift run OpenAra install-claude-mcp   # write Claude Code config

License

MIT — forked from iFurySt/open-codex-computer-use.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured