Lake Level MCP
An MCP server that provides live water level data for 44 US lakes and reservoirs by querying government gauges. It supports tools to search for lakes, retrieve current elevation and change metrics, fetch historical elevation series, and compare multiple lakes side-by-side.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://lake-level-mcp.lipmichal.workers.dev/mcpWhat you can do with it
- Find covered lakes and reservoirs by name, river or state
- Get current elevation, 24h/7d/30d change, and percent full
- Retrieve daily or weekly elevation series for up to 365 days
- Compare current level of 2 to 10 lakes side by side
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- lake-level-mcp 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
search_lakes — Search US lakes and reservoirs
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"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
}{
"title": "Search lakes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_lake_level — Get current lake level
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lake"
],
"properties": {
"lake": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
}
},
"additionalProperties": false
}{
"title": "Get lake level",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_lake_history — Get lake level history
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lake"
],
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 365,
"minimum": 2,
"description": "Days back from today, 2 to 365. Default 90."
},
"lake": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
},
"step": {
"enum": [
"daily",
"weekly"
],
"type": "string",
"default": "daily",
"description": "daily = one point per day; weekly = every 7th day ending today. Stats always use every day."
}
},
"additionalProperties": false
}{
"title": "Get lake history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}compare_lakes — Compare lake levels
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lakes"
],
"properties": {
"lakes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Lake slug from search_lakes (for example \"lake-mead\") or a lake name (for example \"Lake Travis\")."
},
"maxItems": 10,
"minItems": 2,
"description": "Slugs or names, for example [\"lake-mead\", \"lake-powell\"]."
}
},
"additionalProperties": false
}{
"title": "Compare lakes",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 425 ms
- 95th percentile latency
- 425 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 425 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http lake-level-mcp https://lake-level-mcp.lipmichal.workers.dev/mcpCodex
codex mcp add lake-level-mcp --url https://lake-level-mcp.lipmichal.workers.dev/mcpCursor
{
"mcpServers": {
"lake-level-mcp": {
"url": "https://lake-level-mcp.lipmichal.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"lake-level-mcp": {
"type": "streamableHttp",
"url": "https://lake-level-mcp.lipmichal.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"lake-level-mcp": {
"type": "http",
"url": "https://lake-level-mcp.lipmichal.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http lake-level-mcp https://lake-level-mcp.lipmichal.workers.dev/mcpClaude Desktop
{
"mcpServers": {
"lake-level-mcp": {
"url": "https://lake-level-mcp.lipmichal.workers.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"lake-level-mcp": {
"serverUrl": "https://lake-level-mcp.lipmichal.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Lake Level MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.