Stella MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_modelB | Create a new Stella model with specified time settings |
| build_modelA | Create and populate a model in one call: sim specs, stocks, auxiliaries, flows, connectors, and modules. All-or-nothing — on any item error nothing is registered and the error names the failing item (stage + index). Connector sync and validation run by default, so the response doubles as an inspection. |
| add_variablesA | Add multiple stocks, auxiliaries, flows, connectors, and/or modules to an existing model in one call. All-or-nothing — on any item error the model is left unchanged and the error names the failing item (stage + index). |
| set_sim_specsB | Update simulation time settings on an existing model |
| add_stockB | Add a stock (reservoir) to the current model |
| update_stockB | Update stock fields while preserving relationships |
| add_flowC | Add a flow between stocks in the current model |
| update_flowA | Update flow fields while preserving structural stock links |
| add_auxA | Add an auxiliary variable (parameter or intermediate calculation) to the current model |
| update_auxB | Update auxiliary variable fields |
| add_connectorB | Add a connector (dependency arrow) between variables |
| sync_connectors_from_equationsB | Add missing dependency connectors inferred from flow and auxiliary equations |
| set_connector_routingC | Set connector angle and/or explicit routing waypoints |
| rename_variableA | Rename a stock/flow/aux and update dependent references |
| delete_variableA | Delete a stock/flow/aux and clean connectors/module membership |
| create_moduleB | Create a logical module/group for organizing variables |
| add_to_moduleB | Add variables to an existing module |
| remove_from_moduleB | Remove variables from an existing module |
| rename_moduleB | Rename an existing module |
| delete_moduleB | Delete a module |
| set_module_viewB | Set explicit view box geometry for a module |
| set_module_styleB | Set module box visual style in the diagram view |
| auto_place_module_boxesB | Auto-place module view boxes around their member variables |
| save_modelB | Save the current model to a .stmx file |
| render_diagramA | Render the current model as an SVG stock-and-flow diagram. The SVG is returned inline (for clients without file access) and optionally written to a file. Defaults to running auto-layout first so freshly built models render sensibly. |
| read_modelA | Read an existing .stmx file and load it as the current model |
| list_templatesA | List built-in and user-defined templates |
| get_template_infoA | Get detailed metadata for one template |
| load_templateA | Load a template into the current session as a model |
| save_as_templateA | Save the current model as a user-defined template |
| simulateB | Run the model and return downsampled time series with per-variable summaries (initial/final/min/max). Requires the optional pysd dependency (pip install 'stella-mcp[sim]'). Integration is Euler regardless of the model's method setting. |
| compare_scenariosA | Run several named what-if scenarios (each a set of constant parameter overrides) against a baseline and report how each diverges: per-variable final/max absolute deltas and final percent change. Requires the optional pysd dependency (pip install 'stella-mcp[sim]'). |
| sensitivity_analysisA | One-at-a-time sensitivity: sweep each parameter across a range (holding the others at their baseline) and report how one chosen output metric responds, with a range slope and a baseline-normalized elasticity for ranking. Requires the optional pysd dependency (pip install 'stella-mcp[sim]'). |
| list_modelsA | List all model IDs available in the current session |
| delete_modelA | Remove a model from the current session. Saved .stmx files are not touched. model_id is required — there is deliberately no implicit 'delete current model'. |
| inspect_modelB | Return a structured summary of the current model for agent inspection |
| list_modulesB | List modules/groups in the current model |
| list_connectorsA | List connector metadata (uid, endpoints, angle, routing lock/points) |
| validate_modelB | Validate the current model for errors and warnings |
| list_variablesA | List all variables (stocks, flows, auxiliaries) in the current model |
| get_model_xmlA | Get the XMILE XML representation of the current model (for preview) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| build-stella-model | Guide an agent through building, validating, and saving a Stella model. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| carbon_cycle_2box | Two-box carbon exchange between atmosphere and ocean reservoirs. |
| exponential_growth | Single-stock reinforcing loop with constant fractional growth. |
| lotka_volterra | Predator-prey oscillation model with coupled nonlinear feedbacks. |
| nutrient_box_2box | Two-box nutrient transport and exchange example for ocean systems. |
| sir | Classic susceptible-infected-recovered epidemic dynamics. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bradleylab/stella-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server