Deterministic EPA-SWMM stormwater analysis (engine Rev 23.2) with dual MCP + REST surfaces and a built-in multi-provider agent. All results are preliminary engineering screening.
<this-space-url>/mcpPOST /api/tool/{name} — catalog at /api/tools,
schema at /openapi.jsonPOST /api/agent (anthropic · openai · gemini · groq · mistral · local)| Tool | Purpose |
|---|---|
upload_model | Upload an EPA SWMM .inp model (raw text or base64) and create a session. |
run_simulation | Run the model in the crash-isolated OpenSWMM worker and build summaries. |
list_sessions | List active sessions (id, model filename, simulated flag, age). |
close_session | Delete a session and its working files. |
get_node_results | Node result summary. Optional node_type filter (junction/storage/outfall); |
get_link_results | Link result summary sorted descending by sort_by (default peak velocity). |
get_subcatchment_results | Subcatchment runoff summary. |
get_timeseries | Bounded time series for one object. |
query_results | Execute a validated JSON retrieval plan against the bounded result DB. |
get_table_catalog | List queryable tables (results + complete tokenized INP) for query_results. |
calgary_screening | Screen results against City-of-Calgary-style criteria. |
preliminary_design_review | Deterministic QA/QC findings register (topology, hydrology, screening) |
get_reconciliation | Worker-vs-.rpt reconciliation detail: flagged links and continuity check. |
run_scenario | Clone the base model, apply controlled changes, re-simulate, compare. |
attach_figure | Attach a client-generated figure (PNG/JPEG, base64) to the session so |
set_report_details | Store site-specific narrative and project metadata for generate_report. |
generate_report | Generate the Calgary-style SWMR draft package (docx + audit zip). |
agent_analyze | Server-side agent loop over all tools (MCP + REST). |
Typical flow: upload_model → run_simulation → analysis tools with the returned
session_id. See the README for per-platform connection instructions.