OpenMHS

What OpenMHS is

OpenMHS is an open, model-agnostic, supervisory interface between AI agents and programmable hardware. It is one trusted program, the gateway, that every agent, script and person goes through to reach a machine.

The idea, simply

Imagine a lab hires a very fast, very capable new assistant. The assistant is clever, but sometimes misunderstands an instruction and is occasionally too sure of itself. You would like it to help run the lab's machines.

You would not hand over the keys. You would put a supervisor between the assistant and the machines, and the supervisor would:

OpenMHS is that supervisor, written as software. The assistant is an AI agent. The machines are real devices, or simulated ones while you test.

Background: agents, tools, MCP and MHS

AI agents and tools

A large language model on its own only produces text. An agent is a model running in a loop that can also take actions: it decides on a step, calls a tool (a function such as "read the temperature"), looks at the result, and decides the next step. The tool is ordinary code; the model only chooses when to call it and with which inputs.

MCP, the Model Context Protocol

MCP is an open standard for connecting agents to tools. A program called an MCP server lists the tools it offers and how to call them; any MCP host (Claude Code, Claude Desktop, an IDE agent, your own client) can use them. Write a tool once, and every compatible agent can call it.

OpenMHS includes an MCP server, openmhs mcp. Through it an agent sees tools such as list_devices, describe_device, read_state, check_command, submit_command and submit_plan. The server holds only an agent's token, so everything the agent does is checked and recorded by the gateway like any other client.

MHS, the Model Hardware Standard

MCP was designed for software. Machines add problems software does not have: units, physical limits, slow or lost replies, and actions that cannot be undone. In August 2026 Anthropic announced the Model Hardware Standard as a limited research preview: per-device drivers that describe a machine's operations and safety limits in a common, discoverable format, so that any model can work with any device that has a programmable interface.

The MHS specification has not been published. Many community projects appeared afterwards with "open MHS" in their names. OpenMHS is one of them, but it does not imitate a format it cannot see. It defines its own specification, and is structured so that an MHS-compatible front end can be added if the standard is published.

What it connectsStatus
MCPAgents to software toolsOpen standard, widely used
MHSAgents to hardware (Anthropic)Research preview, no public specification
OpenMHSAgents, scripts and people to hardware, through one supervising gatewayIndependent, open source, pre-alpha

Why machines need a supervisor

Connecting an agent to a machine is the easy part. The hard part is what happens when something goes wrong, because with hardware the consequences are physical.

ProblemWhat can happen without a supervisor
Out-of-range valuesA model asks for 48 V on a 12 V supply and the device is damaged.
Missing units"Move 5" is read as 5 cm instead of 5 mm.
Sudden changesA jump from 0 to full output stresses the equipment or the sample.
Stale readingsA decision is made from a temperature that is several seconds old.
Lost repliesThe device acted but the answer never came back. A naive client retries, and the action happens twice.
CrashesA driver or the gateway dies mid-command, and nobody knows what state the machine is in.
No oversightA hazardous move runs with no person in the loop, and afterwards there is no trustworthy record.

What OpenMHS does

What it is not

Who it is for

How it differs from similar projects

Most of the community "open MHS" projects the maintainers looked at share one feature set: a device manifest with limits, MCP tools, read, write and stop, and an audit log. OpenMHS focuses on what happens under real-world failure:

The comparison is in the repository's landscape research, with sources.

Independence and the name

OpenMHS is not affiliated with or endorsed by Anthropic, and does not claim compatibility with the Model Hardware Standard. Other unrelated projects also use the name "OpenMHS"; this one keeps it knowingly. The reasoning is in naming.md and ADR-0007.

Next: how it works.