mcpField
P
Pondlog USGS Water

Pondlog USGS Water

ローカル
github.com/andrewschristison科学・教育03 週間前に更新

Pondlog USGS Water について

Pondlog USGS Waterは、地点に基づく自然データを扱う開発者やAIエージェント向けの、PondlogのUSGS水データ機能です。型付きクライアント、コマンドライン、MCPサーバーから流量、水位、観測所メタデータを取得できます。

主な機能

  1. 01USGSの河川流量データ
  2. 02水位の測定値
  3. 03観測所メタデータ
  4. 04コマンドラインと型付きクライアント

活用シーン

  1. 01USGS観測所の流量確認
  2. 02水位の測定値の確認
  3. 03観測所の詳細取得

MCP 対応

`@pondlog/mcp-usgs`サーバーは、MCPクライアントにUSGS水データ用の4つのツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"andrewschristison-pondlog-usgs": {
"command": "npx",
"args": [
"-y",
"@pondlog/mcp-usgs"
]
}
}
}
起動コマンドnpx -y @pondlog/mcp-usgs

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@pondlog/mcp-usgs0.1.6

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sitesarrayはい1 回の呼び出しで取得する USGS サイト番号の配列です。ほとんどのクエリでは 1 サイトを指定しますが、API は一括取得に対応しています。
periodstringいいえ現在までの相対時間枠です。デフォルトは 'PT2H'(過去 2 時間、15 分間隔で約 8 件の読み取り値を返します)。'P1D' は約 96 件の読み取り値を返します。
parameter_codesarrayいいえ取得する特定の 5 桁のパラメーターコードです。デフォルトは ['00060', '00065'](流量 + 水位)です。水温などを取得するには ['00010'] を渡します。

詳細

pondlog

開発者向けの場所に基づく自然データです。今、この座標で自然界では何が起きているでしょうか?

pondlog は、無料の公開 API(iNaturalist、eBird、USA-NPN、USGS、Mushroom Observer)に、ローカルでの天文計算 (astronomy-engine)と NOAA の潮汐・雲量データを組み合わせ、2 つのインターフェースを備えたデータレイヤーを提供します。

  • 人向けの CLI(pondlog inat nearby --lat 48.118 --lng -123.43)
  • AI エージェント(Claude Desktop、Cursor)向けのソースごとの MCP サーバー

Andrew Christison によるプロジェクトです。

内容

8 つのデータソース。7 つの MCP サーバー。1 つの統合 CLI。USDA 耐寒性ゾーンとコンパニオンプランティングのグラフを備えた、約 1000 種の作物に対応するガーデンプランナーです。

パッケージnpm機能
pondlognpm統合 CLI
@pondlog/corenpm共通型、Result<T>、レートリミッター、USDA ゾーン、作物カレンダー、コンパニオンプランツ
@pondlog/source-inaturalistnpmiNaturalist API クライアント
@pondlog/source-ebirdnpmeBird API クライアント(21 個のエンドポイント)
@pondlog/source-npnnpmUSA-NPN フェノロジークライアント
@pondlog/source-usgsnpmUSGS Water Services クライアント
@pondlog/source-nightskynpmローカルの夜空ブリーフィング(astronomy-engine)
@pondlog/source-mushroomobservernpmMushroom Observer(菌類学)クライアント
@pondlog/source-treflenpmTrefle.io 植物分類クライアント
@pondlog/mcp-inaturalistnpmiNaturalist MCP サーバー(9 個のツール)
@pondlog/mcp-ebirdnpmeBird MCP サーバー(21 個のツール)
@pondlog/mcp-npnnpmNPN MCP サーバー(8 個のツール)
@pondlog/mcp-usgsnpmUSGS MCP サーバー(4 個のツール)
@pondlog/mcp-mushroomobservernpmMushroom Observer MCP サーバー(5 個のツール、菌類学を重視)
@pondlog/mcp-gardennpmガーデンプランニング MCP サーバー(8 個のツール、カレンダー+ゾーン+コンパニオンプランツ+Trefle)
@pondlog/mcp-pondlognpm集約 MCP サーバー(5 個のツール、8 つすべてのデータソース)

ステータス

ソースライブラリCLIMCP
iNaturalist✅✅✅
eBird✅✅✅
NPN(フェノロジー)✅✅✅
USGS(水質)✅✅✅
Mushroom Observer(菌類学)✅✅✅
Garden(USDA ゾーン+約5,000作物のカレンダー+コンパニオンプランツ+Trefle)✅✅✅
夜空(astronomy-engine)✅✅✅(mcp-pondlog 経由)
集約(pondlog today / mcp-pondlog)該当なし✅✅

クイックスタート

AI エージェントとして(MCP)

Claude Desktop の設定に追加します (macOS では ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "pondlog-inaturalist": {
      "command": "npx",
      "args": ["-y", "@pondlog/mcp-inaturalist"]
    }
  }
}

次のように Claude に尋ねます:

過去1週間に、WA州ポートエンジェルス付近で目撃された両生類はいますか?

