Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/Pondlog EBird

Pondlog EBird

I
by io.github.andrewschristison

eBird MCP server. 21 tools covering eBird API v2: observations, hotspots, checklists, taxonomy.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y @pondlog/[email protected]
Credentials from the publisher
  • EBIRD_API_KEY β€” eBird API key (free at ebird.org/api/keygen)
Provider
Claude Code
EBIRD_API_KEY=<secret> claude mcp add io.github.andrewschristison-pondlog-ebird -- npx -y @pondlog/[email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.andrewschristison-pondlog-ebird": {
      "command": "npx",
      "args": [
        "-y",
        "@pondlog/[email protected]"
      ],
      "env": {
        "EBIRD_API_KEY": "<secret>"
      }
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Pondlog EBird?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Pondlog EBird need an API key?
The publisher lists these environment variables: EBIRD_API_KEY.
What transport does Pondlog EBird use?
Pondlog EBird runs locally over stdio.
When was Pondlog EBird last checked?
Last checked 2026-10-16. eBird MCP server. 21 tools covering eBird API v2: observations, hotspots, checklists, taxonomy.

eBird MCP server. 21 tools covering eBird API v2: observations, hotspots, checklists, taxonomy.

pondlog

Place-aware nature data for developers. What's happening in nature at these coordinates right now?

Pondlog stitches together free public APIs (iNaturalist, eBird, USA-NPN, USGS, Mushroom Observer) plus local astronomy computation (astronomy-engine) and NOAA tides/cloud cover into one data layer with two interfaces:

  • A CLI for humans (pondlog inat nearby --lat 48.118 --lng -123.43)
  • An MCP server per source for AI agents (Claude Desktop, Cursor)

By Andrew Christison.

What's in the box

8 data sources. 7 MCP servers. 1 unified CLI. A ~1000-crop garden planner with USDA hardiness zones and companion-planting graph.

PackagenpmWhat it does
pondlogUnified CLI
@pondlog/coreShared types, Result<T>, rate limiter, USDA zones, crop calendar, companions
@pondlog/source-inaturalistiNaturalist API client
@pondlog/source-ebirdeBird API client (21 endpoints)
@pondlog/source-npnUSA-NPN phenology client
@pondlog/source-usgsUSGS Water Services client
@pondlog/source-nightskyLocal night-sky briefing (astronomy-engine)
@pondlog/source-mushroomobserverMushroom Observer (mycology) client
@pondlog/source-trefleTrefle.io plant taxonomy client
@pondlog/mcp-inaturalistiNaturalist MCP server (9 tools)
@pondlog/mcp-ebirdeBird MCP server (21 tools)
@pondlog/mcp-npnNPN MCP server (8 tools)
@pondlog/mcp-usgsUSGS MCP server (4 tools)
@pondlog/mcp-mushroomobserverMushroom Observer MCP server (5 tools, mycology-first)
@pondlog/mcp-gardenGarden-planning MCP server (8 tools, calendar + zones + companions + Trefle)
@pondlog/mcp-pondlogAggregate MCP server (5 tools, all eight sources)

Status

SourceLibraryCLIMCP
iNaturalistβœ…βœ…βœ…
eBirdβœ…βœ…βœ…
NPN (phenology)βœ…βœ…βœ…
USGS (water)βœ…βœ…βœ…
Mushroom Observer (mycology)βœ…βœ…βœ…
Garden (USDA zones + ~5,000-crop calendar + companions + Trefle)βœ…βœ…βœ…
Night sky (astronomy-engine)βœ…βœ…βœ… (via mcp-pondlog)
Aggregate (pondlog today / mcp-pondlog)n/aβœ…βœ…

Quick start

As an AI agent (MCP)

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

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

Then ask Claude:

What amphibians have been seen near Port Angeles, WA in the last week?

The same JSON works in ~/.cursor/mcp.json for Cursor. Run any MCP server in one command:

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

As a human (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 works on every command for machine output.

Architecture

                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                          β”‚      @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

Source clients do all the work (Zod validation, rate limiting, retry, normalization). The CLI and MCP servers are thin wrappers around them.

Design principles

  • One data layer, two interfaces. Each source is a typed library (Zod-validated, rate-limited, returns Result<T>). The CLI and MCP servers are thin wrappers. No business logic in them.
  • Degrade gracefully. When a source is down, the aggregate still returns whatever else worked, with errors reported in-band.
  • Rate limits respected. Each client throttles itself. Never trust the caller.
  • No keys for what doesn't need them. iNaturalist, NPN, USGS, Mushroom Observer, and the night-sky source all run keyless. Only eBird and Trefle require free keys.
  • Local computation when the data isn't external. Astronomy is pure math; @pondlog/source-nightsky ships zero network calls, zero rate limits, zero failure modes. The garden calendar, zones, and companion graph are bundled JSON, all offline.

Related: CropGraph

CropGraph is a sibling HTTP API exposing the same ~1000-crop planting calendar, USDA hardiness zones, and companion-planting graph used by @pondlog/core and @pondlog/mcp-garden. Use CropGraph when you want the data over HTTP from any language. The schemas are kept in lockstep with this repo.

Contributing

PRs welcome. The build is pnpm-based:

git clone https://github.com/andrewschristison/pondlog.git
cd pondlog
pnpm install
pnpm typecheck
pnpm build
pnpm test
pnpm smoke   # live tests against iNaturalist

Crop calendar / companion-planting data

The crop calendar (packages/core/src/data/crop-calendar.json) and companion graph (packages/core/src/data/companions.json) accept community PRs. Both have JSON Schemas alongside the data:

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

When adding a crop entry, include a per-entry source citing a real extension service (USDA, Cornell, WSU, Oregon State, UMass, UF/IFAS, etc.). When adding a companion edge, include evidence (strong or moderate) and a citation URL. Zod validation runs at module load, so a malformed PR breaks import "@pondlog/core" immediately.

Code

Each package follows a strict pattern documented in docs/METHODOLOGY.md. Source clients always ship before the CLI commands or MCP tools that consume them.

License

MIT. See LICENSE.

How do I install Pondlog EBird?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Pondlog EBird need an API key?
The publisher lists these environment variables: EBIRD_API_KEY.
What transport does Pondlog EBird use?
Pondlog EBird runs locally over stdio.
When was Pondlog EBird last checked?
Last checked 2026-10-16. eBird MCP server. 21 tools covering eBird API v2: observations, hotspots, checklists, taxonomy.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA