A model built by dialogue gets things wrong, repeatedly, and the difference between usable and frustrating is whether the error says which field is malformed and what it should look like. Three validation modes plus contextual schema help is a lot of surface pointed at exactly that. Replications with confidence intervals matter for the same reason — a single run of a stochastic model is an anecdote, and the tool that returns variability is the one you should be calling.
A simulation engine behind an MCP interface. Models are JSON, validated against JSON Schema 2020-12, and executed by SimPy for discrete-event work or PySD for stock-and-flow system dynamics.
- 16 tools across five categories
- simulate_des runs a discrete-event model with entity types, resources and processing rules; simulate_sd runs a PySD-compatible abstractModel
- run_multiple_simulations executes independent replications and returns confidence intervals, variability measures and a reliability score, with seed control for reproducible runs
- validate_model checks a configuration in partial, strict or structural mode and auto-detects which schema applies; help_validation and get_schema_help explain what failed and how the schema is shaped
- save_model, load_model, export_model and delete_model manage models with metadata, version conflict resolution and token-count estimates for export
- list_templates, load_template, save_template and delete_template cover prebuilt and personal starting points
- get_sd_model_info analyses a system-dynamics model's structure without running it; convert_vensim_to_sd_json translates Vensim .mdl files into the PySD JSON format
- Resources support FIFO, priority and preemptive queuing; entity behaviour covers balking, reneging and resource failure cycles
Python 3.12 or higher and uv. Clone the repository, run `uv sync`, and launch with `uv run python -m mcp_server`. No account and no key. Distributions are parsed with regular expressions rather than evaluated, so a model configuration never becomes executable code.
Build from source — clone the repository and build it, then point your client at the binary
