Back to Browse

Lake Level MCP Server

Developer ToolsModerate5.8MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Live US lake and reservoir water levels from USGS, USACE, CDEC, USBR and TWDB gauges.

About

Live US lake and reservoir water levels from USGS, USACE, CDEC, USBR and TWDB gauges.

Remote endpoints: streamable-http: https://lake-level-mcp.lipmichal.workers.dev/mcp

Security Report

5.8
Moderate5.8Moderate Risk

The server reads public, keyless water-level data from USGS, CDEC, Reclamation, TWDB and USACE gauges, and the code shows no shell execution, dynamic code evaluation, credential handling, or data exfiltration. Upstream URLs are built from a fixed lake table rather than raw user input, so there is no evident SSRF path. Remaining concerns are informational: the lake data file was truncated so not every entry was reviewed, install is from a GitHub source, and tool outputs include promotional links. Supply chain analysis found 6 known vulnerabilities in dependencies (0 critical, 4 high severity).

5 files analyzed · 12 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

lake-level-mcp

Live US lake and reservoir water levels for AI assistants, read at call time from USGS, USACE, CDEC, Reclamation and TWDB gauges.

This is a Model Context Protocol (MCP) server. It covers 44 lakes in 12 states, including Lake Mead, Lake Powell, Lake Travis, Shasta, Oroville, Folsom, Lake Lanier, Lake Texoma and Kentucky Lake. It needs no API key.

Tools

ToolWhat it returns
search_lakesCovered lakes by name, river, operator or state, with slug, full pool and gauge.
get_lake_levelCurrent elevation, 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, gauge id and data URL.
get_lake_historyDaily or weekly elevation series for up to 365 days, with first, last, low, high and mean.
compare_lakes2 to 10 lakes side by side, ranked by feet below full pool. A lake whose gauge is down is reported, not fatal.

Every result has structured JSON, a one-paragraph summary, as_of, source (the agency URL) and more (the lake page on lakelevelnow.com).

What it knows that your model does not

  • Today's water level. Lakes move every hour and a model's training data is months old.
  • Which gauge to read for each lake. The bindings (USGS site and parameter, CDEC station, Reclamation RISE item, TWDB reservoir, USACE CWMS time series) are the verified set lakelevelnow.com uses.
  • Full-pool elevations and published seasonal guide curves (USACE, TVA, Alabama Power), so "8 ft low" can be read against the winter target, not only against summer full pool.
  • How to handle feed quirks: unpadded CDEC dates, CWMS loggers that stamp local time as UTC, USGS 15-minute data collapsed to one reading per day.

Install

Hosted (Claude.ai custom connector, ChatGPT developer mode)

Paste this URL. No token, no sign-up.

https://lake-level-mcp.lipmichal.workers.dev/mcp

Claude Code

claude mcp add --transport http lake-level https://lake-level-mcp.lipmichal.workers.dev/mcp

Or run it locally over stdio:

claude mcp add lake-level -- npx -y lake-level-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "lake-level": { "command": "npx", "args": ["-y", "lake-level-mcp"] }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "lake-level": { "url": "https://lake-level-mcp.lipmichal.workers.dev/mcp" }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "lake-level": { "type": "http", "url": "https://lake-level-mcp.lipmichal.workers.dev/mcp" }
  }
}

Node 20 or newer is needed for the local stdio version.

Example prompts

  • "What is the Lake Mead water level today, and how far below full pool is it?"
  • "Is Lake Lanier above or below its winter guide curve right now?"
  • "Show Lake Powell's level over the last year, weekly."
  • "Compare Shasta, Oroville and Folsom: which is fullest?"
  • "Which Texas lakes do you cover?"

Data sources

All public and keyless. Full list with fetch dates in DATA_SOURCES.md.

  • USGS Water Services, instantaneous and daily values (waterservices.usgs.gov)
  • California Department of Water Resources, CDEC (cdec.water.ca.gov)
  • U.S. Bureau of Reclamation RISE API (data.usbr.gov)
  • Texas Water Development Board, Water Data for Texas (waterdatafortexas.org)
  • U.S. Army Corps of Engineers CWMS Data API (cwms-data.usace.army.mil)

