A product by Ontology Labs
AI-native Mendix™ delivery

mxto reads your entire Mendix™ app

Finally, an AI that sees the whole picture.

mxto reads, authors, compiles, deploys, and tests any Mendix™ app — headless, no Studio Pro.

~29 → 0  Other AIs guess ~29 times on a single microflow. mxto reads your entire app flawlessly on the first try.

Full build walkthrough
94.4%
Fewer tokens per flow
70/70
Construct types certified
4,967
Round-trip ops: 0 unexpected diffs
20s
To a healthy Mendix™ app

Reads, Writes, Ships. No Modeler

Delivering Mendix™ work end-to-end takes three things an AI usually can't do. mxto does all three: headless, on Mac, Windows, Linux and CI.

Reads it

Understands any Mendix™ app the way an LLM needs to: in order, by name, not as a tangle of opaque references.

94.4% fewer tokens than the raw model graph
99.73% extraction coverage

Writes it

Authors every construct type (entities, microflows, pages, security) and proves it didn't break anything.

70/70 construct types certified
0 unexpected diffs across 4,967 round-trip ops · 6,122 live ops

Ships it

Compile → deploy → test → a running app, with Mendix's own build tools. No Studio Pro.

mxbuild → MX 8–11 healthy in 20s
Live debugger with semantic breakpoints

What it changes for your delivery

Today a model change happens one app at a time with a specialist, by hand, in Studio Pro. With mxto your AI agent makes the change, builds, deploys and tests it, headless, in minutes.

Faster

Changes that take days of specialist work, shipped in minutes.
 

Reads a whole production app offline, in minutes
A running, tested app in ~20 sec

Leaner

Your AI does the manual build, so your scarce Mendix™ specialists spend their time on the work only they can do.

Authors every construct type end to end, headless
No Studio Pro, no Windows, runs in CI

Safer

Move fast without breaking the estate. Every change is proven not to drop anything.

0 unexpected changes across 4,967 round-trip ops
Round-trip-proven on a production estate; read-certified across 8

We measured what it costs an AI to read one Mendix™ microflow

Reading one Mendix™ flow the old way means your AI decoding ~29 internal ID codes before the logic makes sense. mxto reads it straight through, by name; nothing to decode.

What your AI reads today: the raw model graph
2,592
tokens
~29
resolutions
// one flow = a bag of nodes wired by opaque IDs "startNodeId": "2693b9bf-cf9d-49e1-…" "edges": [ { "originNodeId": "f6167db7-5289-…", "destinationNodeId": "11aabc75-9ac7-…", "caseValue": "true" }, … 8 more edges, each a pair of IDs … ] // no order to read · no inline names · // ~29 resolutions before the logic is even seen
What your AI reads with mxto: in order, by name
145
tokens
0
resolutions
flow ApproveRequest(Request): if not Request.Status in (Submitted, InReview): show_warning("Only submitted requests…") return Request.Status = Approved Request.Reviewer = CurrentUser commit(Request) call(CreateAuditEntry) close_page() # read top-to-bottom · 0 IDs to chase
94.4%
fewer tokens (17.9 : 1)
~29 → 0
inference steps per flow

Measured on a real microflow with tiktoken o200k_base; resolution counts computed from the graph's own node/edge structure. The per-flow model graph is already a cleaned extraction: a conservative, baseline-favourable comparison. It compounds at estate scale: one production estate carries 4,162 flows.

Proof you can run yourself

A skeptical Mendix™ team can check every claim on this page in about ten minutes: download a real app an AI built end-to-end, rebuild it, re-run the round-trip that proves nothing dropped, and read exactly what is and is not covered.

  • A real app you can download. The Claudius Mendix™ project, authored end-to-end by AI, as a .mpr you open in Studio Pro yourself.
  • A round-trip you can reproduce. Extract, re-emit, diff: 0 unexpected diffs, nothing dropped or corrupted.
  • Tested on Mendix™ 7.23 through 11.6. Eight production apps, with the boundaries stated honestly.
Open the proof pack →
Honest limits

What mxto guarantees — and what it doesn't

mxto makes AI-authored changes to your Mendix™ app structurally safe: builds pass, round-trips are diff-checked, and no model constructs are silently dropped.

Humans still review business meaning before merge.

See the honest boundaries →

Read, author, ship: one closed loop, proven

mxto does the whole job in one closed loop: read, author, build, deploy, and test to a running app. Most tools do only one piece of that.

What end-to-end delivery needs Other approaches mxto
Read a Mendix™ model an LLM can use Partial: lossy or token-heavy 99.73% extraction coverage, 94.4% fewer tokens
Author every construct type × suggestions a human re-enters 70/70 certified, committed to Team Server
Run headless: no IDE, macOS/Linux/CI × tied to Studio Pro on Windows no Studio Pro at any step
Close the loop to a running, tested app × stops at code or a diff compile → deploy → UAT, verified
Prove the change didn't drop anything Hope: no measured drift 0 unexpected diffs across 4,967 round-trip ops

No IDE. Every construct type. A closed loop to a running app. Comprehension built for the LLM. The structurally-safe way to deliver Mendix™ with AI.

