Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capabilities Overview

Everything mxcli can do, organized by use case.

Read: Explore and understand your project

CapabilityCommandNotes
List modulesLIST MODULESWith marketplace version info
List entitiesLIST ENTITIES [IN Module]With attribute/association counts
List microflowsLIST MICROFLOWS [IN Module]With parameter/activity counts
List pagesLIST PAGES [IN Module]With widget counts
List enumerationsLIST ENUMERATIONS [IN Module]
List constantsLIST CONSTANTS [IN Module]
List workflowsLIST WORKFLOWS [IN Module]
List nanoflowsLIST NANOFLOWS [IN Module]
List layoutsLIST LAYOUTS [IN Module]
List snippetsLIST SNIPPETS [IN Module]
Compact overviewLIST STRUCTURE [DEPTH 1|2|3]Tree view of entire project
Describe any documentDESCRIBE ENTITY|MICROFLOW|PAGE ...Full MDL output (re-executable)
Full-text searchSEARCH 'keyword'Across all strings and source
Show languagesLIST LANGUAGESAll languages in the project
Show project securityLIST PROJECT SECURITYSecurity overview
Show access rulesLIST ACCESS ON Module.EntityEntity/microflow/page access
Show settingsLIST SETTINGSProject-level settings

Write: Create and modify documents

Domain Model

CapabilityCommandStatus
Create entityCREATE PERSISTENT ENTITYFull support
Create non-persistent entityCREATE NON-PERSISTENT ENTITYFull support
Create view entity (OQL)CREATE VIEW ENTITY ... AS SELECT10.18+
Modify entityALTER ENTITY ... ADD/MODIFY/DROP ATTRIBUTEFull support
Create associationCREATE ASSOCIATION ... FROM ... TOFull support
Create enumerationCREATE ENUMERATIONFull support
Create/modify idempotentlyCREATE OR MODIFY ENTITYFull support

Microflows and Nanoflows

CapabilityCommandStatus
Create microflowCREATE MICROFLOW ... BEGIN ... END60+ activity types
Create nanoflowCREATE NANOFLOW ... BEGIN ... ENDClient-side flows
CRUD operationsCREATE, CHANGE, COMMIT, DELETEObject manipulation
RetrieveRETRIEVE ... FROM ... WHEREDatabase/association queries
Control flowIF/THEN/ELSE, LOOP, WHILEIncluding nested
Call flowsCALL MICROFLOW, CALL NANOFLOWWith parameters
Show pageLIST PAGE Module.Page(...)With page parameters (11.0+)
REST requestsSEND REST REQUESTGET/POST/PUT/DELETE
Database queriesEXECUTE DATABASE QUERYExternal databases
Log messagesLOG INFO|WARNING|ERRORWith templates
Error handlingRAISE ERROR, error handlersOn activities
ValidationVALIDATION FEEDBACKField-level validation

Pages

CapabilityCommandStatus
Create pageCREATE PAGE ... { widgets }50+ widget types
Create snippetCREATE SNIPPETReusable widget fragments
Modify pageALTER PAGE ... SET/INSERT/DROP/REPLACEIn-place modifications
Built-in widgetsTEXTBOX, TEXTAREA, DATEPICKER, etc.All standard widgets
Layout widgetsLAYOUTGRID, CONTAINER, GROUPBOXWith responsive columns
Display widgetsDYNAMICTEXT, STATICTEXT, IMAGEIncluding pluggable Image
Data widgetsDATAVIEW, LISTVIEWWith datasource binding
Pluggable widgetsDATAGRID2, GALLERY, COMBOBOXTemplate-based
Action buttonsACTIONBUTTONSave, cancel, microflow, page
NavigationNAVIGATIONLISTWith items and actions

Security

CapabilityCommandStatus
Create module rolesGRANT ... TO RoleEntity/microflow/page access
Create user rolesvia security commandsMap to module roles
Entity access rulesGRANT READ/WRITE ON Entity TO RoleWith XPath constraints
Demo usersCREATE DEMO USERFor testing

Integration

CapabilityCommandStatus
REST clientsCREATE REST CLIENTConsumed REST services
Business eventsCREATE BUSINESS EVENT SERVICEEvent definitions
Database connectionsCREATE DATABASE CONNECTIONExternal SQL
OData servicesLIST ODATA CLIENTS/SERVICESRead-only browsing
CapabilityCommandStatus
Navigation profilesALTER NAVIGATIONHome pages, menus
Project settingsALTER SETTINGSJava version, theme, etc.

Workflows

CapabilityCommandStatus
Create workflowCREATE WORKFLOWUser tasks, decisions
Parallel splitsSupportedFork/join patterns

Analyze: Code intelligence and quality

CapabilityCommandNotes
Cross-referencesLIST CALLERS/CALLEES OFWho calls what
Impact analysisLIST IMPACT OF Module.EntityWhat breaks if I change this
Transitive callersLIST CALLERS OF ... TRANSITIVEFull call chain
Lintingmxcli lint -p app.mpr14 built-in + 27 Starlark rules
Best practices reportmxcli report -p app.mprScored report with categories
Missing translationsQUAL005 linter ruleDetects incomplete translations
Catalog queriesSELECT ... FROM CATALOG.tablesSQL over project metadata
Validationmxcli check -p app.mprSyntax + optional mx check
Diffmxcli diff -p app.mpr changes.mdlCompare script vs project

Automate: CI/CD and scripting

CapabilityCommandNotes
Inline commandsmxcli -p app.mpr -c "CMD1; CMD2; CMD3"Semicolon-separated, single connection
Script filesmxcli exec script.mdl -p app.mprRun MDL files
Stdin pipingecho "CMD" | mxcli -p app.mprQuiet mode, no prompts
Docker buildmxcli docker build -p app.mprBuild MDA in container
Docker checkmxcli docker check -p app.mprValidate in container
Testingmxcli test tests/ -p app.mpr.test.mdl / .test.md
SARIF outputmxcli lint --format sarifFor CI integration
New projectmxcli new <name> --version X.Y.ZCreate project from scratch with all tooling
Init projectmxcli initSet up .claude/ with skills
Setup mxclimxcli setup mxcli [--os linux]Download platform-specific mxcli binary

Known Limitations

AreaLimitationWorkaround
Page parametersRequires Mendix 11.0+Use non-persistent entity pattern on 10.x
Design properties (Atlas v3)Requires Mendix 11.0+Use CSS classes on 10.x
REST query parametersRequires Mendix 11.0+Build query string manually on 10.x
Pluggable widget ImageUrl modeCannot set imageUrl from MDLConfigure in Studio Pro
Concurrent editingNot supportedClose Studio Pro before mxcli writes
Widget template driftCE0463 on version mismatchMPK augmentation handles most cases
47 of 52 metamodel domainsNot yet implementedREST, OData write, etc. pending

Version Compatibility

See Version Compatibility for detailed per-version feature availability.