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.