Hydrata - ANUGA Flood Simulation
Was dieses MCP kann
Creates and manages ANUGA flood simulation projects, imports terrain and geospatial inputs, builds scenarios, runs simulations, and retrieves progress and results on cloud infrastructure.
Tools
Eingabeschema
{'type': 'object', 'required': ['project_id', 'kind', 'execution_id'], 'properties': {'kind': {'type': 'string', 'description': 'Which input the uploaded layer is: boundary, friction, inflow, rainfall, structure or mesh_region. breakline and culvert are refused (see below).'}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'execution_id': {'type': 'string', 'description': '`execution_id` returned by your multipart POST to <origin>/api/v2/uploads/upload/'}, 'timeout_seconds': {'type': 'integer', 'default': 240, 'description': 'How long this call keeps polling the upload before it returns `timed_out` (default 240, ceiling 280 â\x80\x94 the prod /mcp/ proxy cuts a call at 300 s). 0 = one status read, no waiting.'}, 'poll_interval_seconds': {'type': 'number', 'default': 5.0, 'description': 'Seconds between polls (default 5)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'scenario_id'], 'properties': {'confirm': {'type': 'boolean', 'default': False, 'description': 'Required (true) when the estimate is above 100,000 triangles â\x80\x94 the tool refuses first and tells you the number. Default false.'}, 'rebuild': {'type': 'boolean', 'default': False, 'description': 'true to dispatch a NEW build of a scenario whose latest run is already built/complete and still valid (default false: the tool returns that state instead of duplicating the build).'}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'scenario_id': {'type': 'integer', 'description': 'The scenario ID from create_scenario'}, 'timeout_seconds': {'type': 'integer', 'default': 240, 'description': 'How long this call keeps polling before it returns `timed_out` (default 240, ceiling 280 â\x80\x94 the prod /mcp/ proxy cuts a call at 300 s). 0 = one status read, no waiting.'}, 'poll_interval_seconds': {'type': 'number', 'default': 5.0, 'description': 'Seconds between polls (default 5)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID to cancel'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['name', 'projection'], 'properties': {'name': {'type': 'string', 'description': 'Project name'}, 'projection': {'type': 'string', 'description': "Working CRS as an EPSG string, normally the UTM zone of the site, e.g. 'EPSG:32756' (WGS 84 / UTM 56S)"}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'name', 'resolution', 'duration'], 'properties': {'name': {'type': 'string', 'description': 'Scenario name'}, 'inflow': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Inflow row id (optional; the build needs an inflow OR a rainfall)'}, 'terrain': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Terrain id (get_terrain â\x86\x92 terrain.id); the build fails without one'}, 'boundary': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Boundary row id (attach_input_layer kind=boundary â\x86\x92 row_id)'}, 'duration': {'type': 'integer', 'description': 'Simulation duration in seconds (e.g. 43200 = 12 h)'}, 'friction': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Friction row id (optional)'}, 'rainfall': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Rainfall row id (optional; the build needs an inflow OR a rainfall)'}, 'structure': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Structure row id (optional)'}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'resolution': {'type': 'number', 'description': 'Mesh resolution as a LENGTH in metres (ANUGA maximum_triangle_area = resolution²/2). Coarser (larger) = fewer triangles: on a ~13 km² boundary 36-40 m gives ~16-20k triangles, 10 m ~255k, 1 m ~25M (refused by the API).'}, 'description': {'type': 'string', 'default': '', 'description': 'Free-text description (optional)'}, 'mesh_region': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "MeshRegion row id (optional). Leave UNSET unless you want the regions' finer meshing â\x80\x94 see the units note: they mesh ~15x more than estimated."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'name', 'data'], 'properties': {'data': {'type': 'object', 'description': 'The rows: {"rowData": [{"timestamp": "1998-08-17T00:00:00", "value": 1.5}, ...]}. Timestamps ISO 8601 (a trailing Z is tolerated), values numeric. Validated here before anything is sent.', 'additionalProperties': True}, 'name': {'type': 'string', 'description': 'Series name, kept VERBATIM â\x80\x94 a rainfall polygon binds to its gauge by this exact name (its `data` property), so use the name the GeoJSON features carry'}, 'units': {'type': 'string', 'default': '', 'description': "Display label for the values, e.g. 'mm/hr', 'm^3/s', 'm' (optional)"}, 'source': {'type': 'string', 'default': '', 'description': 'Where the data came from, e.g. a gauge id or agency (optional)'}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone of the timestamps (default 'UTC'), e.g. 'Australia/Sydney'"}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'description': {'type': 'string', 'default': '', 'description': 'Free-text description (optional)'}, 'series_type': {'type': 'string', 'default': 'hyetograph', 'description': 'One of hyetograph (rainfall depth/intensity â\x80\x94 the default), hydrograph (flow, read by the Hydrographs panel and inflow boundaries), stage (water level, e.g. a tide) or generic. Sent as a top-level field.'}, 'location_name': {'type': 'string', 'default': '', 'description': 'Human-readable location of the gauge (optional)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'staging_key'], 'properties': {'title': {'type': 'string', 'default': '', 'description': 'Terrain title (default: the filename without .tif)'}, 'process_id': {'type': 'string', 'default': '', 'description': "`process_id` returned by presign_terrain_upload (pass it so the upload's progress record is reused; the API tolerates its absence)"}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'staging_key': {'type': 'string', 'description': '`staging_key` returned by presign_terrain_upload'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id'], 'properties': {'project_id': {'type': 'integer', 'description': 'The project ID'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'scenario_id'], 'properties': {'project_id': {'type': 'integer', 'description': 'The project ID'}, 'scenario_id': {'type': 'integer', 'description': 'The scenario ID'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id'], 'properties': {'project_id': {'type': 'integer', 'description': 'The project ID'}, 'terrain_id': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "The terrain ID from finalize_terrain_upload. Omit to follow the project's newest terrain."}, 'timeout_seconds': {'type': 'integer', 'default': 240, 'description': 'How long this call keeps polling before it returns `timed_out` (default 240, ceiling 280 â\x80\x94 the prod /mcp/ proxy cuts a call at 300 s). 0 = one status read, no waiting.'}, 'poll_interval_seconds': {'type': 'number', 'default': 5.0, 'description': 'Seconds between polls (default 5)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'description': 'Page number (default 1)'}, 'page_size': {'type': 'integer', 'default': 100, 'description': 'Results per page, max 100 (default 100)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id'], 'properties': {'page': {'type': 'integer', 'default': 1, 'description': 'Page number (default 1)'}, 'page_size': {'type': 'integer', 'default': 100, 'description': 'Results per page, max 100 (default 100)'}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'status_filter': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by status: created, building, built, queued, computing, processing, complete, error, cancelled. Omit for all.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['project_id', 'filename'], 'properties': {'size': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'File size in bytes (`stat -c %s <file>`). The API rejects > 5 GiB up front. Omit if unknown.'}, 'filename': {'type': 'string', 'description': "Base name of the GeoTIFF, e.g. 'dem.tif' (a name only â\x80\x94 never contents)"}, 'project_id': {'type': 'integer', 'description': 'The project ID'}, 'content_type': {'type': 'string', 'default': 'image/tiff', 'description': "MIME type the PUT will send (default 'image/tiff'). It is SIGNED into the URL, so the PUT must send exactly this Content-Type header."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID to retry'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Eingabeschema
{'type': 'object', 'required': ['scenario_id'], 'properties': {'scenario_id': {'type': 'integer', 'description': 'The scenario ID to run'}, 'compute_backend': {'type': 'string', 'default': 'local', 'description': "Compute backend: 'local' (Celery), 'ec2' (dedicated instance), or 'batch' (AWS Batch spot, cheapest). Default: 'local'"}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Letzte Tool-Änderungen
Ähnliche MCP-Server
MDEngine
Runs hosted GPU molecular-dynamics workloads using LAMMPS or OpenMM, with deck validation, job management, logs, billing, and dow…
agent-compute-ledger
Records and verifies agent compute energy and carbon usage in tamper-evident ledgers, validates Landauer-limit claims, and produc…
Cloud World Model
Creates and runs temporary cloud architecture simulations with traffic, failures, recovery, performance metrics, and cost estimat…
green-router
Estimates compute energy and carbon footprints, ranks compute backends by emissions, and issues verifiable certificates tied to o…
Zhijiangyun Cloud (智匠云)
Supports GPU training, inference, benchmarking, and robot data collection for embodied-AI systems.
BorealHost
Provides web hosting and infrastructure management, including site deployment, DNS, domains, containers, compute, backups, cachin…
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.
workbench
Provides computational molecular biology tools for DNA, RNA, and protein analysis, cloning, PCR, CRISPR, oligonucleotide design, …