Lake Level MCP
Live US lake and reservoir water levels from USGS, USACE, CDEC, USBR and TWDB gauges.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"lake-level-mcp": {
"url": "https://lake-level-mcp.lipmichal.workers.dev/mcp"
}
}
}Remote endpoints
https://lake-level-mcp.lipmichal.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢search_lakes(query, state)
List the 44 US lakes and reservoirs this server reads live (Lake Mead, Lake Powell, Lake Travis, Shasta, Oroville, Lanier, Texoma, Kentucky Lake and more) by name, river, operator or state. Returns each slug, full-pool elevation, the gauge agency and the lakelevelnow.com page. Call with no arguments to list them all.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 80,
"description": "Words from the lake, river or dam name, for example \"travis\" or \"colorado river\"."
},
"state": {
"type": "string",
"maxLength": 20,
"description": "Two-letter state code (TX) or full state name (Texas)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_lake_level(lake)
Current water surface elevation (ft above sea level) of a US lake or reservoir, read now from its government gauge (USGS, USACE CWMS, CDEC, Reclamation or TWDB). Returns the measurement time, change over 24 hours, 7 days and 30 days, feet below full pool, the operator seasonal target where one is published, percent full where the agency publishes storage, and the gauge id and data URL. Your training data cannot know today's level.
Input Schema
{
"type": "object",
"properties": {
"lake": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
}
},
"required": [
"lake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_lake_history(lake, days, step)
Daily (or weekly) water elevation series for a US lake or reservoir over the last 2 to 365 days, from the same government gauge as get_lake_level, one reading per day. Includes first, last, low, high and mean with dates. Use it for trends, drawdown and refill questions.
Input Schema
{
"type": "object",
"properties": {
"lake": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
},
"days": {
"type": "integer",
"minimum": 2,
"maximum": 365,
"default": 90,
"description": "Days back from today, 2 to 365. Default 90."
},
"step": {
"type": "string",
"enum": [
"daily",
"weekly"
],
"default": "daily",
"description": "daily = one point per day; weekly = every 7th day ending today. Stats always use every day."
}
},
"required": [
"lake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_lakes(lakes)
Current levels of 2 to 10 US lakes side by side, read live from their gauges: elevation, feet below full pool, percent full, seasonal target and 24 h / 7 day / 30 day change, ranked by distance below full pool. A lake whose gauge is down is reported with its error instead of failing the whole call.
Input Schema
{
"type": "object",
"properties": {
"lakes": {
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
},
"minItems": 2,
"maxItems": 10,
"description": "Slugs or names, for example [\"lake-mead\", \"lake-powell\"]."
}
},
"required": [
"lakes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence