World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 99 tools.
Run ANUGA flood simulations, track progress, and retrieve results on Hydrata Cloud.
Pick the AI app you use, then copy the settings.
Passed 4/4 checks · What you ask goes through the maker’s server (hydrata.com) · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Hydrata - ANUGA Flood Simulationhttps://hydrata.com/mcp/Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
+ConnectorsHydrata - ANUGA Flood Simulation
Use Hydrata - ANUGA Flood Simulation and tell me what you can do for me, then show me one thing✓ If Claude says it is using Hydrata - ANUGA Flood Simulation or shows a Hydrata - ANUGA Flood Simulation tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT, depending on your plan
Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Hydrata - ANUGA Flood Simulationhttps://hydrata.com/mcp/Start a new chat and pick Hydrata - ANUGA Flood Simulation from your plugins before typing
Use Hydrata - ANUGA Flood Simulation and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using Hydrata - ANUGA Flood Simulation or shows a Hydrata - ANUGA Flood Simulation tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user hydrata https://hydrata.com/mcp/You should see Hydrata - ANUGA Flood Simulation listed as connected
Use Hydrata - ANUGA Flood Simulation and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Hydrata - ANUGA Flood Simulation or shows a Hydrata - ANUGA Flood Simulation tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Use Hydrata - ANUGA Flood Simulation and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Hydrata - ANUGA Flood Simulation or shows a Hydrata - ANUGA Flood Simulation tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Use Hydrata - ANUGA Flood Simulation and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Hydrata - ANUGA Flood Simulation or shows a Hydrata - ANUGA Flood Simulation tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://hydrata.com/mcp/JSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user hydrata https://hydrata.com/mcp/Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"hydrata": {
"url": "https://hydrata.com/mcp/"
}
}
}VS Code (mcp.json)
{
"servers": {
"hydrata": {
"type": "http",
"url": "https://hydrata.com/mcp/"
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified against the domain hydrata.com (the registry checks domain ownership)
Code last changed yesterday
Not applicable: a cloud server run by the owner of hydrata.com; you don't run code from the repo
Responded in 624 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 4 of 4 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed yesterday, and the latest version (0.2.2) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
In the same category: World Monitor, Claude Flow, Windmill
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 99 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for Hydrata Cloud — build ANUGA flood models from terrain and input layers, run simulations, track progress, and retrieve results through the Model Context Protocol.
Endpoint: https://hydrata.com/mcp/ — Transport: Streamable HTTP.
Every tool call needs the caller's own hydrata.com credential: an agent key (Authorization: Bearer hk_…), a named, revocable grant at one of three levels (read < draft < launch) that the account owner creates — and can revoke, one at a time or all at once — on the site's Agent keys page (/agents/). The server holds no identity and no key store of its own: it checks only the shape of the credential (an hk_ prefix, or with the connect flow configured a JWT-shaped token) and forwards the one accepted Authorization header unchanged to the Hydrata REST API, where Django verifies it on every tool call (for a connect-flow token: signature, issuer, audience, expiry and the live grant; for an agent key: the stored hash and the live grant) — so results are scoped by the real user's project permissions and the key's level, and the audit trail names them. Every JSON-RPC request — initialize, tools/list and ping as well as tools/call — that does not carry exactly one accepted credential (an agent key, or with the one-click connect flow configured its access token) is answered with 401, a JSON-RPC error -32001 and WWW-Authenticate: Bearer realm="hydrata.com" (plus resource_metadata="…" when the connect flow is configured) before it reaches the MCP SDK: no Authorization header, HTTP Basic, or any other Bearer token such as a GeoNode OAuth token. Agent keys and connect-flow tokens both map to an agent grant, so both are subject to the grant's level, the account's pause switch, the spend limit and the agent activity log. The 401 on the first request is what tells an OAuth-aware client such as claude.ai that the server needs sign-in (TASK-3987), so the tool catalog is not served to a request without a credential of an accepted shape; for initialize, tools/list and ping that credential is checked for shape only, not verified. The one exception (TASK-4177): MCP catalog crawlers whose User-Agent matches an allowlist (HYDRATA_MCP_DISCOVERY_USER_AGENTS, default mcptry.com indexer,SmitheryBot) may run initialize, ping and tools/list with no Authorization header, so catalogs can show the tools; tools/call always needs a credential, and real clients never match, so they still get the 401 and the sign-in default. Each claim about this server's security behaviour is cited to code or a test in docs/security-model.md; to report a vulnerability see SECURITY.md. A body that is not JSON-RPC is left to the SDK's own error, and a GET on the endpoint is answered 405. A static MCP Server Card (SEP-2127), built from server.json, is served without credentials at GET https://hydrata.com/mcp/server-card. The catalog icon, a 512×512 PNG of the Hydrata mark, is served the same way at GET https://hydrata.com/mcp/icon.png and listed in server.json and serverInfo.icons.
Anyone with a hydrata.com account can connect. There are two ways in, and both give the assistant a named, revocable permission at one access level (Read, Draft or Launch):
https://hydrata.com/mcp/ as a custom connector, sign in with your Hydrata account, name the connection and choose its level. The assistant never sees your password.https://hydrata.com/agents/) and send it as Authorization: Bearer hk_…. In Claude Code: claude mcp add --transport http hydrata https://hydrata.com/mcp/ --header "Authorization: Bearer hk_YOUR_KEY"
Do not add --scope project: that writes the key into the project's shared .mcp.json.
Keys and connections are listed, and revoked, on the same Agent keys page. A run that costs money waits for your consent in the browser unless the key's monthly spend limit covers it. Full guide: Connect an AI assistant in the Hydrata MCP docs.
Version 0.2.2 exposes forty-six tools, all listed below; twenty of them only read. Every tool carries MCP annotations: a title and explicit boolean readOnlyHint, destructiveHint, idempotentHint and openWorldHint (openWorldHint is false on every tool: they reach only your Hydrata account). destructiveHint is true only on cancel_run, delete_time_series and delete_observation.
| Tool | Description |
|---|---|
list_projects | List ANUGA simulation projects (paginated) |
get_project | Get one project — name, projection, visibility, your role, base_map — plus ui_url, the link that opens its map |
get_scenario | Get a scenario's compact state — computed_status, its inputs (terrain, boundary, friction, inflow, rainfall, building, mesh region, culvert, resolution, duration), the mesh-triangle estimate + breakdown, the price (compute_cost_estimate, vcpu_hours_estimate) and the latest run's id/status/error — never the raw detail |
start_simulation | Start a flood simulation (local/EC2/Batch backends); the returned run record has its presigned download links elided; hand-back link opens the run. A run over the agent key's monthly spend limit (default $0), or one Hydrata cannot price, is not started: the tool relays Hydrata's CONSENT_REQUIRED at once with the consent_url the person opens in their browser (consent_timeout_seconds > 0 also polls the run for their click) |
get_run_status | Lightweight status poll (<50ms); phase is never empty (preparing_inputs while a computing run has no progress yet) |
get_run | Full run details with timing, log and result layers; presigned s3_*_url download links are elided |
get_flow_hydrograph | Flow (Q) across a line you draw, at every frame of a completed run: peak, time of peak, volume and a mass balance, from the run's playback store (the model's flow, not a gauge reading) |
cancel_run | Cancel an in-flight simulation; hand-back link opens the scenario |
retry_run | Retry a failed simulation (rebuilds the scenario as a new run); hand-back link opens the scenario |
list_runs | List runs across a project (with status filter); presigned s3_*_url download links are elided from every row |
list_inputs | Every input row of a project per kind (boundary, friction, inflow, rainfall, building, mesh region, culvert) — row id, title, dataset, WFS typename and whether it has features — so the agent never has to probe files |
list_time_series | A project's time series — id, name, type, units, row count and first/last timestamp; the data rows are never returned |
create_project | Create an ANUGA project with a name and EPSG projection; returns its base_map and the ui_url of its map |
presign_terrain_upload | Return a presigned URL + key so the agent PUTs the terrain GeoTIFF itself (no file bytes pass through MCP) |
finalize_terrain_upload | Register the uploaded terrain; the import chain seeds the project's six default boundary/friction/inflow/rainfall/building/mesh-region rows (no culvert row: attach_input_layer creates 'Culvert 01' on demand) |
convert_terrain_datum | Make a copy of a terrain shifted from ellipsoid heights to EGM2008 (sea-level) heights, keeping the original; for a GeoTIFF still being uploaded, finalize_terrain_upload(convert_to_egm2008=true) does the same |
set_levels_datum | Record which height datum the user's own levels are on, for a project whose terrain already exists (Editor); relays Hydrata's mismatch warning against the terrain's datum, never changes the terrain's own datum |
get_terrain | Poll the terrain until it is ready (bounded; timed_out means call again); phase is never empty; summary = WGS84 bbox, elevation min/max, nodata fraction, native CRS; the link frames the DEM |
list_terrain_sources | The terrain Hydrata can fetch for a site, finest first (Copernicus GLO-30 worldwide, finer regional LiDAR such as Geoscience Australia 5 m where it has data), with coverage, size cap, vertical datum and licence |
create_terrain_from_source | Have Hydrata fetch, reproject and publish a DEM from one of those sources, then wait for the import like get_terrain |
merge_terrains | Merge two or more of the project's terrains into one at a chosen cell size (highest priority first; gaps in a higher terrain are filled from the ones below), with a size estimate in grid cells; Hydrata's refusal (too large, a coarser terrain above a finer one) is returned unchanged |
get_terrain_merge | Wait for a merge until the merged terrain is ready (bounded; timed_out means call again); phase is merging, importing, ready or error |
sample_terrain | Ground level at points (null where the terrain has no data), to place a culvert, inflow or boundary on the ground |
terrain_profile | Ground along a line (a cross-section) with the lowest sample, to find where a channel runs |
create_time_series | Create a time series (rain gauge, hydrograph or tide/stage — series_type and units are top-level fields) from {"rowData": [...]}; a rainfall polygon binds to its gauge by the series name; summary = row count + first/last timestamp; the link opens the Hydrology panel |
update_time_series | Correct a time series (PATCH); the same validation as create, and a series a built scenario uses sends that scenario back for rebuild and review |
delete_time_series | Delete a time series (Manager role); refused while a layer feature still uses it, naming the layer and feature |
attach_input_layer | Attach a GeoJSON dataset the agent already uploaded as the project's boundary/friction/inflow/rainfall/building/mesh-region or culvert layer (kind structure = deprecated alias of building); culvert attributes are mapped onto the culvert fields with defaults filled, and culvert_problems lists what the build will still refuse; breakline is refused; summary = feature count (WFS hits) + WGS84 bbox + whether the map now shows the layer; the link opens Inputs and frames the layer |
describe_input_kinds | What each input layer kind looks like (geometry, properties, allowed values, a minimal example), generated from the definitions the build reads |
read_input_layer | Read a project input layer's features as GeoJSON, each with its author (a person, or the agent that wrote it) |
write_input_layer | Write an input layer (boundary, friction, inflow, rainfall, building, mesh region or culvert) from GeoJSON sent in the call; target writes a separate row for a variant |
request_input_upload | The link where the person uploads a big input layer (over about 150 KB) in their browser: GeoJSON, zipped shapefile or GeoPackage up to 100 MB |
create_scenario | Create a draft scenario and return its mesh-triangle estimate and price (resolution — scenario and mesh-region — is a length in metres); the link opens the scenario |
update_scenario | Edit a scenario's name, description, resolution, duration or attached inputs; never builds or runs, the changed scenario is marked stale |
clone_scenario | Copy a scenario into a sibling for a variant (no run copied, nothing built), with overrides checked before the copy is made |
| build_scenario | Build the scenario package; shows the estimate first an