Bring your own AI agent. mxto is how it reaches Mendix™

A Mendix™ model is a binary file your agent can't open. mxto is the toolchain it drives: 142+ tools, a clean CLI, and a comprehension layer built for an LLM. Bring Claude Code, Cursor, your own. mxto is how it reaches Mendix.

your-agent · mxto
$ mxto extract ./your-app Read complete (offline) ├── 4,162 flows ├── 1,770 entities with associations └── 48,385 expressions parsed at 100% (zero transform failures) # the agent now reasons over the whole app · 142+ tools > "add a refund workflow and ship it" mxto authored entity + microflow + page + security (70/70 types) mxbuild Mendix's own build tools → MDA deployed MX 11 app server · healthy in 20s UAT XAS + browser checks green · 0 unexpected diffs

Proven, not promised

Every number below is measured across real production Mendix™ estates — not a demo, not a toy app.

70/70
Construct types certified: read 100%, write 100%, 0 non-automatable
4,967
Round-trip operations: 0 unexpected diffs on a real production estate
48,385
Logic expressions parsed at 100% · 6,122 live model operations
MX 8–11
Healthy in 20 sec · live debugger with semantic breakpoints

Built by AI. Verified by proof

Claudius is a production Mendix™ 10 app authored entirely by Claude Code driving mxto — compiled, deployed and tested headless, no Studio Pro.

Claudius: IT Asset & Request Tracker

Built from YAML specs by Claude Code: approval workflows, audit trails, role-based access control, REST APIs, and SOAP integration. Claude Code authored every entity, microflow, page, and security rule through mxto, then compiled, deployed and tested it headless. Run it again from the same specs — you get the same app.

  • Request approval workflow (submitted → review → approved/rejected → completed)
  • Audit trail system with before/after commit event handlers
  • Role-based access control (User, Manager, Admin)
  • Published REST API with export mappings
  • Consumed SOAP web services for external integration
  • Scheduled events & nanoflows for client-side logic
  • 3-phase test harness: 21 basic + 16 advanced + stress tests
Claudius: Analysis Summary
Modules9
Entities25
Microflows68
Nanoflows19
Pages34
Enumerations21
Associations18
REST Operations4
Scheduled Events4
Build MethodClaude Code + mxto

Explore the detail →

mxto reads and visualises every layer of Claudius: microflows, domain model and security rendered directly from the extracted app.

Complex Mendix™ microflow with nested loops rendered from mxto's semantic extraction
Enterprise microflow with nested loop structures, decision branches, and 14 top-level nodes, rendered from zero-loss semantic extraction
Asset
AssetTag String
Name String
Category Enum
SerialNumber String
PurchaseCost Decimal
IsActive Boolean
Request
RequestNumber AutoNumber
Title String
Status Enum
Priority Enum
RequestDate DateTime
ReviewNotes String
AuditEntry
Action String
Timestamp DateTime
OldValue String
NewValue String
ChangedBy String
Comment
Text String
CreatedDate DateTime
Notification
Message String
Type Enum
IsRead Boolean
CreatedDate DateTime
Enumerations
RequestStatus 5 values
Priority 4 values
AssetCategory 5 values
Department 5 values
NotificationType 4 values
Request Asset (equipment linked to request)
Comment Request (discussion thread)
AuditEntry Request (state change log)
Request Requester [User] (who submitted)
Request Reviewer [User] (who approved/rejected)
Notification Request (status change alerts)
Notification Recipient [User] (target user)
Entity / Action User Manager Admin
Asset: Read Active only All All
Asset: Create/Edit/Delete Full CRUD
Request: Read Own only All All
Request: Create Yes Yes Yes
Request: Approve/Reject Yes Yes
AuditEntry: Read Yes Yes
AuditEntry: Delete Yes
Bulk Approve Yes Yes
Export CSV Yes Yes
Dashboard Metrics Own stats All stats All stats

Validated at production scale

mxto has been read-certified across 8 production Mendix™ estates spanning financial services, agritech, workforce, lending and hospitality, with zero transform failures.

Enterprise estate

Financial services
4,162 flows • 1,770 entities
48,385 logic expressions parsed at 100%

Write path, live

Round-trip proven
6,122 live model operations • 0 unexpected diffs across 4,967 round-trip ops

Claudius (AI-built)

Demo: IT asset management
68 microflows • 25 entities • 9 modules
Built entirely by Claude Code via mxto

Put an AI delivery engine
on your Mendix™ estate

Today a single microflow costs your AI ~29 guesses, and whole-app work stays manual. mxto changes that.

It reads any app, authors every construct, and ships it running, no Studio Pro.

We'll prove it on a sample of your own estate.

Prefer to evaluate first? Read the machine-readable AI evaluation, reproduce the benchmark, or email [email protected].

Syntax is easy. Semantics is everything

structurally safe semantically correct

mxto's job is to make sure nothing breaks and nothing drops, and it does that completely. Whether the app means what you intended is a different question, and a harder one. That's the work we do at Ontology Labs.

Visit Ontology Labs →