Skip to main content
Glama
eBird MCP Server

eBird MCP Server

by mattjegan

eBird MCP Server

An MCP (Model Context Protocol) server that provides access to the eBird API 2.0.

Setup

1. Get an eBird API Key

Get your API key at: https://ebird.org/api/keygen

2. Install Dependencies

npm install

3. Build

npm run build

4. Configure Claude Code

Add the server to your Claude Code configuration:

claude mcp add ebird -e EBIRD_API_KEY=your_api_key_here -- node /Users/youruser/ebird-mcp/dist/index.js

Or manually add to your Claude Code settings (.claude/settings.json):

{
  "mcpServers": {
    "ebird": {
      "command": "node",
      "args": ["/Users/youruser/ebird-mcp/dist/index.js"],
      "env": {
        "EBIRD_API_KEY": "your_api_key_here"
      }
    }
  }
}

Related MCP server: eBird MCP Server

Available Tools

Observations

Tool

Description

get_recent_observations

Get recent bird observations in a region

get_notable_observations

Get recent notable/rare observations

get_species_observations

Get observations of a specific species

get_nearby_observations

Get observations near a lat/lng

get_nearby_species_observations

Get species observations near a location

get_nearest_species_observations

Find nearest locations with a species

get_nearby_notable_observations

Get notable observations near a location

get_historic_observations

Get observations from a specific date

Products

Tool

Description

get_top_100

Get top 100 contributors on a date

get_recent_checklists

Get recently submitted checklists

get_checklists_on_date

Get checklists from a specific date

get_regional_statistics

Get stats for a region on a date

get_species_list

Get all species recorded in a region

get_checklist

Get details of a specific checklist

Reference Data

Tool

Description

get_adjacent_regions

Get neighboring regions

get_hotspots_in_region

Get birding hotspots in a region

get_nearby_hotspots

Get hotspots near a location

get_hotspot_info

Get info about a specific hotspot

get_taxonomy

Get the eBird taxonomy

get_taxonomic_forms

Get subspecies for a species

get_taxa_locales

Get available language codes

get_taxonomy_versions

Get taxonomy versions

get_taxonomic_groups

Get species groups

get_region_info

Get info about a region

get_sub_regions

Get sub-regions within a region

Region Codes

  • Country: 2-letter code (e.g., US, CA, GB)

  • State/Province: Country-State (e.g., US-NY, CA-BC)

  • County: Country-State-County (e.g., US-NY-109)

  • Location: L-code (e.g., L99381)

Species Codes

Species use 6-letter codes (e.g., cangoo for Canada Goose, barswa for Barn Swallow). Use get_taxonomy to find codes.

Available Tools

25 tools
get_adjacent_regionsC

Get regions that share a border with the specified region.

Inputs: region_code (required).

get_checklistC

Get details of a specific checklist including all observations.

Inputs: sub_id (required).

get_checklists_on_dateC

Get checklists submitted on a specific date.

Inputs: region_code (required), year (required), month (required), day (required), +2 more.

get_historic_observationsC

Get observations from a specific date in history.

Inputs: region_code (required), year (required), month (required), day (required), +7 more.

get_hotspot_infoC

Get information about a specific hotspot.

Inputs: loc_id (required).

get_hotspots_in_regionC

Get birding hotspots in a region.

Inputs: region_code (required), back, fmt.

get_nearby_hotspotsC

Get birding hotspots near a location.

Inputs: lat (required), lng (required), back, dist, +1 more.

get_nearby_notable_observationsC

Get notable/rare observations near a location.

Inputs: lat (required), lng (required), back, detail, +4 more.

get_nearby_observationsC

Get recent observations near a geographic location.

Inputs: lat (required), lng (required), back, cat, +6 more.

get_nearby_species_observationsC

Get recent observations of a specific species near a location.

Inputs: lat (required), lng (required), species_code (required), back, +5 more.

get_nearest_species_observationsB

Find the nearest locations where a species has been seen recently.

Inputs: lat (required), lng (required), species_code (required), back, +5 more.

get_notable_observationsC

Get recent notable/rare bird observations in a region. Notable observations are for locally or nationally rare species.

Inputs: region_code (required), back, detail, hotspot, +2 more.

get_recent_checklistsC

Get the most recently submitted checklists for a region.

Inputs: region_code (required), max_results.

get_recent_observationsA

Get recent bird observations in a region (up to 30 days ago). Returns species, location, date, and count info.

Inputs: region_code (required), back, cat, hotspot, +3 more.

get_regional_statisticsC

Get statistics for a region on a specific date (checklist count, species count, contributor count).

Inputs: region_code (required), year (required), month (required), day (required).

get_region_infoC

Get information about a region including name, bounds, and parent hierarchy.

Inputs: region_code (required), region_name_format, delim.

get_species_listB

Get all species ever recorded in a region (species codes in taxonomic order).

Inputs: region_code (required).

get_species_observationsC

Get recent observations of a specific species in a region.

Inputs: region_code (required), species_code (required), back, hotspot, +3 more.

get_sub_regionsA

Get sub-regions within a parent region. Examples: get_sub_regions('country', 'world') for all countries, get_sub_regions('subnational1', 'US') for US states.

Inputs: region_type (required), parent_region_code (required), fmt.

get_taxa_localesB

Get available language codes for species names.

Inputs: no named parameters.

get_taxonomic_formsC

Get subspecies/forms for a species.

Inputs: species_code (required).

get_taxonomic_groupsB

Get species groups (e.g., 'Waterfowl', 'Raptors').

Inputs: species_grouping, group_name_locale.

get_taxonomyB

Get the eBird taxonomy (list of all species with codes, names, and classification).

Inputs: cat, fmt, locale, species, +1 more.

get_taxonomy_versionsB

Get all available taxonomy versions.

Inputs: no named parameters.

get_top_100C

Get the top 100 contributors on a given date.

Inputs: region_code (required), year (required), month (required), day (required), +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 25 tools

    Disambiguation3/5

    The tools have clear purposes but significant overlap exists, particularly among observation-related tools (e.g., get_nearby_observations, get_recent_observations, get_historic_observations, get_notable_observations) and region-related tools (e.g., get_adjacent_regions, get_sub_regions, get_region_info). Descriptions help differentiate them, but an agent might struggle to choose the most appropriate one in some scenarios.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'get_' as the prefix, making them predictable and easy to parse. There are no deviations in naming style, such as mixed cases or varying verb forms, which enhances readability and usability.

    Tool Count3/5

    With 25 tools, the count is on the higher side for a focused domain like eBird data access, bordering on heavy. While many tools serve distinct functions, the number may overwhelm agents and could indicate potential redundancy or over-specialization in the API surface.

    Completeness5/5

    The tool set provides comprehensive coverage for birding data, including observations, regions, hotspots, checklists, species, and taxonomy. It supports CRUD-like operations for querying and retrieving data across the domain, with no obvious gaps that would hinder agent workflows or cause dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that allows AI assistants to access bird observation data, hotspots, and taxonomy information from eBird.
      22 npm
      8
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Integrates the eBird API with Claude to query bird observation data, including recent sightings, rare bird reports, contributor statistics, hotspot locations, and taxonomy information through natural language.
      6
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An AI-powered birding companion that connects Claude to eBird and Xeno-canto APIs, enabling personalized birding with life list tracking, route-based hotspot discovery, and recording enrichment.
      28
      2
      MIT