cd /news/ai-agents/show-hn-mecum-open-source-mac-app-th… · home › topics › ai-agents › article
[ARTICLE · art-146916] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Mecum, open source Mac app that lets agents use ANY desktop software

ForteAI-Org released Mecum, an open-source Mac app that gives AI agents a desktop workspace to operate any macOS application, including software that exposes neither an API nor an accessibility (AX) tree. Mecum runs on macOS 15+ on Apple silicon and Intel, supports AppKit, Chromium, Electron and Qt frameworks, and connects Claude Code or Codex through a local MCP STDIO bridge with no Node.js or Python installation required. The app uses a Swift-written driver that moves app windows to a virtual display to route agent input, plus perception, brain and memory components, with UXP support for Adobe apps still in development.

read5 min views3 publishedOct 7, 2026
Show HN: Mecum, open source Mac app that lets agents use ANY desktop software
Image: Michielbdejong (auto-discovered)

Let agents work in your apps while you keep using your Mac.

Mecum gives agents a desktop workspace on your Mac. Give a worker a task in the Mecum app, or connect Claude Code or Codex through MCP to work in desktop apps, even when they expose neither an API nor an AX tree.

mecum-readme-20s-v2.mp4 #

Mecum runs on macOS 15+, on Apple silicon and Intel. Follow the installation guide to get set up.

  1. Install and open Mecum.
  2. Create a worker, connect a supported model and grant the Mac access needed for desktop work.
  3. Start with a small task in a disposable document. Name the app, the result you want and where the agent should stop.
  4. Follow the activity and inspect the result in the app.

For your first task, ask the agent to read an open TextEdit test document and summarize it without editing or saving.

If you use Codex or Claude Code, keep their CLIs up to date to access the latest models available to your account.

To build from source with Swift 6.4, follow the developer Quickstart.

Connect Claude Code, Codex or another local MCP client #

Mecum and your client must run on the same Mac. The app includes the STDIO bridge; no Node.js or Python installation is needed.

  1. Keep Mecum open. In MCP → MCP Connections… , name your client, choose its capabilities and clickAdd Client .
  2. Turn Enabled on and wait forReady .
  3. Expand Client configuration and useCopy Claude Code command ,Copy Codex command orCopy JSON . Prefer these generated values over the templates below.

Claude Code

claude mcp add --scope user --transport stdio mecum -- \
  "/Applications/Mecum.app/Contents/Helpers/mecum-bridge" \
  mcp-bridge --connection \
  "/Users/YOUR_USERNAME/Library/Application Support/Mecum/MCP/CLIENT_UUID.connection.json"

Codex

codex mcp add mecum -- \
  "/Applications/Mecum.app/Contents/Helpers/mecum-bridge" \
  mcp-bridge --connection \
  "/Users/YOUR_USERNAME/Library/Application Support/Mecum/MCP/CLIENT_UUID.connection.json"

These are templates. Replace YOUR_USERNAME and CLIENT_UUID with the values from Mecum, and use the generated helper path if the app is elsewhere. Keep paths quoted. Save configurations in personal settings.

Check registration with claude mcp get mecum or codex mcp list. Start a new client session and use /mcp to inspect the live connection, then run the read-only connection check.

Each connection entry accepts one active client. Create separate entries for independently running clients. Never share the contents of *.connection.json.

The full MCP guide covers other local clients, capabilities and troubleshooting. Not every client has been tested end to end. URL-only web connectors cannot use this local bridge.

Supported frameworks: AppKit, Chromium, Electron and Qt. UXP support is in development (Adobe apps).

Workers take turns controlling desktop apps. While one works, the others wait in line.

Read the compatibility and limitations guide for the current scope and how to report a workflow.

  • Driver: written in Swift, it moves app windows to a virtual display and routes the agent's input there, so you can keep working on your Mac without a virtual machine.
  • Perception: turns the current interface into structured text and refreshes it as the window changes.
  • Brain: builds a map of each app's controls, relationships and transitions, giving agents context about how the app works.
  • Memory: stores past interactions and their outcomes, so agents can draw on that experience in later tasks (still in development; recall can be inconsistent, with improvements on the way).

Driver, Perception and Engine are Swift package libraries you can use in your own macOS apps.

Mecum checks what changed after each action. You can follow the activity, review the result and stop the worker from the app.

The desktop window-to-text pipeline runs locally. A remote model can receive window text, task context and relevant app knowledge. Read Permissions & data.

Mecum's full-scene responses used 85–97% fewer estimated tokens than Cua's screenshot + AX tree responses.

8 runs after 1 warm-up. Times include the action and updated view.

Application / framework Mecum support Cua support Mecum step (ms) Cua step (ms)
TextEdit (AppKit) Partial Supported 1,069 1,489
Chrome (Chromium) Partial Supported 1,227 1,590
Obsidian (Electron) Supported Supported 1,513
Stocks (Mac Catalyst) Unavailable Supported — 2,061
kitty (OpenGL/GLFW) Partial Partial 1,602
DaVinci Resolve (Qt + GPU UI) Supported Not supported —
Prism Launcher (Qt 6) Supported Not supported —
Calculator (SwiftUI) Supported Supported 1,355
Safari (WebKit) Partial Partial 1,385

See the full report for the method and support limits.

Estimated tokens in the tool response, rather than total tokens for a task with a model:

Application / framework Mecum full read Mecum unchanged Cua full read
TextEdit (AppKit) 6,185
Chrome (Chromium) 13,986
Obsidian (Electron) 7,307
kitty (OpenGL/GLFW) 4,566
DaVinci Resolve (Qt + GPU UI) 17,924
Prism Launcher (Qt 6) 4,157
Calculator (SwiftUI) 3,801
Safari (WebKit) 34,002

Full read: the complete view, as structured text for Mecum or screenshot + AX tree for Cua.

Unchanged: no changes since the previous step. Mecum sends a short confirmation; Cua sends the full view again.

Test hardware: MacBook Pro with M4 (base model), 16 GB RAM, macOS 27.0.1 (26A434).

Read the method, results and per-operation data →

We welcome help with Qt driver coverage, UXP and Flutter support, missing Perception controls, and feedback on Brain and Memory as you use apps. Start with CONTRIBUTING.md and GitHub Issues.

For questions and workflows, join Discord.

Apache 2.0, Copyright 2026 Forte Audio S.r.l.

── more in #ai-agents 4 stories · sorted by recency
── more on @forteai-org 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-mecum-open-s…] indexed:0 read:5min 2026-10-07 · —