{"openapi":"3.1.0","info":{"title":"SWMM Analysis MCP Server","description":"Dual-surface (MCP + REST) EPA-SWMM analysis server with a built-in multi-provider agent. MCP endpoint: /mcp. Engine: OpenSWMM in a crash-isolated worker, Calgary screening, deterministic QA/QC, .rpt reconciliation, scenarios, SWMR reporting.","version":"1.0.4 (engine Rev 23.2; generic CoC workflow Rev 28)"},"paths":{"/api/tools":{"get":{"summary":"Rest List Tools","description":"List all tools with parameter metadata (machine-readable).","operationId":"rest_list_tools_api_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rest List Tools Api Tools Get"}}}}}}},"/api/tool/{tool_name}":{"post":{"summary":"Rest Call Tool","description":"Invoke any registry tool. Body = the tool's keyword arguments as JSON.","operationId":"rest_call_tool_api_tool__tool_name__post","parameters":[{"name":"tool_name","in":"path","required":true,"schema":{"type":"string","title":"Tool Name"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent":{"post":{"summary":"Rest Agent","description":"Built-in agent endpoint.\n\nBody: {\"question\": str, \"provider\": \"anthropic|openai|gemini|groq|mistral|local\",\n       \"model\": str?, \"api_key\": str?, \"base_url\": str?, \"session_id\": str?,\n       \"inp_content\": str?, \"allow_report\": bool?}","operationId":"rest_agent_api_agent_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/{session_id}/{filename}":{"get":{"summary":"Serve File","description":"Download generated report artifacts.","operationId":"serve_file_files__session_id___filename__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}