MCP Server for deterministic simulation and scenario planning
Server has 12 tools with explicit schemas and descriptions visible in source. However, critical gaps limit production readiness: (1) apply_action uses additionalProperties:true for params, accepting arbitrary unvalidated input, violates constrained-input pattern. (2) Most parameter descriptions lack format/range constraints (e.g., 'seed' is 'number' with no bounds; 'limit' unbounded). (3) No output schemas documented, LLMs cannot predict response structure for chaining. (4) Error handling absent, no recovery guidance, no categorization. (5) Tool descriptions are generic; many lack WHEN/WHY context. (6) add_world_rule and update_world_rule accept deeply nested JSON objects (condition, actions) with additionalProperties:true, no validation of rule syntax. Naming is clear (verb_noun pattern), but parameter validation and output documentation are severely lacking.
Add a dynamic world rule that automatically applies during simulation steps. Rules are defined by conditions and actions in JSON format.
Apply an action to the simulation. Available actions: step, set_resource, adjust_resource, set_metric, adjust_metric, set_flag, add_entity, remove_entity, simulate_load, initialize
Create a named fork of the current simulation timeline
Get simulation event history
Get the state schema definition
Get the current simulation state
Get time-series snapshots recorded at each step. Optionally filter by variable names and time range.
apply_action accepts arbitrary params via additionalProperties:true with no validation. LLMs can pass invalid action names or malformed parameters without constraint feedback.
add_world_rule and update_world_rule accept deeply nested condition/actions objects with additionalProperties:true. No schema validation of rule syntax, LLMs cannot know valid condition/action structure.
No output schemas documented for any tool. LLMs cannot predict response structure (fields, types, nesting), breaks tool chaining and forces agents to guess field names.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Get details of a specific world rule by ID
List all active world rules
Remove a world rule by ID
Reset simulation to initial state
Update an existing world rule
Numeric parameters (seed, limit, from_time, to_time, priority) lack min/max bounds. LLMs can pass absurd values (negative seeds, limits of 1000000) without constraint feedback.
No error handling or recovery guidance. Tools do not document what errors are possible, whether they are retryable, or what the LLM should do next on failure.