Hydrata - ANUGA Flood Simulation
Ce que fait ce MCP
Creates and manages ANUGA flood simulation projects, imports terrain and geospatial inputs, builds scenarios, runs simulations, and retrieves progress and results on cloud infrastructure.
Outils
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID to cancel'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'type': 'object', 'required': ['project_id'], 'properties': {'project_id': {'type': 'integer', 'description': 'The project ID'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'integer', 'description': 'The run ID to retry'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Modifications récentes des outils
Serveurs MCP similaires
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, …