MCP fabric

Infrastructure your agents can actually operate.

Most agent integrations give a model a thin wrapper around a CLI and hope for the best. Unimatrix0 exposes the cluster through the open Model Context Protocol — tools, resources and prompts — with the same permissions, approvals and audit trail as a human at the console.

The problem with agent wrappers

A wrapper around a shell is not an interface.

Shelling out to a hypervisor API gives an agent the full privilege of a root operator with none of the structure: no declared schemas, no capability scoping, no approval gates, no record of what was actually executed.

Property Shell wrapper Proprietary API plugin Unimatrix0 MCP fabric
Client compatibilityOne bespoke clientVendor's runtime onlyAny MCP client, today
Input validationWhatever the shell acceptsVendor-specificSchema-validated at the boundary
Permission scopingAll or nothingToken-scopedPer-tool, per-role
Human approval gateAbsentVariesRequired on destructive operations
Audit trailShell history at bestVendor logsCaller, tool, arguments, surface, result
Live state accessPoll and parseVendor API callsAddressable, subscribable resources
On-premises model assistNoNoSampling capability, local inference
Lock-inTotalHighNone — open protocol
How it fits together

One endpoint per node. Every node an entry point.

Clients connect over the standard HTTP transport to any node. Inside the cluster, calls travel over the message bus. Nothing depends on a session living on a specific host, which is what makes it survive node loss.

                            MCP CLIENT / HOST
 Claude Desktop · Cursor · LangChain · your own agent · operator laptop
                                    │
                         MCP over standard HTTP
                                    ▼

┌───────────────────────────────────────────────────────────────────────┐
│  NODE ENDPOINT   (present on every node, no exceptions)               │
│                                                                       │
│  catalogue  ← built locally from this node's registry             │
│  authentication · role filtering · approval policy                  │
│  schema validation · audit                                       │
└───────────────────────────────────────────────────────────────────────┘
        │ host-local operations        │ appliance operations
        ▼                             ▼

┌─ CORE                   ─┐    ┌─ EXTENSIONS             ─┐
│ VMs · nodes · HA · stora │    │ backup · network · AI    │
│ networks · tasks · logs  │    │ storage · gateway · prox │
│                          │    │                          │
│ runs in the hypervisor   │    │ runs in isolated applian │
└──────────────────────────┘    └──────────────────────────┘

        No leader. No replication of state. No session affinity.
Any node can serve any request — that is the stateless design paying off.
Primitives

Three primitives. The whole cluster, addressable.

MCP distinguishes things you do, things you read, and reusable procedures. Unimatrix0 maps each to something concrete rather than inventing a private vocabulary.

tools/list · tools/call

Things you do

Every operation the cluster supports, declared with a schema and safety annotations.

unimatrix_create_vm
  name, vcpus, memory, disks,
  networks, image, target

unimatrix_drain_node
  node, mode: live|cold

ai_assign_workload
  model, replicas,
  placement, queue

backup_snapshot
  target, scope
resources/list · resources/read

Things you read

Live cluster state as stable URIs. An agent reads the hypervisor directly instead of inferring reality from logs.

xen://node/domains
  live domains + state

sanlock://leases
  who owns which disk

xen://node/logs
  hypervisor events

gpu://inventory
  cards, VRAM, temp

task://id
  progress, subscribable
prompts/list · prompts/get

Procedures you repeat

Operating knowledge packaged as prompts, so the good runbook is available to every agent that asks — not just the engineer who wrote it.

debug-node-failure
  binds logs + lease
  state into a
  root-cause context

optimize-placement
  RAM, VRAM, thermal
  → rebalance plan

backup_restore_plan
  point-in-time restore
  for a given VM
Extensibility

Declare a capability once. It appears in four places.

Appliances declare their operations, resources, prompts and events in a manifest. The platform generates everything else. Your engineers write the handler — not four integrations.

// a manifest entry, once
operation:
  name: drain_node
  input:  schema/drain.in.json
  output: schema/task.json
  safety:
    read_only:   false
    destructive: false
    idempotent:  true
  long_running: true
  surfaces: [rest, mcp, cli, ui]

// generated from that declaration —
// no second file to keep in sync

  REST   POST /api/v1/node/drain
  MCP   tools/call drain_node
  CLI    borg node drain <node>
  UI    drain control on the node panel

Why this compounds

  • Every extension is instantly an agent tool. No separate MCP integration work, ever.
  • Safety metadata is inherited, not reimplemented. A destructive flag declared once reaches all four surfaces.
  • Clients see changes live. Install or remove an appliance and connected sessions are notified.
  • Proxies inherit the framework. Wrapping a third-party server gives it the same names, permissions and audit as native operations.

Sign the work you did not write. Appliance manifests and console bundles are signed. The platform ships with the vendor release key and will load an unsigned or incompatible appliance only if an administrator explicitly trusts its key.

Governance

An agent is a user with a token. Treated like one.

The safety model is not bolted on for agents. It is the same model that governs the web console and the command line — agents simply arrive through a different door.

Operation classBehaviour
Read-only Runs immediately if the token's role permits it
Non-destructive write Runs if permitted; the token can be constrained to read-only entirely
Destructive / flagged Creates a pending approval. A human accepts. The agent is told to wait
Out of scope Not listed at all — the client cannot discover what it may not do

The properties that matter to a security reviewer

  • Least privilege by default. Roles map to permission patterns; a read-only agent token sees only reads.
  • Schema validation at the boundary. Inputs are checked against declared schemas before anything is executed.
  • Non-discoverability. A tool the caller may not use is not advertised to it.
  • Full attribution. Caller, tool, argument digest, surface and outcome — every call.
  • Parser isolation. Protocol parsing and model runtimes live in appliances. A malformed payload lands in a guest, not the hypervisor.
  • Blast radius is a guest. An exploit in a model runtime or a third-party protocol server cannot reach the control surface.
Integration

Connect it in an afternoon.

Operator assistants

Point a desktop assistant at a node endpoint and ask operational questions in plain language: what is hot, why did this restart, drain that rack.

Agent frameworks

Standard protocol support in the major orchestration and agent frameworks. No custom SDK, no bespoke connector.

Natural-language CLI

A built-in assistant command sends your request to a model and executes the resulting tool calls — subject to exactly the same approvals as any other caller.

Exposure boundary. By default the endpoint listens on the management network only. An optional hardened gateway appliance handles TLS termination, rate limiting and tenant policy if you need to expose the fabric beyond it. Where a client supports it, the approval gate surfaces directly in the client's own interface.

Reference material

Ask for the tool catalogue.

We will walk your team through the tool list, the resource URIs, the permission model and the approval workflow on a live cluster — with the engineers who wrote them.