Upstream answers are cached for 15 minutes (current level) or 1 hour (history) to respect the agencies' services.

Limitations

  • 44 lakes, the same set as lakelevelnow.com. High Rock Lake (NC) has no public government feed and returns a clear error.
  • Readings are provisional agency data. CDEC, TWDB and Reclamation publish daily values, so their latest reading is usually yesterday's.
  • USGS keeps about 120 days of 15-minute data. For longer history the server uses USGS daily means where the site publishes them, and TWDB's daily record for Texas lakes. Some gauges return less than 365 days; the result says how many days it covers.
  • Percent full is shown only where the agency publishes storage (CDEC, Reclamation, TWDB).
  • When an agency service is down, the tool returns an error that names the agency and links the lake page, which keeps the last published reading.

Self-hosting and storage

The default build needs no database: upstream readings are cached in memory for 15 minutes (current level) or 1 hour (history).

If you mirror the readings into Postgres, to keep history past the agencies' retention window, we recommend Neon. It is managed Postgres with a free tier, database branching, and scale-to-zero compute. Create a project, set DATABASE_URL, and point your own writer at the upstream APIs listed in DATA_SOURCES.md.

More

Charts, boat ramp context and the paid Lake Level Almanac (decades of daily record and day-of-year normals per lake) are on lakelevelnow.com. The almanac covers 19 of these lakes: lakelevelnow.com/almanac.

Part of the Zovo MCP collection: https://mcp.zovo.one

Development

npm install
npm test            # builds, then runs the fixture tests against saved agency payloads
node scripts/smoke-stdio.mjs   # live stdio check, one real call per tool
npx wrangler deploy            # Cloudflare Worker, Streamable HTTP at /mcp

src/lakes.data.ts is generated from the lakelevelnow.com data by scripts/build-lakes.mjs.

License

MIT

More data servers from the same author

Each one is free, needs no API key and has a hosted URL you can paste into Claude or ChatGPT.

servertoolshosted URL
cups-to-grams-mcpconvert_ingredient, search_ingredients, scale_recipe, convert_oven_temperaturehttps://cups-to-grams-mcp.lipmichal.workers.dev/mcp
dscr-loan-calculator-mcpcalculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summaryhttps://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp
gold-price-per-gram-mcpget_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_unitshttps://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp
minimum-wage-mcpget_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wagehttps://minimum-wage-mcp.lipmichal.workers.dev/mcp
no-tax-on-overtime-mcpcalculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibilityhttps://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp
paycheck-calculator-mcpcalculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_bracketshttps://paycheck-calculator-mcp.lipmichal.workers.dev/mcp
uk-income-tax-salary-mcpcalculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_incomehttps://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp
us-federal-holidays-business-days-mcplist_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_datehttps://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp
ab-test-sample-size-calculator-mcpcalculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_riskhttps://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp
aca-premium-tax-credit-calculator-mcpget_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_caphttps://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp
ap-score-distributions-mcpget_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_compositehttps://ap-score-distributions-mcp.lipmichal.workers.dev/mcp
car-loan-interest-deduction-calculator-mcpcalculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credithttps://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp
estate-gift-tax-exemption-calculator-mcpget_exemption_amounts, calculate_estate_tax, check_gift, compare_yearshttps://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp
recipe-nutrition-calculator-mcplookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutritionhttps://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp
retirement-contribution-limits-2027-mcpget_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_yearshttps://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp
section-179-deduction-calculator-mcpcalculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_paymenthttps://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp
student-loan-repayment-assistance-plan-calculator-mcpcalculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dateshttps://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp
subdomain-finder-mcpfind_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surfacehttps://subdomain-finder-mcp.lipmichal.workers.dev/mcp
uk-statutory-sick-pay-maternity-pay-calculator-mcpcalculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibilityhttps://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp

The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one

Reviews

No reviews yet

Be the first to review this server!