Roadmap¶
v0.4 — Current release¶
Released 2026-10-04. Highlights (full list in the changelog):
- MCP server you can run:
machina mcp serveover stdio or streamable HTTP with bearer-token auth, 15 capability-gated tools, 4 resources and 3 prompts, plus a working Docker/systemd deployment. - Runtime-enforced write safety: human-in-the-loop confirmation on by default in the agent, a resolution-authority gate on work-order creation, sandbox mode at the connector boundary, and work-order creation that is idempotent on the Generic CMMS, Excel/CSV and SQL connectors.
- Substrates from YAML: the Excel/CSV, SQL and Generic CMMS connectors (and
the vendor CMMS auth blocks) build from a
machina.yaml, failure-mode catalogs are a declared capability, and theodl-generator-from-textstarter kit runs end to end. - Documentation checked against the code, including the generated capability matrix.
Earlier releases¶
- v0.3.1 — write-path safety and idempotency (deterministic work-order IDs, layer-wide sandbox enforcement, atomic local persistence, method-aware retries) and the RAG upgrade (hybrid retrieval, reranking, parent-document chunking, layout-aware parsing, citations).
- v0.3.0 — the MCP server layer, typed connector capabilities, the Excel/CSV and SQL connectors, the Generic CMMS YAML mapper, the deployment story and the first starter kit.
- v0.2.x — workflow engine, OPC-UA and MQTT connectors, Slack, Email and Calendar, sandbox mode, security hardening.
- v0.1 — domain model, SAP PM / Maximo / UpKeep connectors, document store with RAG, Telegram, agent runtime.
v0.5 — Next¶
Ordered by what moves adoption the most:
- More CMMS connectors — MaintainX, Limble, Fiix, on the same connector/capability pattern as SAP PM, Maximo and UpKeep.
- WhatsApp and Teams communication connectors.
- Anomaly detection and RUL estimation on top of the IoT connector streams.
- Multi-agent orchestration.
Also planned: removing the deprecated raw-string capability forms (declare
frozenset[Capability]).
Later¶
- A plugin system for community-contributed connectors without forking the core package.
- Non-Python SDKs (Go / TypeScript clients).
Machina stays a framework, not a hosted product.
MCP direction (standing position)¶
MCP is transport, not a replacement for connectors. The connector layer is Machina's normalization layer — it maps vendor payloads onto the canonical maintenance domain — and that, with the write-path invariants and typed capabilities on top, is the moat. MCP carries normalized data; it does not produce it.
- The internal flip is rejected. We do not rewire Machina's own runtime↔connectors boundary to speak MCP, and we do not replace connectors with a bag of MCP tools. Internal boundaries stay native Python; MCP lives only at the edge.
- The transport/mapper split already future-proofs against vendor MCPs. When
a CMMS vendor ships its own MCP server, that becomes a new transport feeding
the existing per-vendor mappers (
connectors/cmms/mappers/) — a new fetch path, not a re-normalization. The durable work (mapping) is insulated from transport. - Outbound MCP (Machina as an MCP server) exists — every connector's capabilities can be exposed as MCP tools (see MCP Server).
Gated: inbound MCP-client connector¶
A generic inbound connector — Machina as an MCP client, consuming a vendor's MCP server into the domain model (the inverse of the outbound server). It would be built as transport (a generic MCP client) plus per-vendor mappers, reusing the same transport/mapper split. Gated behind the trigger "first real vendor CMMS MCP" — not built now. Until a CMMS vendor actually ships an MCP server worth consuming, a generic MCP-client adapter would be speculative surface with nothing to validate it against.
How to steer the roadmap¶
- New connector or integration idea → open an issue labelled
connectordescribing the system, its API, and a minimal capability set. - Framework bug or papercut → issue with a failing test case when possible.
- Strategic disagreement ("this should be a higher priority") → open a discussion; the ordering above is the maintainer's current best guess, not a commitment.