Holarch

SysMLSystems Modeling Language A graphical modeling language for systems engineering, based on UML, with block, activity, state machine and parametric diagrams. v2 Projects

The API and MCP in SysML v2 Projects

Scripts and AI clients work with a SysML v2 project through Holarch's API and its MCP server, with an API token from your account. They read and search the model; their changes arrive as proposals that you review and apply.

Read and search

  • REST: GET /api/v1/projects/{project}/model (summary), …/elements (search by text, kind and owner, paged), …/elements/{id} (an element with its members, usages and text), …/elements/{id}/connections, …/requirements (with satisfied by and verified by), …/diagnostics and …/sysml (the SysML text of a package, by lines).
  • MCP tools: model_summary, list_elements, get_element, get_connections, list_requirements, get_sysml and check_sysml. Elements are named by id or by qualified name, such as Vehicles::Car::engine.
  • Replies are limited in size and paged; a reply says when something was left out.

Propose changes

  • POST …/sysml/check and check_sysml check text without changing anything.
  • propose_sysml proposes new text for a package; propose_element_changes proposes element edits (create, update, move, remove). Over REST: POST /api/v1/projects/{project}/proposal/changes, then POST …/proposal to send it.
  • Holarch checks each proposal first. Text that does not parse, or a change that would add errors (such as unresolved names), is refused, and the reply lists the problems to fix.
  • Nothing changes until someone with edit access reviews the proposal: the token's owner and the project's owners get a notification, and ✦ AI ▾ → Review “…”… opens it with the elements added, changed and removed and the text difference. Applying it is one undo step.

Systems Modeling API

  • Other SysML v2 tools read the model through the read-only Systems Modeling API at /api/v1/sysml/projects: projects, one branch, its commits, and the elements and roots of a commit.
  • Only the head commit holds the elements: the model as it is now. Writing through this API is not available.