同じ JSON は、Cursor の ~/.cursor/mcp.json でも使用できます。任意の MCP サーバーを1つのコマンドで実行できます:

npx -y @pondlog/mcp-inaturalist          # no key
npx -y @pondlog/mcp-garden               # offline garden tools
EBIRD_API_KEY=... npx -y @pondlog/mcp-ebird
npx -y @pondlog/mcp-pondlog              # aggregate of all eight sources
人間として(CLI)
npm install -g pondlog
pondlog config set-location --lat 48.118 --lng -123.4307 --name "Port Angeles"
pondlog today                          # unified briefing
pondlog inat nearby
pondlog ebird notable
pondlog npn active
pondlog usgs flow --site 12045500
pondlog nightsky                       # tonight's curated briefing
pondlog garden now                     # what to plant this week

すべてのコマンドで、機械処理用の出力に --json を使用できます。

アーキテクチャ

                          ┌─────────────────────────┐
                          │      @pondlog/core      │
                          │  types, Result<T>,      │
                          │  RateLimiter, withRetry,│
                          │  USDA zones, crops,     │
                          │  companion graph        │
                          └────────────┬────────────┘
                                       │
        ┌──────────┬──────────┬────────┼─────────┬──────────┬──────────┐
        ▼          ▼          ▼        ▼         ▼          ▼          ▼
 source-inat  source-ebird  source-npn  source-usgs  source-mo  source-trefle  source-nightsky
        │          │          │        │         │          │          │
        └──────────┴──────────┴────────┼─────────┴──────────┴──────────┘
                                       │
                  ┌────────────────────┴────────────────────┐
                  ▼                                         ▼
            pondlog (CLI)                       7 × @pondlog/mcp-* servers
            ├─ pondlog today (aggregate)         ├─ mcp-inaturalist
            ├─ pondlog inat/ebird/...             ├─ mcp-ebird
            └─ pondlog garden/nightsky            ├─ mcp-npn / mcp-usgs
                                                  ├─ mcp-mushroomobserver
                                                  ├─ mcp-garden
                                                  └─ mcp-pondlog  ◀── aggregate

ソースクライアントがすべての処理(Zod による検証、レート制限、再試行、正規化)を行います。CLI と MCP サーバーは、その薄いラッパーです。

設計原則

  • データレイヤーは1つ、インターフェースは2つ。 各ソースは型付きライブラリです(Zod による検証、レート制限を備え、Result<T> を返します)。CLI と MCP サーバーは薄いラッパーです。そこにビジネスロジックはありません。
  • 障害があっても適切に処理します。 ソースが停止している場合でも、集約処理は他に正常に動作したソースの結果を返し、エラーも結果に含めて報告します。
  • レート制限を遵守します。 各クライアントが自身のリクエストを調整します。呼び出し元を信用してはいけません。
  • 不要なキーは求めません。 iNaturalist、NPN、USGS、Mushroom Observer、夜空のソースはすべてキーなしで動作します。無料キーが必要なのは eBird と Trefle だけです。
  • データが外部にない場合はローカルで計算します。 天文学は純粋な数学です。@pondlog/source-nightsky はネットワーク呼び出しも、レート制限も、障害要因も一切ありません。庭のカレンダー、ゾーン、コンパニオンプランツのグラフは JSON に同梱されており、すべてオフラインで利用できます。

関連プロジェクト:CropGraph

CropGraph は、@pondlog/core と @pondlog/mcp-garden で使用されている約1,000作物の栽培カレンダー、USDA 耐寒性ゾーン、コンパニオンプランツのグラフと同じデータを公開する姉妹 HTTP API です。任意の言語から HTTP 経由でデータを取得する場合は CropGraph をご利用ください。スキーマはこのリポジトリと常に同期されています。

コントリビュート

PR を歓迎します。ビルドには pnpm を使用します:

git clone https://github.com/andrewschristison/pondlog.git
cd pondlog
pnpm install
pnpm typecheck
pnpm build
pnpm test
pnpm smoke   # live tests against iNaturalist
作物カレンダー/コンパニオンプランツのデータ

作物カレンダー(packages/core/src/data/crop-calendar.json)とコンパニオングラフ(packages/core/src/data/companions.json)へのコミュニティからの PR を受け付けています。どちらにも、データとともに JSON Schema が用意されています:

  • packages/core/src/data/crop-calendar.schema.json
  • packages/core/src/data/companions.schema.json

作物のエントリーを追加する場合は、実在する普及機関(USDA、Cornell、WSU、Oregon State、UMass、UF/IFAS など)を引用する source をエントリーごとに記載してください。コンパニオンの関連を追加する場合は、evidence(strong または moderate)と citation URL を記載してください。Zod による検証はモジュールの読み込み時に実行されるため、不正な PR があると import "@pondlog/core" は直ちに失敗します。

コード

各パッケージは、docs/METHODOLOGY.md に記載されている厳格なパターンに従います。ソースクライアントは、それを使用する CLI コマンドや MCP ツールより先に提供されます。

ライセンス

MIT。詳細は LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。