Skip to main content
Glama

Generate system model

generate_system_model
Idempotent

Generate a systems model or SysML architecture from a natural-language specification or structured agent-authored specification, including interfaces, components, requirements and constraints. Paid. Call it directly: it charges what the job uses, never more than its estimated maximum or the max_spend_credits you set. request_id is optional; set one to make a retry safe. estimate_cost is optional and free, and with cost_mode "agent_authored" it validates a specification without running it. Returns job_id immediately. Poll get_job_status for later progress.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "generate_system_model"
  }
}

Input Schema

NameRequiredDescriptionDefault
rowsNoOnly for cost_mode "agent_authored" on generate_safety_analysis: {conditions:[{target,description,severity,...}],modes:[{target,mode,severity,occurrence,detection,...}]}; with analysis "stpa": {losses:[{id,description}],hazards:[{id,description,losses}],controllers:[{target,processModel}],controlActions:[{from,to,name,ucas:[{id,type,context,contextVariables,hazards,constraint}|{type,notApplicable,rationale}]}],feedback:[{from,to,name,updates}],constraints:[{id,name,text}]}.
modelNo
studyNo
eventsNo
formatNo
promptNo
stop_sNo
analysisNoFor generate_safety_analysis: fha, fmea, both (default) or stpa. stpa needs no standard.
fidelityNo
model_idNoA model from a generation job (model_ id) or a saved studio model (m_ id); a saved model is read at the head of main.
providerNo
standardNo
cost_modeNomanaged
max_depthNoOnly for run_agent_swarm: levels of division, 1 to 3 (default 2). At 2 and 3, a subsystem the orchestrator judges too large for one agent is divided again inside its frozen boundary.
subsystemNoFor reprompt_agent: qualified name of the subsystem, e.g. "Rover::DriveUnit". For run_agent_swarm on a saved model: the subsystem to decompose one level further (its parts get the agents); leave it out to work on the whole system's subsystems.
request_idNo
scenario_idNo
simulationsNo
specificationNoRequired for cost_mode "agent_authored" on generate_system_model and build_full_system: the system you wrote, as JSON matching this schema (the same schema describe_mbestudio returns as specification_schema). estimate_cost validates it for free with the same checks the paid tools run and lists every problem as a blocker, so call it before a paid tool.
simulation_typeNo
max_spend_creditsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / analysis / description
      Added value: +"For generate_safety_analysis: fha, fmea, both (default) or stpa. stpa needs no standard."
    • changedInput schema / properties / analysis / enum
      Previous value: -[
      -  "fha",
      -  "fmea",
      -  "both"
      -]New value: +[
      +  "fha",
      +  "fmea",
      +  "both",
      +  "stpa"
      +]
    • changedInput schema / properties / rows / description
      Previous value: -"Only for cost_mode \"agent_authored\" on generate_safety_analysis: {conditions:[{target,description,severity,...}],modes:[{target,mode,severity,occurrence,detection,...}]}."New value: +"Only for cost_mode \"agent_authored\" on generate_safety_analysis: {conditions:[{target,description,severity,...}],modes:[{target,mode,severity,occurrence,detection,...}]}; with analysis \"stpa\": {losses:[{id,description}],hazards:[{id,description,losses}],controllers:[{target,processModel}],controlActions:[{from,to,name,ucas:[{id,type,context,contextVariables,hazards,constraint}|{type,notApplicable,rationale}]}],feedback:[{from,to,name,updates}],constraints:[{id,name,text}]}."
  2. First observed

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is not read-only, is idempotent, and is non-destructive. The description adds meaningful behavioral context beyond that: billing is capped by estimated maximum or max_spend_credits, request_id supports safe retries, estimate_cost can validate a specification without running, and the call returns a job_id for later polling. It does not cover failure/refund behavior or authentication requirements, but it is substantially more informative than the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then moves through cost, retry safety, validation, and job polling. It is reasonably compact for the amount of workflow information conveyed, though the billing and lifecycle details could be slightly more organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool with 21 parameters, nested specification objects, enums, and no output schema. The description covers the async job lifecycle and cost model, but it leaves most parameter semantics, applicable input combinations, and validation constraints unexplained for an agent trying to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 21 parameters with only 29% description coverage, so the description needs to compensate substantially. It explains request_id, cost_mode "agent_authored", max_spend_credits, and hints at structured specifications, but most parameters—such as format, prompt, model, study, events, simulations, provider, standard, and analysis—receive no added meaning in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: generating a systems model or SysML architecture from natural-language or structured specifications, including interfaces, components, requirements, and constraints. It distinguishes its role somewhat through lifecycle references to estimate_cost and get_job_status, but it does not clearly distinguish itself from close siblings such as build_full_system or generate_safety_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives useful operational guidance: the tool is paid, estimate_cost can validate for free in agent_authored mode, request_id makes retries safe, and get_job_status should be polled after the immediate job_id response. However, it does not explicitly say when to choose this tool instead of sibling generation tools like build_full_system or build_3d_model.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources