Specification · section 2
Architecture
┌──────────────────────────────────┐
│ Host (agent runtime) │
│ Claude / lab orchestrator / │
│ scheduler / notebook │
│ ┌──────────┐ ┌──────────┐ │ one server per device
│ │MHP client│ │MHP client│ ... │
└──┴────┬─────┴──┴────┬─────┴──────┘
│ JSON-RPC │ JSON-RPC
stdio / HTTP stdio / HTTP
│ │
┌───────▼──────┐ ┌────▼─────────┐
│ MHP server │ │ MHP server │
│ (driver) │ │ (adapter) │
│ thermocycler │ │ SiLA 2 arm │
└───────┬──────┘ └────┬─────────┘
serial/USB SiLA gRPC
│ │
[instrument] [instrument]
| Role | Responsibility |
|---|---|
| Host | The agent runtime around the model. Holds one client per device, presents confirmation prompts to people, and is trusted; the model it hosts is not (§7.2). |
| Client | One connection to one server. Sends requests, receives responses and notifications, tracks the lease. |
| Server (driver) | Owns exactly one device. Serves the descriptor, enforces the safety envelope, translates primitives into vendor commands, runs jobs. |
| Device | The physical thing. May be a single instrument or a coordinated cell exposed as one logical device. |
A server MAY be an adapter that wraps another control layer (an OPC UA server, a SiLA 2 feature, a MADSci node) rather than raw hardware. From the host's point of view there is no difference.