OpenAdapt MCP
Turns one run of a task into a program an agent calls as a single tool, checking the record before and after the save
- 1,863 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Replaying a recording performs irreversible saves without asking or checking, including in live systems
- The recorder sees the screen and the user's actions, which in medical and insurance apps means patient personal data
- Production mode gives the agent programs that write into real systems of record
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/openadaptDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Replaying a recording performs irreversible saves without asking or checking, including in live systems
- The recorder sees the screen and the user's actions, which in medical and insurance apps means patient personal data
- Production mode gives the agent programs that write into real systems of record
This is third-party code. Review the repository files before installing.
What it does
OpenAdapt records a person or an agent doing a task once in a web app, a Windows, macOS or Linux program, or a remote desktop, and compiles the recording into a program. The agent calls that program as one tool; the program repeats the steps with no model calls and sends no screenshots anywhere. Before each save it confirms the right record is open, and after the save it reads the record back from the system of record. When anything does not match, it stops and tells the agent. There are three modes. Explore: a person or an agent does the task on your own key. Run: the compiled program repeats the task with new inputs. Repair: when the app changes, the run halts before saving, an agent shows a fix, the program tries it without saving, and a person approves it. For agents, the `openadapt-agent` package runs an MCP server where each compiled workflow becomes one call. With no programs loaded, the server offers a sandbox workflow for practice. The `openadapt-agent emit-skill <bundle>` command writes an Agent Skill for one workflow, and `openadapt flow verify-run` checks a write made by any agent or script against the system of record.
Who it is for. For teams whose agent has to enter the same data many times into apps with no API, such as health records, payer portals and accounting systems, and where a wrong save is costly.
Good fit when
- The same entry is made hundreds of times and a wrong save is expensive
- The app has no API and the work goes through the screen, including over RDP or Citrix
- You need an independent verdict on whether a save landed: `openadapt flow verify-run` checks any agent's work against the system of record
- The interface changes now and then: a run halts before saving and proposes a fix for approval
- You need a reward signal for training and evaluating agents: `openadapt-flow serve-reward` turns the record check into one
Not a fit when
- The app has an API for the task: calling it directly is simpler
- Every task is new: the payoff comes only when the same entry repeats
- There is no way to read the saved record back: without an API, database or a separate session the run ends as finished but unchecked
- You only need a browser agent for one-off actions, and Playwright MCP covers that
Example request
Connect OpenAdapt, list the available workflows and run the patient entry workflow in the sandbox so I can see what outcome comes back to the agentMCP
- Transport
- stdio
- Authentication
- not required
Limitations
- Each app on each surface needs its own qualification. The README's validated setups are test copies of OpenEMR and openIMIS, a WinForms app, TextEdit on macOS, a GTK3 app, Windows 11 over RDP and a Citrix stand-in.
- `openadapt flow replay` performs every recorded action including saves you cannot undo, does not ask first and does not check the record. Point it at a test or staging copy only.
- Production mode needs record checks, a deployment file, certification, qualification and an admission. By default each save waits for a person to approve it in OpenAdapt Desktop or on a paired phone.
- It needs Python 3.10 to 3.12. To record on a desktop, install `openadapt[capture]` and your operating system's adapter. Speed and accuracy figures in the README are the author's measurements on test copies of apps.
How to disable. Run `claude mcp remove openadapt` to disconnect the server in Claude Code. Remove the packages with `python -m pip uninstall openadapt openadapt-flow openadapt-agent`. Recordings and compiled programs live in folders you chose, so delete them by hand.
FAQ
How do I connect OpenAdapt to Claude Code?
Run `claude mcp add openadapt -- uvx --python 3.12 openadapt-agent serve`. You need uv. For other clients, the Connect an agent page in the docs at docs.openadapt.ai has the steps.
How is OpenAdapt different from a computer-use agent?
An agent picks every step from the screen again on each run, while OpenAdapt runs a compiled program with no model calls. In the author's timing on a test copy of OpenEMR, the agent took 36.5 seconds per referral and saved correctly 62 times out of 63, and the program with screen steps took 22.5 seconds.
What does checking against the system of record mean?
After a save, OpenAdapt reads the record back through an API, the database, FHIR or a separate session instead of trusting the on-screen Saved message. When there is nothing to read the record with, the run ends as finished but unchecked.
Can I try it without keys or an account?
Yes. `uvx --python 3.12 openadapt quickstart --break-it` runs a synthetic clinic on your computer and shows the check catching a failed save. No account or API key is needed.
Which surfaces are supported?
Web, Windows, macOS, Linux on X11, remote desktop over RDP and Citrix. Where the app exposes its structure (DOM, UI Automation, Accessibility, AT-SPI) OpenAdapt uses it, and it works from pixels only where nothing else exists.
Discussion
No questions or reviews yet.
Related
MCP serversOpen Computer Use
open-computer-use
An open MCP server for desktop control: the agent reads app state and clicks, types and scrolls on macOS, Linux and Windows
Aident's remote MCP server: the agent finds and runs actions in email, chat and CRM through connected accounts, and the server logs every call
A Rust CLI for macOS: an agent reads any app's interface through the accessibility tree and clicks, types and scrolls by element refs, with no screenshots
A self-hosted control plane for running several agents: task dispatch, run review, spend tracking, connected via MCP, CLI or REST
An MCP server helps an agent build and test Python automation tasks for Windows applications and Android devices.
A Swift MCP server that lets an agent drive any macOS app: click, type and read the interface tree
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| OpenAdapt (this card) | no | not required | 1,863 | |
| Playwright MCP | yes | not required | 39,261 | lets an agent drive a browser step by step, while OpenAdapt compiles a run into a program and checks the saved record |
| Open Computer Use | no | not required | 2,863 | has an agent choose screen clicks, while OpenAdapt repeats a verified sequence with no model calls |
README in short
The README opens with measurements on test copies of OpenEMR and openIMIS and a comparison of the three modes. It then gives a one-command quickstart, examples of compiling an agent run and connecting agents, tables of supported surfaces and run outcomes, a comparison with ordinary automation and a list of cases where you do not need it.