🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@pondlog/mcp-ebird

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pondlog/mcp-ebird

MCP server for eBird: 21 tools for bird observations, hotspots, checklists, taxonomy, and regions. Stdio transport. Requires EBIRD_API_KEY (free at https://ebird.org/api/keygen).

latest
Source
npmnpm
Version
0.1.5
Version published
Weekly downloads
37
-17.78%
Maintainers
1
Weekly downloads
 
Created
Source

@pondlog/mcp-ebird

A place-aware eBird MCP server. Gives any MCP-aware AI client (Claude Desktop, Cursor, Continue, custom agents) 21 tools covering 100% of the eBird API v2: bird observations (recent, notable, historic), checklists, hotspots, taxonomy, and regions.

Part of pondlog, a toolkit for stitching together public nature APIs (iNaturalist, eBird, USGS, NPN, NOAA, SunCalc).

Setup

eBird requires a free API key:

  • Sign up at eBird (free).
  • Generate a key at ebird.org/api/keygen.
  • Set EBIRD_API_KEY in your shell or pass it via your MCP client's env block (see below).

If EBIRD_API_KEY is missing at startup, the server prints a clear error and exits before binding stdio. Rate-limited internally (100 req/min) with exponential backoff on 429.

Install / run

The server is published to npm and runs via npx (no install step):

EBIRD_API_KEY=<your-key> npx -y @pondlog/mcp-ebird

It speaks MCP over stdio.

Configure

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "pondlog-ebird": {
      "command": "npx",
      "args": ["-y", "@pondlog/mcp-ebird"],
      "env": { "EBIRD_API_KEY": "<your-key>" }
    }
  }
}

Restart Claude Desktop. The 21 tools will appear in the slash menu.

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "pondlog-ebird": {
      "command": "npx",
      "args": ["-y", "@pondlog/mcp-ebird"],
      "env": { "EBIRD_API_KEY": "<your-key>" }
    }
  }
}

MCP Inspector (debug)

EBIRD_API_KEY=<your-key> npx @modelcontextprotocol/inspector npx -y @pondlog/mcp-ebird

Tools

All tools are read-only. Coordinates use WGS84 decimal degrees. Region codes are hierarchical: US (country), US-WA (state/subnational1), US-WA-009 (county/subnational2, Clallam County in this example).

Observations (7)

ToolWhat it does
get_recent_observationsMost-recent sighting per species in a region (last back days).
get_recent_notableRare/unusual sightings in a region.
get_recent_of_speciesRecent sightings of one species in a region.
get_nearby_recentMost-recent sighting per species near coords.
get_nearby_notableRare/unusual sightings near coords.
get_nearby_of_speciesRecent sightings of one species near coords.
get_historic_on_dateObservations in a region on a specific calendar date.

Product (3)

ToolWhat it does
get_recent_checklistsRecently submitted birding checklists for a region.
get_top_100Top 100 eBirders for a region on a date (by species or checklists).
get_checklistFull detail on one checklist by submission ID.

Hotspots (3)

ToolWhat it does
get_hotspots_in_regionAll eBird hotspots in a region.
get_nearby_hotspotsHotspots within radius of coordinates, ranked by species count.
get_hotspot_infoDetail (full hierarchical name, country/state/county) for one hotspot.

Taxonomy (5)

ToolWhat it does
get_taxonomyFull or filtered eBird taxonomy (sci/common name, code, family, taxon order).
get_taxonomic_formsSubspecies and identifiable forms of a species.
get_taxa_localesAvailable locale codes for common names (en, es, fr, ...).
get_taxonomy_versionsList of eBird taxonomy versions with the latest flagged.
get_taxonomic_groupsTaxonomic groups for browsing (eBird-style or Merlin-style).

Regions (3)

ToolWhat it does
get_region_infoDisplay name and bounding box for a region code.
get_sub_regionsImmediate child regions of a parent (countries to states to counties).
get_adjacent_regionsBordering regions (subnational2 only).

Region code glossary

  • Country: 2-letter ISO codes: US, CA, MX, GB, AU...
  • Subnational1 (state/province): <country>-<region>: US-WA, US-CA, CA-ON...
  • Subnational2 (county/equivalent): <country>-<region>-<county>: US-WA-009 (Clallam, WA), US-CA-037 (Los Angeles, CA)...

Use get_sub_regions to discover codes when you only know names.

Example prompts

After configuring, try:

  • What birds have been seen near Port Angeles, WA in the last week?
  • Show me notable / rare sightings in Clallam County right now.
  • Where are the best birding hotspots within 25 km of 48.118, -123.4307?
  • What was seen at eBird checklist S987654321?
  • Look up the eBird species code for "Pacific Wren".
  • Find all subspecies of the Yellow-rumped Warbler.
  • What counties border Clallam County (US-WA-009)?

License

MIT. See the root LICENSE.

Keywords

pondlog

FAQs

Package last updated on 12 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts