Skip to content

Command line and MCP ​

Sign in with erp login (or set ERP_TOKEN). Everything below uses your own permissions.

Coverage: what you can do without the browser ​

AreaCommand line (erp)MCP tool
Plugin lifecycle: create, validate, snapshot, restore, bump version, build, publish, installerp plugin create / validate / build / publish / install, erp plugin op <name>erp_plugin_op, erp_plugin_scaffold
Backend and frontend source code: Java, Python, Node.js, React (list, read, write)erp source files / read / writeerp_plugin_op (source-*)
Java and Node build, test, packageerp plugin op java-compile / java-test / java-package / node-runerp_plugin_op
Full-code frontend starters in Vue, React or plain TypeScript (Web Components)platform-cli frontend-plugin:scaffold --id <id> --framework vue|react|vanilla --out <dir>erp_frontend_plugin_scaffold
Service starters in Python (FastAPI), Node.js (Express) and Go (net/http)platform-cli service-plugin:scaffold --id <id> --runtime python|nodejs|go --out <dir>erp_service_plugin_scaffold
Backend service: deploy, start, stop, restart, size, logs, versions, rollbackerp plugin op service-*erp_plugin_op
Customize an installed plugin: extend, copy, overrides, extension pointserp plugin op extend-installed / copy-installed / override-* / extension-pointserp_plugin_op
Marketplaceerp registry list / mine / get / publish / installnot yet
Workflows: validate, test, live instances, tasks, historyerp workflow ...not yet
Connectorserp connector validate / create / list / testerp_validate_connector_definition
Pages and blocks: validate, catalogerp plugin validate, erp blocks list, erp page checkerp_validate_page, erp_validate_plugin_pages, erp_list_blocks
Schemas, examples, docs, platform catalogerp schema, erp examples, erp docs search, erp platform catalog / describeerp_get_schema, erp_list_schemas, erp_search_examples, erp_examples_patterns, erp_search_docs, erp_platform_catalog, erp_platform_describe
Expressionserp expression test "<expr>"not yet
Logserp logs tailerp_tail_logs
Every designer artifact (pages, forms, dashboards, themes, workspaces, reports, print templates, menus, mobile navs, providers, data services, data views, blocks, test cases): list, get, create, update, publish, history, deleteerp artifact list / get / create / update / publish / history / delete --type <type>erp_plugin_op (artifact-*)
Entities and ruleserp plugin op entity-list / entity-get / rule-list / rule-create / rule-deleteerp_plugin_op
Anything else (roles, users, jobs, ...)erp api get / post / put / delete <path>not yet a first-class tool

Honest summary. The whole plugin lifecycle, service control, customization, publishing, source code in every language, every designer artifact, entities and rules, schemas, validation and documentation are first-class in both the CLI and MCP. Roles, users, jobs and other tenant settings are reachable from the CLI through erp api and their REST paths but do not yet have named commands, and MCP has no generic API tool. Named commands for those are Planned.

Examples ​

bash
erp plugin op                                   # list every operation
erp plugin op java-compile --plugin-id leave-manager
erp plugin op service-deploy --plugin-id leave-manager
erp plugin op service-set-config --plugin-id leave-manager --cpus 2 --memory 1g
erp plugin op service-logs --plugin-id leave-manager --tail 100
erp plugin op extend-installed --plugin-id hcm-core --newPluginId acme-hcm --newName "Acme HCM"
erp plugin op overrides
erp plugin op extension-points

# any designer artifact, by type
erp artifact list   --type forms --latestOnly true
erp artifact create --type dashboards --name leave-dashboard --file ./leave-dashboard.json
erp artifact publish --type dashboards --id 12

# source code in the plugin, any language
erp source write --plugin-id leave-management --path service/app/main.py --file ./main.py

# any other feature, through its REST path
erp api post /api/v1/entities/lm_leave_type/records --body '{"type_code":"STUDY","type_name":"Study leave"}'
erp api get  "/api/v1/entities/lm_leave_type/records?page=0&size=20"

Package from a folder with node tools/spark-cli/spark.js package <dir> -o out.spk (--no-source keeps source out of the package). Upgrade past an extension check with --force-upgrade.

MCP ​

The MCP server exposes erp_plugin_op for every plugin operation, for example {"op":"service-restart","pluginId":"leave-manager"}, and the validation and documentation tools above. Install it into your editor with erp mcp install.

See also the end-to-end guide.