Gagelink MCP server
io.github.Adeniyikayodee/gagelink·v0.7.0River level, streamflow, floods and basins from USGS, NOAA, Hub'Eau, UK Environment Agency, SWOT
0 stars87 downloads/wk
Reviews
Write oneNobody has reviewed Gagelink yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Gagelink tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan25 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 42 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Gagelink compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,243 servers
- Downloads a week
- 87
- more than 59% of 12,306 servers with a package
Install Gagelink in Claude Code, Cursor or VS Code
claude mcp add gagelink -- uvx gagelink
What the publisher says
From the Gagelink repository's README, as published. We do not edit it. Read it on GitHub
GageLink
Hydrology data for AI agents, with the reference frames kept attached.
River levels, streamflow, flood forecasts, drainage basins and satellite water levels from USGS, NOAA, Hub'Eau, the UK Environment Agency and SWOT. Every value arrives carrying its unit, the datum it was measured from, its timezone, and whether the record is provisional or approved.
mcp-name: io.github.Adeniyikayodee/gagelink
Pre-alpha. The API may change.
Install
pip install gagelink for the library. From an MCP client, with nothing installed:
{
"mcpServers": {
"gagelink": {
"command": "uvx",
"args": ["--from", "gagelink", "gagelink-mcp"]
}
}
}Or open the .mcpb bundle, which carries the server and its dependencies in one file.
No account is needed. A free key raises the allowance from 50 requests an hour to 1,000; set it as GAGELINKAPIKEY.
What can it answer?
- How high is the river, and how does that compare with flood stage?
- How much freeboard is there between the water and a surveyed levee crest?
- What is the flow now, and what fraction of the record peak is that?
- What is forecast over the next few days, and does it cross a flood category?
- What lies upstream or downstream along the river network?
- How large is the basin draining to this point?
- What did a station record over a date range, and has that record been revised?
- What is the water surface elevation of a river with no gage on it?
- Is a reading provisional or approved, and how old is it?
Why the frames matter
At Little Falls on the Potomac, a river stage of 3.02 ft is measured upward from the gage's own zero. A surveyed levee crest of 41 ft is measured upward from a national datum. Both are lengths in feet, so subtracting one from the other produces a number that reads as freeboard, and a units library will pass it.
The gage zero at this station sits 37.04 ft above NAVD88, so the stage is 40.06 ft on that datum and the freeboard is 0.94 ft. Subtracting without the offset gives 37.98 ft, which overstates the margin by a factor of 40 in the direction of calling a levee safe.
GageLink refuses that subtraction and returns the offset that makes it well defined. The same applies to satellite elevations, which sit on a geoid, and to modelled flows, which may have no measurement behind them.
python demo/freeboard.py runs the whole example offline from recorded responses.
Converting a datum
The offset is available for most stations, so the refusal can become an answer. Pass ondatum to describelocation and the station's offset is converted through NOAA's VDatum, with the uncertainty of the conversion returned beside it:
altitude_of_gage_datum 4860 ft (NGVD29) Boulder Creek at mouth, CO
altitude_accuracy 10 ft, interpolated from a topographic map
altitude_on_requested_datum 4863.061 ft (NAVD88)
conversion_uncertainty 0.17 ft
offset_uncertainty 10 ftTwo things this surfaces are easy to miss.
The offset has an accuracy of its own. Across 7,361 USGS stream stations sampled in four states, 3,397 publish an altitude for their gage datum. Of those, 72% are known no better than a foot. The commonest published accuracy is 15 ft, a third were interpolated from a topographic map, and about one in twenty is levelled to a hundredth. A freeboard is bounded by that figure whatever precision the stage was read to, so describe_location returns it alongside the method used to determine it.
Most stations are on the older datum. 58% of those altitudes are published on NGVD29 while a modern survey or lidar product is on NAVD88. Across the contiguous states the difference runs to feet.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Gagelink: common questions
- Is Gagelink MCP server safe?
- Mostly: it is graded B (78/100). Read the Gagelink safety report
- How do I install Gagelink?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Gagelink need an API key?
- Yes. The registry entry asks for
GAGELINK_API_KEY. - Is Gagelink maintained?
- The last commit was 62 days ago (2026-09-04). The latest release is v0.7.0.
- How does Gagelink compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,243 servers); downloads a week 87 (more than 59% of 12,306 servers with a package). Full comparison.