mcpField
P
Pondlog eBird

Pondlog eBird

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

Pondlog eBird について

Pondlog eBirdは、AIエージェント経由で鳥類データを調べるためのeBird MCPサーバーです。21個のツールでeBird API v2の観察記録、ホットスポット、チェックリスト、分類情報を扱います。

主な機能

  1. 0121個のeBirdツール
  2. 02鳥類の観察記録を検索
  3. 03バードウォッチングのスポットを検索
  4. 04チェックリストと分類情報にアクセス

活用シーン

  1. 01指定地点周辺の鳥類記録を検索
  2. 02地域の観察スポットを探す
  3. 03鳥類のチェックリストと分類情報を確認

MCP 対応

eBird API v2の観察記録、スポット、チェックリスト、分類情報を検索するツールをMCPクライアントに公開します。利用にはeBird APIキーが必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"andrewschristison-pondlog-ebird": {
"command": "npx",
"args": [
"-y",
"@pondlog/mcp-ebird"
],
"env": {
"EBIRD_API_KEY": "<EBIRD_API_KEY>"
}
}
}
}
起動コマンドnpx -y @pondlog/mcp-ebird
設定が必要な環境変数
EBIRD_API_KEYシークレットeBird API key (free at ebird.org/api/keygen)

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

パッケージ
npm@pondlog/mcp-ebird0.1.5

ツール

21

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

パラメーター型必須説明
ranyいいえ指定した eBird locIds(単一または配列)に限定します。設定すると、結果はこれらの場所に絞り込まれます。`get_hotspots_in_region` でホットスポットの locId をすでに取得している場合に便利です。
catenumいいえ分類カテゴリで絞り込みます:species(通常の鳥類のデフォルトカテゴリ)、issf(亜種)、hybrid(雑種)、form(型)、intergrade(移行型)、domestic(逸走/野生化)、slash(2 種のどちらか不明)、spuh(種まで特定できない)。domestic | form | hybrid | intergrade | issf | slash | species | spuh
backintegerいいえ期間(日数)。今日から遡って数えます。eBird の上限は 30 日です。デフォルトは 14 日(eBird API のデフォルト値)です。
hotspotbooleanいいえtrue の場合、eBird のホットスポットのみを対象とします(個人/非公開の場所は除外)。デフォルトは false です。
spp_localestringいいえ一般名のロケールコード。例:"en"(英語)、"es"(スペイン語)、"fr"(フランス語)。対応ロケールの一覧には `get_taxa_locales` を使用します。デフォルトは "en" です。
max_resultsintegerいいえ最大結果数。1〜10000。デフォルトでは一致する結果をすべて返します。
region_codestringはいeBird の地域コード。eBird の地域コードは階層構造です。国(例:"US"、"CA")、subnational1 = 州/県(例:"US-WA")、subnational2 = 郡/相当する行政区(ワシントン州クララム郡の例:"US-WA-009")。範囲を絞るには、より具体的なコードを使用します。
include_provisionalbooleanいいえtrue の場合、未審査(暫定)の観察記録を含めます。デフォルトは false です。暫定記録は、後で審査担当者によってフラグ付けまたは修正される場合があります。

詳細

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 つのサーバーを複数のクライアントで再利用できます。