Stella MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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_stockA | Add a stock (reservoir) to the current model |
| update_stockA | 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_auxB | Add an auxiliary variable (parameter or intermediate calculation) to the current model |
| update_auxC | Update auxiliary variable fields |
| add_connectorA | Add a connector (dependency arrow) between variables |
| sync_connectors_from_equationsA | Add missing dependency connectors inferred from flow and auxiliary equations |
| set_connector_routingA | 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_moduleA | Create a logical module/group for organizing variables |
| add_to_moduleC | Add variables to an existing module |
| remove_from_moduleA | Remove variables from an existing module |
| rename_moduleC | Rename an existing module |
| delete_moduleB | Delete a module |
| set_module_viewB | Set explicit view box geometry for a module |
| set_module_styleA | Set module box visual style in the diagram view |
| auto_place_module_boxesC | Auto-place module view boxes around their member variables |
| save_modelA | 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 |
| simulateA | 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]'). |
| calibrateA | Fit constant model parameters to an observed time-series — the inverse of simulate. Only constant auxiliaries/flows can be calibrated (stocks are rejected: overriding a stock pins it to a constant rather than setting its initial value). least_squares (default) reports a linearized std_error; differential_evolution is a global, seeded alternative requiring bounds. Observation times must lie within the model window (no extrapolation). 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_modelA | 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_modelA | 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) |
| create_workspaceA | Create an isolated application workspace for stateful Stella tool calls. The returned ID routes state and is not an authorization credential. |
| revoke_workspaceA | Revoke a workspace and discard all models stored in it. |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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