Skip to content

MCP Resources

Machina exposes plant data as MCP resources under a versioned URI scheme, machina://v1/.... v1 is a stable contract: a breaking change to a resource's shape goes to a new version segment, never into v1.

All four resources are registered whatever the connector set. The two that read from the CMMS use the primary CMMS and fail when none is configured; the other two are served from memory.

URI Source Contents
machina://v1/assets/{asset_id} primary CMMS One asset
machina://v1/work-orders/{wo_id} primary CMMS One work order
machina://v1/failure-taxonomy memory Built-in failure-mode reference list
machina://v1/capabilities memory Code-derived self-description of the framework

The two templated URIs are listed by MCP clients as resource templates, the two fixed ones as resources. Every resource returns application/json.

Asset Details

URI: machina://v1/assets/{asset_id}

The full Asset record as stored in the CMMS:

{
  "id": "P-201",
  "name": "Centrifugal Pump",
  "type": "rotating_equipment",
  "location": "Building A",
  "manufacturer": "Grundfos",
  "model": "CR 32-2",
  "serial_number": "",
  "install_date": null,
  "criticality": "A",
  "parent": null,
  "children": [],
  "failure_modes": ["BEAR-WEAR-01", "SEAL-LEAK-01"],
  "aliases": [],
  "metadata": {},
  "equipment_class_code": null
}

An unknown ID returns {"error": "Asset 'P-999' not found"}.

Work Order Details

URI: machina://v1/work-orders/{wo_id}

The full WorkOrder record: ID, type, priority, status, asset ID, description, assignee, failure mode and timestamps. An unknown ID returns an error entry, as for assets.

Reading one work order needs a primary CMMS that declares get_work_order: SAP PM, Maximo, UpKeep, and the Generic CMMS connector in local mode or with a get_work_order endpoint configured. The Excel/CSV and SQL connectors list work orders but cannot read a single one, so with either as the primary CMMS this resource returns an error entry; use the machina_list_work_orders tool instead.

Failure Taxonomy

URI: machina://v1/failure-taxonomy

A built-in reference list of eight common failure modes, each with a code, category, mechanism and detection methods. It does not read the failure modes your CMMS defines.

[
  {
    "code": "BEAR-WEAR-01",
    "name": "Bearing Wear",
    "category": "mechanical",
    "mechanism": "fatigue",
    "detection_methods": ["vibration_analysis", "temperature_monitoring"]
  }
]

Capabilities

URI: machina://v1/capabilities

The framework's self-description: connector types × capabilities, extension seams and the shape of the config schema. It is generated from the code, carries no configured values, and is byte-identical to machina describe --json and the published capability matrix (docs/capabilities.json). It describes what Machina can do, not what this server has configured — the registered tools tell you that.