MCP server for approved OpenModelica simulation kits with streamable HTTP and stdio transport
Server defines 13 tools with basic schemas and descriptions. Naming follows verb_noun convention (list_, simulate, get_) which is good. However, descriptions are terse (avg ~50 chars, well below the 194-char baseline), lack context on WHEN to use each tool, and do not explain state-modifying consequences. Parameter descriptions exist but are minimal. Output schemas are not documented in the visible code. Tool duplication (v1 + 'recorded' variants) suggests versioning confusion rather than clear composition. No evidence of error handling guidance or recovery paths.
List approved Modelica kits
List approved Modelica kits with recorded schema version 2.0
Retrieve a persisted simulation run by ID
Retrieve a persisted simulation run by ID with recorded schema version 2.0
List persisted simulation runs
List persisted simulation runs with recorded schema version 2.0
Run a Modelica simulation with specified model and scenario
Duplicate tool sets (v1 + 'recorded' variants) without clear versioning strategy. Names like 'modelica_kit_list' and 'modelica_kit_list_recorded' create ambiguity, LLMs cannot distinguish when to use each. This violates single-responsibility and composition patterns.
Descriptions are extremely terse (avg 35 - 50 chars vs. 194-char baseline). 'List approved Modelica kits' and 'Retrieve a persisted simulation run by ID' lack context on WHEN to call each tool, what 'approved' means, or what 'recorded' variants do differently. LLMs cannot disambiguate.
Output schemas are not documented in visible code. Tools return results but LLMs have no specification of response structure, field types, or which fields enable downstream tool chaining. This forces LLMs to guess and risks broken chains.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Run a Modelica simulation with recorded schema version 2.0
Retrieve simulation manifest for a resumable simulation request
Retrieve a resumable simulation request by ID
Retrieve a simulation request template for a model and scenario
Retrieve sealed result series for a simulation request
Submit a resumable simulation request
No error handling guidance. Tools like 'modelica_simulate' (WRITE risk) have no documented recovery paths, retry logic, or error classification. If a simulation fails, the LLM has no guidance on whether to retry, ask the user, or abort.
Parameter descriptions are minimal (avg 30 - 40 chars). 'Identifier of the approved Modelica kit model' does not explain what constitutes a valid model_id, whether it is a UUID/slug/integer, or how to discover valid IDs. LLMs cannot validate inputs.