{"_id":"@deltahydro/mcp","name":"@deltahydro/mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@deltahydro/mcp","version":"0.1.0","description":"MCP bridge for Delta Hydro Studio — run hydrology and hydraulic design tools from Claude Desktop.","type":"module","bin":{"delta-hydro-mcp":"bin/delta-hydro-mcp.js"},"engines":{"node":">=18"},"keywords":["mcp","modelcontextprotocol","claude","hydrology","hydraulics","engineering","flood"],"license":"UNLICENSED","homepage":"https://studio.deltahydro.tech","dependencies":{"@modelcontextprotocol/sdk":"^1.20.0"},"gitHead":"885c2e08ad81279c926b95cf22871a357695413c","_id":"@deltahydro/mcp@0.1.0","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-zMOqgeNO9VvKzVRk+jTbUY+6SXRhXkoIkxksSUXW0qyQmri0mKvrSJfU3EIC0G22ZZyDHP5Rj0ecMOTp2yQiVw==","shasum":"9fb802b87f68d2b9fa0edac1a78fdfa253792ec6","tarball":"https://registry.npmjs.org/@deltahydro/mcp/-/mcp-0.1.0.tgz","fileCount":3,"unpackedSize":14763,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEUiE6bXsR4c389m7FZFa2UDmjeNo9PL8Rc698UHsdC/AiAwhJBaezNei9OGaQIdobM5oQBK1ulRT3Dxn8TOy6gVpg=="}]},"_npmUser":{"name":"stephandreyer","email":"stephan@deltahydro.tech"},"directories":{},"maintainers":[{"name":"stephandreyer","email":"stephan@deltahydro.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.0_1787597569759_0.7706937692052385"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-24T18:52:49.580Z","0.1.0":"2026-08-24T18:52:49.894Z","modified":"2026-08-24T18:52:50.124Z"},"maintainers":[{"name":"stephandreyer","email":"stephan@deltahydro.tech"}],"description":"MCP bridge for Delta Hydro Studio — run hydrology and hydraulic design tools from Claude Desktop.","homepage":"https://studio.deltahydro.tech","keywords":["mcp","modelcontextprotocol","claude","hydrology","hydraulics","engineering","flood"],"license":"UNLICENSED","readme":"# @deltahydro/mcp\r\n\r\nConnect [Delta Hydro Studio](https://studio.deltahydro.tech) to Claude, and run\r\nreal hydrology and hydraulic design work from a conversation.\r\n\r\nAsk for a culvert to be sized and Claude will delineate the catchment, pull the\r\nreal flow path and slope off an elevation profile, compute time of\r\nconcentration, look up the design rainfall, work out the peak flow, and run the\r\nHDS-5 culvert check — saving each step as a Studio record and handing you a link\r\nto open it.\r\n\r\nThe calculations run on Delta Hydro's servers using the same engines the app\r\nuses. Claude drives them; you review the results in Studio, where the charts,\r\ntables and Word/Excel exports live.\r\n\r\n> **Preview.** Access is currently limited to Delta Hydro administrators while\r\n> the surface is being validated.\r\n\r\n---\r\n\r\n## What you get\r\n\r\n**25 tools** — watershed delineation, watercourse profile, time of\r\nconcentration, design rainfall, ARF, design storm, Rational, TR-55, flood\r\nfrequency analysis, hydrograph generation, PMP, culvert design, channel\r\nanalysis, channel lining, GVF profiles, weir analysis, detention basin routing,\r\nstream gauge search, USGS flood estimates, plus lookups over your own saved\r\ncalculations and reference library.\r\n\r\n**Skill cards** as MCP resources — the engineering guidance for each method,\r\nso Claude applies the right one with the right inputs. Start with\r\n`dhs://skills/index`.\r\n\r\n**Design procedures** as MCP prompts — end-to-end workflows such as\r\n`peak-flow-from-scratch`, `size-a-culvert` and `flood-design-estimation`, which\r\ntell Claude the correct order of operations and, importantly, which decisions to\r\nput back to you rather than make on its own.\r\n\r\n---\r\n\r\n## Setup\r\n\r\n> **Helping someone set this up as an AI assistant?** Ask which client they use\r\n> first — the steps differ. Never ask them to paste their API key into a chat;\r\n> it only ever belongs in a config file. And when editing an existing config,\r\n> **merge** into `mcpServers` rather than replacing it.\r\n\r\n**Requires Node.js 18+** (`node --version`), since the bridge runs via `npx`.\r\n\r\n### 1. Get an API key\r\n\r\nIn Studio: **Settings → API Keys → New Key**. Give it both the `read` and\r\n`write` scopes (without `write`, Claude can look things up but cannot run or\r\nsave a calculation). The key is shown once — copy it.\r\n\r\n### 2a. Claude Desktop\r\n\r\nEdit `claude_desktop_config.json`:\r\n\r\n| OS | Path |\r\n| -- | ---- |\r\n| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |\r\n| Windows | `%APPDATA%\\Claude\\claude_desktop_config.json` |\r\n| Linux | `~/.config/Claude/claude_desktop_config.json` |\r\n\r\nIf the file does not exist, create it with exactly this:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"delta-hydro\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@deltahydro/mcp\"],\r\n      \"env\": { \"DELTA_HYDRO_API_KEY\": \"dh_your_key_here\" }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**If it already exists, add `delta-hydro` inside the existing `mcpServers`\r\nobject — do not replace the file.** Overwriting it silently disconnects every\r\nother MCP server the user had, and they usually do not notice until something\r\nelse breaks:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"filesystem\": { \"command\": \"npx\", \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/Users/me\"] },\r\n    \"delta-hydro\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@deltahydro/mcp\"],\r\n      \"env\": { \"DELTA_HYDRO_API_KEY\": \"dh_your_key_here\" }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nOn Windows, some Claude Desktop builds cannot launch `npx` directly. If the\r\nserver fails to start, route it through the shell — `\"command\": \"cmd\"` and\r\n`\"args\": [\"/c\", \"npx\", \"-y\", \"@deltahydro/mcp\"]`, keeping `env` unchanged.\r\n\r\nThen **quit and reopen Claude Desktop** (on macOS ⌘Q — closing the window is not\r\nenough). `delta-hydro` should appear in the tools menu.\r\n\r\n### 2b. Claude Code — no bridge needed\r\n\r\nClaude Code speaks HTTP directly, so skip this package entirely:\r\n\r\n```bash\r\nclaude mcp add --transport http delta-hydro \\\r\n  https://studio.deltahydro.tech/api/mcp \\\r\n  --header \"Authorization: Bearer dh_your_key_here\"\r\n```\r\n\r\n### 2c. Cursor / VS Code — no bridge needed either\r\n\r\nAdd to `~/.cursor/mcp.json` (or a project `.cursor/mcp.json`), merging as above:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"delta-hydro\": {\r\n      \"url\": \"https://studio.deltahydro.tech/api/mcp\",\r\n      \"headers\": { \"Authorization\": \"Bearer dh_your_key_here\" }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Verify it works\r\n\r\n```bash\r\nDELTA_HYDRO_API_KEY=dh_... npx -y @deltahydro/mcp --check\r\n```\r\n\r\nConnects, lists the tools, prints a summary and exits. This is the first thing\r\nto run when something looks wrong.\r\n\r\n---\r\n\r\n## Credits\r\n\r\nTool calls are billed to your Studio account at the same per-tool rate as the\r\nin-app AI agent — most tools cost 1 credit, a few cost 2, and lookups\r\n(geocoding, searching your saved work, reading documentation) are free.\r\n\r\nYou are **not** billed for model usage: you are bringing your own Claude\r\nsubscription, so you pay only for the engineering.\r\n\r\n---\r\n\r\n## Options\r\n\r\n| Variable | Required | Default |\r\n|---|---|---|\r\n| `DELTA_HYDRO_API_KEY` | yes | — |\r\n| `DELTA_HYDRO_URL` | no | `https://studio.deltahydro.tech` |\r\n\r\n| Flag | Does |\r\n|---|---|\r\n| `--check` | Connect, list tools, print a summary, exit |\r\n| `--version` | Print the bridge version |\r\n| `--help` | Usage and a config example |\r\n\r\n---\r\n\r\n## Troubleshooting\r\n\r\n**\"DELTA_HYDRO_API_KEY is not set\"** — the `env` block is missing from your\r\nclient config, or the client did not pass it through. Restart the client after\r\nediting the config.\r\n\r\n**The server does not appear at all in Claude Desktop** — almost always invalid\r\nJSON in `claude_desktop_config.json`; the app fails silently on a parse error.\r\nValidate the file. Also check `node --version` reports 18 or newer.\r\n\r\n**Other MCP servers stopped working** — the config was overwritten instead of\r\nmerged. Restore the other `mcpServers` entries.\r\n\r\n**401 Unauthorized** — the key is wrong, revoked, or expired. Check\r\nSettings → API Keys in Studio; mint a new one if in doubt.\r\n\r\n**403 \"available to administrators only\"** — expected during the preview. The\r\nMCP surface is admin-gated while it is being validated.\r\n\r\n**429** — more than 60 tool calls in a minute from one key. Wait a minute.\r\n\r\n**Tools are missing** — a key with only the `read` scope hides every tool that\r\nsaves a record. Create a key with `write` as well.\r\n\r\n**A tool call times out** — watershed delineation and watercourse profiles call\r\nexternal elevation services and can take well over a minute. The server keeps\r\nworking to completion even if the client stops waiting, so check Studio before\r\nretrying — the record may already be there.\r\n\r\n---\r\n\r\n## A note on responsibility\r\n\r\nClaude can drive these tools, but it cannot take professional responsibility for\r\nthe result. Every record it creates is tagged in Studio with where it came from,\r\nand appears in the calculation audit trail. Review the inputs and the outputs\r\nbefore any of it reaches a drawing, a report or a signature.\r\n\r\n---\r\n\r\n© Delta Hydro Engineers (Pty) Ltd\r\n","readmeFilename":"README.md","_rev":"1-058cca9e97afb7fd4f5e8bd28da440f0"}