Water Conditions

io.github.aybeeare由 GitHub 账号 aybeeare 发布v1.3.0更新于 Nov 1, 2026

Real-time water temperature and tides for 8,000+ locations, by name or lat/long coordinates.

已验证STDIO仅桌面位置与生活数据与分析

概览

AI 生成的概览

本地 MCP 服务器,让助手按地名或经纬度查询 8000 多个湖泊、河流、海洋、海湾和海滩的实时水温与潮汐预报。

可以做什么
  • 按地名或经纬度查询水域状况,坐标输入会自动匹配最近的监测站。
  • 获取湖泊、河流、海洋、海湾和海滩的实时水温与潮汐预报数据。
  • 在地名无法直接匹配时,通过地理编码把地名转换为坐标。
  • 实时读取 NOAA CO-OPS、USGS 和 seatemperature.info 的数据,覆盖北美及主要国际水域。
适用场景
适合让助手回答某个海滩、湖泊、河流或海岸地点的当前水温或潮汐预报,例如用于游泳、钓鱼或出行规划。
运行要求
作为本地进程在用户机器上运行,通过 stdio 使用 PyPI 包 water-conditions-mcp 安装。未声明需要账号、API 密钥、请求头或环境变量。需要网络访问上游数据源。
安装前请注意
README 提到一个仅限所有者使用的查询日志,会记录每次 fishing-guide 请求的渠道、MCP 客户端名称、提问内容、解析结果、结果状态和延迟,并保存在 SQLite 文件中;README 还提到用于读取该日志的 ACTIVITY_API_KEY。数据来自第三方来源,可能延迟或不准确,不要用于安全关键决策。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Water Conditions,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Get real-time water temperature and tide prediction data for any lake, river, ocean, bay, or beach by name or latitude/longitude coordinates. Data sourced live from NOAA CO-OPS, USGS, and seatemperature.info, with automatic nearest-station matching for coordinate inputs. Coverage includes 8,000+ named locations across North America and major international bodies, with string to coordinate geocoding for fallback.

mcp-name: io.github.aybeeare/water-conditions

Roadmap: national sensor network expansion

Today's accuracy hierarchy is USGS/NOAA (real government sensors, ground-truth for the exact station) > seatemperature.info (best-guess aggregator, no known dedicated sensor network, used for everywhere else via geocoding). The plan is to extend the first tier — real sensor networks, wired in the same way as USGS/NOAA — country by country, rather than leaning on the aggregator fallback long-term. Goal: a genuine "super API" blending national sensor networks the way this project already blends USGS + NOAA.

Confirmed and ready to integrate (free, open, no API key required):

  • UK Environment Agency — best next candidate. Hydrology API (river flows/levels/groundwater, ~8,000 stations, 15-min resolution) + Flood Monitoring API (river/tide levels) — same openness and simplicity as USGS/NOAA, Open Government Licence.
  • France SHOM/REFMAR — ~100 real-time tide gauges, Licence Etalab 2.0.

Investigated, more complex integration:

  • Copernicus Marine Service (EU/global sea surface temperature, satellite + in-situ) — free and authoritative, but the bulk data products are scientific-grade (NetCDF via a Python toolbox) rather than simple per-station JSON. Has a REST "In Situ Dashboard" worth a closer look.

Investigated, unclear near-term path:

  • East Asia (Japan JMA/JODC, Korea KMA) — both have relevant agencies, but access looked more fragmented/licensed than the UK case in an initial search (Japan's tide data appears to route through an authorized distributor, not a clean open endpoint). Needs real investigation before committing — not a near-term target.

North America (USGS/NOAA) + Europe (UK EA, France SHOM) covers the current priority footprint well. Everything else stays on the geocoding + seatemperature.info fallback until/unless a specific region's sensor network turns out to be worth the integration effort.

Query log (owner only)

Every /fishing-guide request is logged with its channel (alexa, mcp-http, mcp-stdio or rest), the MCP client name when known, what was asked, what it resolved to, the outcome and the latency. The log is a separate SQLite file (api/query_log.py), not fishing.db, because fishing.db is rebuilt from git on every deploy.

1. One-time setup on Railway

  • Attach a volume to the service (any mount path, e.g. /data). The log goes to $RAILWAY_VOLUME_MOUNT_PATH/query_log.db automatically. Without a volume the log is wiped on every deploy and the server logs a warning at startup.
  • ACTIVITY_API_KEY is already set. Note the value somewhere safe.

2. Read it — open a terminal in this project folder:

powershell
$env:ACTIVITY_API_KEY="your-secret-here"python scripts/activity.py                          # last 7 days: counts + last 50 callspython scripts/activity.py --days 30 --channel alexapython scripts/activity.py --days 3650 --csv query_log.csv   # download every row

The $env: line only needs to be run once per terminal session.

来源:README.md,提交 f2c8c44

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

2
  1. v1.3.0最新Nov 1, 2026
  2. v1.1.0Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。