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 分

    請在儲存庫或註冊中心條目中宣告授權條款。