Skip to content
Agentmart
Submit a tool

Pondlog eBird

eBird MCP server.

Connector by andrewschristison · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/andrewschristison-pondlog-ebird

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
50 read · 0 write · 0 deleteRead-only
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 50

Read from the source code; the running server may list different tools.

Read 50 · Look things up without changing anything.

  • get_active_phenology_nearby
  • get_adjacent_regions
  • get_checklist
  • get_daily_values
  • get_historic_on_date
  • get_hotspot_info
  • get_hotspots_in_region
  • get_iconic_taxa_summary
  • get_instantaneous_values
  • get_nature_briefing
  • get_nearby_hotspots
  • get_nearby_notable
Show 38 more tools
  • get_nearby_observations
  • get_nearby_of_species
  • get_nearby_recent
  • get_nearby_wildlife
  • get_observation
  • get_observations
  • get_observers
  • get_phenology
  • get_recent_checklists
  • get_recent_fungi
  • get_recent_notable
  • get_recent_observations
  • get_recent_of_species
  • get_region_info
  • get_site_info
  • get_site_level_data
  • get_species_counts
  • get_station_count_by_state
  • get_stations_by_location
  • get_stations_in_state
  • get_stations_with_species
  • get_sub_regions
  • get_taxa_locales
  • get_taxon
  • get_taxonomic_forms
  • get_taxonomic_groups
  • get_taxonomy
  • get_taxonomy_versions
  • get_tonight_sky
  • get_top_100
  • get_water_conditions
  • search_fungal_names
  • search_observations
  • search_places
  • search_regions
  • search_sites
  • search_species
  • search_taxa

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • EBIRD_API_KEY

