mecum
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Let agents work in your apps while you keep using your Mac.
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, including apps that expose neither an API nor an AX tree.
See Mecum in action
Get started
Mecum runs on macOS 15+, on Apple silicon and Intel. Follow the installation guide to get set up.
- Install and open Mecum.
- Create a worker, connect a supported model and grant the Mac access needed for desktop work.
- Start with a small task in a disposable document. Name the app, the result you want and where the agent should stop.
- 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 clientMecum and your client must run on the same Mac. The app includes the STDIO bridge; no Node.js or Python installation is needed.
- Keep Mecum open. In MCP → MCP Connections…, name your client, choose its capabilities and click Add Client.
- Turn Enabled on and wait for Ready.
- Expand Client configuration and use Copy Claude Code command, Copy Codex command or Copy 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.
What works today
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.
How it works
- 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.
Benchmarks
Mecum's full-scene responses used 85–97% fewer estimated tokens than Cua's screenshot + AX tree responses.
Driver comparison
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.
Perception context per read
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 →
Contribute
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.
License
Apache 2.0, Copyright 2026 Forte Audio S.r.l.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found