SWMM-MCP
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_modelsB | Returns a list of available models in the server. |
| duplicate_modelB | Duplicates a model and returns the new model name. Use this for testing scenarios. |
| prompt_model_uploadB | Prompts the user with a UI where they can upload a SWMM model. |
| upload_modelB | Uploads a new SWMM model to the server. The content should be the full .inp file content. |
| get_model_infoC | Returns general information about a model. Be sure to enter the model name exactly as it appears in the list. |
| get_input_sectionsC | Returns a list of sections in the input file for a given model. |
| get_input_infoA | Returns the contents of a section of the input file for a given model. Do NOT include brackets in the section name. Refer to the tool get_input_sections for a list of sections. |
| add_storageB | Replace a junction with a cylindrical storage node of specified volume. Unless specified, it will start empty. Returns success message or error description. |
| change_conduitC | Changes the diameter of a circular conduit in the model. |
| run_modelD | Runs a model. |
| get_report_sectionsB | Returns a list of sections in the report file for a given model. |
| get_report_infoC | Returns the contents of a section of the report file for a given model. |
| get_output_variablesB | Returns a list of variables in the output file for a given model. |
| get_output_objectsB | Returns a list of objects in the output file for a given model and object type. object_type: the type of object to return. E.g. "node", "link", "subcatchment". Refer to the tool "model_output_variables" for a list of types. |
| plot_output_dataC | Displays a full timeseries plot to the user. Returns a summary of the data. model_names: List of model names to plot. object_type: the type of object to return. E.g. "node", "link", "subcatchment". Refer to the tool "get_output_variables" for a list of types. object_label: the label of the object in the output file. E.g. "J1", "S1" variable: the variable to return. E.g. "flow". Refer to the tool "get_output_variables" for a list of variables. |
| plot_model_mapC | Creates an interactive map of the SWMM model using Plotly and displays it to the user. Returns whether the operation was successful. |
| plot_rainfallC | Displays a timeseries plot of the model's rainfall to the user. Returns the name of the timeseries or an error message. |
| change_stormC | Modify the model's storm event to an 24-hour SCS Type 2 design storm of a given depth. depth: Total rainfall depth in inches :return: Name of the new storm or error message |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| list_models | Which models are available? |
| describe_model | Tell me about the model. |
| get_pipes_and_junctions | How many pipes and junctions does it have? |
| largest_pipe | What's the largest pipe in the network? |
| show_network | Show me my network |
| run_model | Run a model for me |
| compare_flow_largest_pipe | Compare flow through the largest pipe for a 2-inch vs 4-inch storm. |
| nodes_flood_4_inch | Which nodes flood under a 4-inch storm? |
| detention_recommendations | Suggest detention locations to reduce downstream flooding. |
| add_storage_and_rerun | Add a storage unit at a node and rerun. |
| node_flow_timeseries | Show node flow during the simulation. |
| compare_base_to_modified | Compare base and modified scenarios. |
| outfall_hydrograph_comparison | Plot base vs. modified outfall hydrographs. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| visualization_view | Interactive visualization viewer. |
| upload_view | Interactive model upload interface. |
Latest Blog Posts
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/kLabUM/SWMM-MCP-PUB'
If you have feedback or need assistance with the MCP directory API, please join our Discord server