Tools (50)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • get_active_phenology_nearbyRecently Recorded Phenology Near Coordinatesread-only

    Place-aware shortcut: 'what phenology has been recorded near these coordinates?' Composes a WKT bounding box from coords+radius, finds NPN stations inside, haversine-filters to true radius, and returns the closest stations' site-level phenometric records over the requested years (sorted by most-recent meanLastYesDate). Each entry includes `distanceKm` from the query point. Note: NPN station coverage is patchy. Eastern US and Arizona are dense; the Pacific Northwest is sparser. Use `get_station_count_by_state` to gauge regional coverage. For raw observation records, use `get_observations`. For …

  • get_adjacent_regionsAdjacent Regions (subnational2 only)read-only

    Returns regions adjacent to a given region. eBird only supports adjacency for subnational2 codes (counties or equivalents), e.g. "US-WA-009" returns its bordering counties. Calling with country or subnational1 codes returns an empty list or error.

  • get_checklistView a Single eBird Checklistread-only

    Fetches a single eBird checklist by submission ID with full detail: location, observer, date/time, duration, distance, number of observers, and the full list of species seen with counts. Use after `get_recent_checklists` returns a subId the caller wants to drill into, or when the caller pastes a checklist URL.

  • get_daily_valuesDaily USGS Streamflow Statistics (Current or Historic)read-only

    Daily statistics (default: mean) for one or more USGS gauges. Use this for any query that crosses days or asks about historic dates. Pass either `period` (relative-to-now) OR `start_date`/`end_date` (historic range), not both. For real-time sub-hour resolution prefer `get_instantaneous_values`. Returns one daily value per (site × parameter × statistic × day). USGS quality codes: 'A' = approved, 'P' = provisional.

  • get_historic_on_dateBird Observations on a Specific Date in a Regionread-only

    Returns observations recorded in an eBird region on a specific calendar date. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Note: state-level historic queries can return thousands of rows and be slow, prefer county scope (subnational2) for narrower results.

  • get_hotspot_infoHotspot Detail by locIdread-only

    Fetches detailed info for a single hotspot: full hierarchical name (e.g. "Ediz Hook, Clallam County, Washington, US"), country/state/county codes, coordinates, isHotspot flag. Use after `get_hotspots_in_region` or `get_nearby_hotspots` returns a locId the caller wants more context on.

  • get_hotspots_in_regionBirding Hotspots in a Regionread-only

    Returns all eBird hotspots in a region, with locId, name, coordinates, all-time species count, and last observation date. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Use to enumerate every hotspot in a county/state. For coords-scoped (within a radius of a point), use `get_nearby_hotspots`. For full hierarchical info on one hotspot, use `get_hotspot_info`.

  • get_iconic_taxa_summaryIconic Taxa Summary at a Locationread-only

    Returns a high-level breakdown of recent activity grouped by iconic taxa group (Aves, Amphibia, Mammalia, etc.). For each group, returns the total observation count and the top 5 species by count. Useful for at-a-glance summaries. Aves = birds; Amphibia = frogs, salamanders, newts; Mammalia = mammals; Reptilia = reptiles; Insecta = insects; Arachnida = spiders, scorpions, mites; Mollusca = snails, slugs, clams, octopuses; Plantae = plants; Fungi = fungi, lichens; Actinopterygii = ray-finned fish; Animalia = catch-all animal kingdom (use only when others don't fit); Protozoa, Chromista = micros…

  • get_instantaneous_valuesReal-Time USGS Streamflow / Gage Heightread-only

    Real-time readings (typically 15-minute cadence) from a USGS gauge. Returns one or more time series, by default discharge (00060, ft³/s) and gage height (00065, ft), over a relative period ending now. Use this to answer 'what is the river doing right now?'. USGS rejects historic dates on this endpoint; for past data use `get_daily_values` with start_date/end_date instead. For a 'what gauges exist near here?' first-step query use `search_sites`.

  • get_nature_briefingPlace-Aware Nature Briefingread-only

    Returns a complete nature briefing for a location, birds, wildlife, fungi, plants, tides, streamflow, night sky, and phenology stitched from seven data sources (iNaturalist, eBird, Mushroom Observer, NOAA, USGS, NPN, astronomy-engine) into one response. All seven sources are fetched in parallel; partial failures are reported in the `errors` array without crashing the briefing. This is the primary tool: one call replaces seven API integrations. For drilling into a single area, prefer the focused tools `get_nearby_wildlife`, `get_water_conditions`, `get_tonight_sky`, or `get_phenology`. Tides re…

  • get_nearby_hotspotsBirding Hotspots Near Coordinatesread-only

    Returns birding hotspots within `dist` km of a lat/lng, ranked by all-time species count. Each row: locId, name, coordinates, species count, last activity date. Use to find places to go birding near a point. For region-scoped, use `get_hotspots_in_region`.

  • get_nearby_notableRecent Notable / Rare Sightings Near Coordinatesread-only

    Returns notable (rare/unusual) sightings within `dist` km of a lat/lng over the last `back` days. "Notable" is determined by eBird reviewers using regional rarity filters. Use for hyper-local rare-bird alerts. For region-scoped notables, use `get_recent_notable`.

  • get_nearby_observationsGet Nearby iNaturalist Observationsread-only

    Convenience tool for the most common query: 'what wildlife has been seen near these coordinates recently?' Returns up to 50 observations within `radius_km` over the last `days` days, ordered by observation date. For more control (taxon filters, date ranges, sort order), use `search_observations` instead.

  • get_nearby_of_speciesRecent Sightings of a Species Near Coordinatesread-only

    Returns recent sightings of one species within `dist` km of a lat/lng. Each row is an individual sighting (not deduplicated). Use when the caller names a species and wants nearby sightings. For region-scoped, use `get_recent_of_species`.

  • get_nearby_recentRecent Bird Observations Near Coordinatesread-only

    Returns the most recent observation of each species within `dist` km of a lat/lng over the last `back` days. eBird deduplicates server-side (one row per species, most recent). Use for coords-scoped 'what's been seen near me' queries. For region-scoped, use `get_recent_observations`.

Show 35 more tools
  • get_nearby_wildlifeNearby Wildlife (iNaturalist + eBird)read-only

    Combined feed of recent wildlife sightings near a location. Merges iNaturalist observations (all taxa, citizen-science) with eBird observations (birds, expert-curated) into one chronologically-sorted list. Use this when the caller asks 'what's been seen near me' without specifying birds-only or invertebrates-only. For finer control (taxon filters, date ranges) use the per-source MCP servers (`@pondlog/mcp-inaturalist`, `@pondlog/mcp-ebird`). eBird requires a free API key (EBIRD_API_KEY env var or `ebird_api_key` input). Without it, only the iNaturalist half populates and an `ebird` entry appea…

  • get_observationGet iNaturalist Observation Detailread-only

    Fetch a single observation by its iNaturalist ID, with full detail: photos, description, identification count, comment count, plus all the fields from the search response. Use after `search_observations` returns a result the caller wants to drill into.

  • get_observationsGet USA-NPN Phenology Status/Intensity Recordsread-only

    Status / intensity observation records, individual observer reports of whether a phenophase was 'yes' (1), 'no' (0), or 'uncertain' (-1) on a given date. This is the rawest NPN data type. REQUIRES a year filter and at least one narrowing filter (species/station/state/genus/family/order/class). Unfiltered queries can return tens of MB. For 'is this in phenology now?' aggregated answers prefer `get_site_level_data`. For a place-aware 'what's recently active' shortcut prefer `get_active_phenology_nearby`.

  • get_observersTop iNaturalist Observers at a Locationread-only

    Returns the top observers (most prolific iNaturalist users) for a given geographic + temporal query. Each row: user id, login, display name, observation count, species count. Use this to find local naturalists or to credit who is documenting an area.

  • get_phenologyActive Phenology Nearby (USA-NPN)read-only

    Returns USA-NPN site-level phenometric records near a location: which species/phenophases (e.g. 'Flowers or flower buds', 'Open flowers', 'Ripe fruits') have been recorded at NPN stations within radius, with mean first/last 'yes' dates and distance. Useful for 'what's blooming near me' or 'what's leafing out'. Coverage is best in the continental US. NPN's bulk-download endpoint is intentionally not exposed, this composes a station search + site-level query for a polite, bandwidth-friendly answer. No API key required.

  • get_recent_checklistsRecent Checklists Submitted in a Regionread-only

    Returns recent eBird checklists (birding submissions) for a region, with submission ID, location, observer, observation date/time, and species count per checklist. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Use this to see who has been birding where, recently. Drill into a specific checklist with `get_checklist`.

  • get_recent_fungiRecent Fungi Observations Near a Locationread-only

    Place-aware shortcut: 'what fungi have been observed near here in the last N days?' Provide either bbox (lat+lng+radius_km) OR an MO region suffix string. Returns observations sorted by date with consensus name, confidence score, location, and photo URL. This is the recommended starting tool for any 'what's fruiting?' question. Pages through MO results internally to fill the requested limit. For taxonomy lookup use `search_fungal_names`. For a single record's full detail use `get_observation`. For richer filtering (taxon name, date range) use `search_observations`.

  • get_recent_notableRecent Notable / Rare Sightings in a Regionread-only

    Returns recent notable (rare or out-of-range) bird sightings in an eBird region. "Notable" is determined by eBird reviewers using regional rarity filters, a Mountain Bluebird in coastal Washington might be notable; a Crow is not. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Use this when the caller asks for unusual / rare / interesting sightings. For all recent species (not just notable), use `get_recent_observa…

  • get_recent_observationsRecent Bird Observations in a Regionread-only

    Returns the most recent observation of each species seen in an eBird region in the last `back` days. Each row is one species (eBird deduplicates server-side: most recent sighting per species). Each row includes species code, common + scientific name, location, observer, count, and date. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Use this for region-scoped queries ('what birds have been seen in Clallam County t…

  • get_recent_of_speciesRecent Sightings of a Specific Species in a Regionread-only

    Returns recent sightings of one species in an eBird region. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Returns each individual sighting (not deduplicated like `get_recent_observations`), including count, location, observer, and date. Use when the caller names a specific species and wants every recent sighting in a region. For coords-scoped, use `get_nearby_of_species`.

  • get_region_infoRegion Info (name, bounds)read-only

    Returns the human-readable name and geographic bounds for an eBird region code. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Output: `result` (display name like "Clallam, Washington, United States") and `bounds` (minX/maxX/minY/maxY = lng/lat extent). Use to convert an opaque region code into a readable name, or to get the bounding box of a region.

  • get_site_infoUSGS Gauge Site Metadataread-only

    Returns metadata for a single USGS gauging station: official name, coordinates, site type (stream/lake/groundwater/etc.), hydrologic unit (HUC), state/county codes, and gauge altitude. Use after `search_sites` finds candidate gauges, or to confirm a site number returned in someone's data.

  • get_site_level_dataGet USA-NPN Site-Level Phenometric Summariesread-only

    Per-site phenometric aggregates: for each (site, species, phenophase, year), returns the mean first/last 'yes' date (when phenophase began and ended on average across observed individuals). This is the right granularity for 'when do magnolias typically bloom in WA?', much smaller than `get_observations`. REQUIRES a year filter and at least one of species_ids/station_ids/states. Site-level dates are returned as both julian-day (mean*Julian) and ISO date (mean*Date). Sample size fields (firstYesSampleSize, lastYesSampleSize) tell you how many individuals contributed to the mean.

  • get_species_countsiNaturalist Species Counts at a Locationread-only

    Returns a count of observations per species for a geographic + temporal query. Each row: taxon name, common name, iconic group, observation count. Use this for 'what species have been seen here' rather than 'show me each individual sighting'. For a higher-level summary grouped by iconic taxa, use `get_iconic_taxa_summary` instead.

  • get_station_count_by_stateUSA-NPN Station Count by Stateread-only

    Returns the number of USA-NPN stations per US state (a quick map of NPN's geographic coverage). Useful for deciding which state to query for phenology data, eastern US states (NY, MA, ME) and Arizona have the densest coverage; Pacific Northwest is sparser.

  • get_stations_by_locationFind NPN Stations Inside a WKT Polygonread-only

    Returns NPN stations inside a Well-Known Text polygon. NPN's spatial filter is WKT-based, not lat/lng/radius. WKT format example: 'POLYGON((-123.7 47.9, -123.0 47.9, -123.0 48.3, -123.7 48.3, -123.7 47.9))', coordinate pairs are 'lng lat', the polygon must close (first point repeated as last). For most use cases prefer `get_active_phenology_nearby` which builds the WKT from coords + radius internally.

  • get_stations_in_stateList NPN Stations in a US Stateread-only

    List all USA-NPN observation stations in a given US state. Returns each station's NPN station_id, name, coordinates, and (when applicable) network ID. Pass `state_code` to narrow. NPN's unfiltered list is ~50,000 stations. Use station_ids returned here to filter `get_observations` or `get_site_level_data`.

  • get_stations_with_speciesFind NPN Stations Observing Specific Speciesread-only

    Returns all NPN stations that have observations for any of the given species. Use to answer 'where in the US can I find phenology data for saguaro?' Note: due to a known upstream NPN bug, some species (notably species_id=3, red maple) return an empty result; the tool surfaces these as empty arrays rather than errors.

  • get_sub_regionsSub-regions of a Parent Regionread-only

    Enumerates the immediate child regions of a parent. Pair `region_type` with `parent_region_code`: for `country`, parent must be "world"; for `subnational1`, parent must be a country code (e.g. "US"); for `subnational2`, parent must be a subnational1 code (e.g. "US-WA"). Use to discover region codes when the caller names a place but doesn't know the code.

  • get_taxa_localesAvailable Common-Name Localesread-only

    Returns the full list of locale codes eBird supports for common names (en, es, fr, de, etc.) with their human-readable names and last-updated dates. Use to discover which locales are valid before passing them to other tools.

  • get_taxonGet iNaturalist Taxon Detailread-only

    Fetch a single taxon by ID, with full detail: ancestry chain, Wikipedia URL, total observations count, default photo. Use after `search_taxa` to drill into a specific match.

  • get_taxonomic_formsSubspecies / Forms of a Speciesread-only

    Returns the recognized subspecies and identifiable forms (issf entries) of a given species. Returns a list of subspecies species codes that resolve under the parent species. Use to enumerate variants when the parent species code is known.

  • get_taxonomic_groupsTaxonomic Groups for Browsingread-only

    Returns species groupings used to organize the taxonomy for human browsing. Two flavors: "ebird" returns standard taxonomic-order groups (waterfowl, shorebirds, raptors, etc.); "merlin" returns life-list-style groups used in the Merlin Bird ID app.

  • get_taxonomyeBird Taxonomy (full or filtered)read-only

    Returns eBird's taxonomy entries: scientific name, common name, species code, category (species/issf/hybrid/etc.), taxon order, family. Useful for looking up a species code by name, or browsing the full eBird taxonomy. Filter via `cat` (categories) or `species` (specific codes) to avoid downloading the entire taxonomy (~17k entries).

  • get_taxonomy_versionseBird Taxonomy Versionsread-only

    Returns the list of eBird taxonomy versions (typically annual: 2024, 2023, 2022...) with a flag marking the latest. Use when you need a specific historical taxonomy version, or to confirm the current version for stable processing pipelines.

  • get_tonight_skyTonight's Sky (Sun, Moon, Planets, Meteors, Constellations)read-only

    Returns a full night-sky briefing for a location: sun times (sunrise/sunset/civil/nautical/astronomical twilight, golden hour), moon phase + illumination + rise/set, dark-sky window with 1-5 quality score, currently-visible planets with magnitude and compass direction, active and upcoming meteor showers, and top visible constellations. Pure local computation via astronomy-engine, no network call, no API key, never rate-limited. Always works for valid coordinates.

  • get_top_100Top 100 eBirders in a Region on a Dateread-only

    Returns the top 100 eBirders for a region on a specific date, ranked by most species seen or most checklists submitted. eBird region codes are hierarchical: country (e.g. "US", "CA"), subnational1 = state/province (e.g. "US-WA"), subnational2 = county/equivalent (e.g. "US-WA-009" for Clallam County, WA). Use a more specific code for tighter scope. Returns user display name, profile handle, species count, and checklist count.

  • get_water_conditionsWater Conditions (USGS Streamflow + NOAA Tides)read-only

    Returns current streamflow (USGS instantaneous values: discharge cfs and gage height ft) plus tide predictions (NOAA CO-OPS, high/low for the date). Both keys are always present in the response, `streamflow: null` when no USGS site is configured, `tides: null` when no NOAA station is configured. Failures populate `errors[]`. Pass `noaa_station` and `usgs_site` per call, or set NOAA_STATION and USGS_SITE env vars at server startup. Neither requires an API key.

  • search_fungal_namesSearch Mushroom Observer Fungal Name Indexread-only

    Search Mushroom Observer's fungal taxonomy by substring. Returns scientific names with author citation, taxonomic rank, full classification (kingdom › phylum › class › order › family), deprecation status, and a link to the MO name page. Use this to translate vernacular interest ('chanterelles') into MO scientific names ('Cantharellus'), to disambiguate between species in a genus, or to confirm whether a name is current vs. deprecated. Mushroom Observer's name index covers 100,000+ fungal names including many synonyms and historical combinations.

  • search_observationsSearch iNaturalist Observationsread-only

    Search recent iNaturalist observations with rich filters: geographic radius, taxon, iconic group, date range, and quality grade. Returns up to `per_page` normalized observations (species name, observer, place, observed date, coordinates, URL). Use this when the caller asks for specific kinds of observations ('show me bird sightings near Olympic National Park last month'). For a simple 'what's nearby' query, prefer `get_nearby_observations`. For aggregate counts, prefer `get_species_counts`.

  • search_placesSearch iNaturalist Placesread-only

    Look up an iNaturalist 'place' (named region: park, county, country, etc.) by name. Returns up to 10 matches with id, display name, and (when available) coordinates. Use to convert a place name into a `place_id` you can pass to `search_observations` or `get_species_counts`.

  • search_regionsDiscover Mushroom Observer Region/Location Namesread-only

    Mushroom Observer's geography is a flat list of comma-separated location names ending in a country (e.g. 'Cape Alava Trail, Olympic National Park, Clallam Co., Washington, USA'). MO's `/locations` endpoint has NO name filter, so this tool runs an observations search with the suffix and harvests unique location-name strings from the results, with per-name observation counts. Use to discover well-formed region suffixes before calling `search_observations` or `get_recent_fungi` with a `region` filter. Try broad-to-narrow: 'Washington, USA' → 'Clallam Co., Washington, USA' → 'Olympic National Park…

  • search_sitesFind USGS Gauge Sites Near a Locationread-only

    Find active USGS stream-gauge sites by either (a) latitude/longitude/radius_km, or (b) US state postal code. Returns site numbers, names, coordinates, HUC, and altitude, feed the resulting site numbers into `get_instantaneous_values` or `get_daily_values`. Defaults filter to surface-water streams (siteType=ST) with real-time data (hasDataTypeCd=iv); pass site_type/has_data_type to override. Pass either lat+lng+radius_km OR state_code; the lat/lng path is preferred for place-aware queries.

  • search_speciesSearch USA-NPN Species Catalogread-only

    Search the USA-NPN species catalog (~1,900 species). Returns matching species with NPN species_id, scientific name, common name, kingdom (Plantae/Animalia/Fungi). Use this first to look up a species_id before calling other tools that take species filters. All filters are case-insensitive. Filters compound: passing query + kingdom narrows further.

  • search_taxaSearch iNaturalist Taxaread-only

    Search the iNaturalist taxonomy by name (common or scientific). Returns up to 30 matching taxa with id, scientific name, common name, rank (species/genus/family/etc.), and iconic group. Use this to look up a taxon ID before passing it to other tools, or to confirm a species is in iNat's taxonomy.

Signals

Stars
0
Forks
0
Open issues
1
Last commit
Oct 9, 2026 (19 days ago)
Last release
Oct 9, 2026 (19 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.andrewschristison/pondlog-ebird
Version
0.1.6-1
Auth
API key
Packages
npm @pondlog/mcp-ebird
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from andrewschristison

Cite this page

Pondlog eBird MCP server. Agent Mart. https://agentmart.dev/connectors/andrewschristison-pondlog-ebird (last updated 2026-10-25)