Birding Buddy MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XC_API_KEY | No | Your Xeno-canto API key (optional, get from https://xeno-canto.org) | |
| EBIRD_API_KEY | Yes | Your eBird API key (required, get from https://ebird.org/api/keygen) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_recent_observationsC | Get recent bird observations in a region (e.g., US-NY, MX-ROO, CA-ON) |
| get_notable_observationsB | Get rare/unusual bird observations in a region — great for finding rarities |
| get_nearby_observationsB | Get recent observations near a latitude/longitude — useful for 'what birds are near me right now' |
| get_nearby_notable_observationsA | Get rare/unusual observations near a location |
| get_observations_for_speciesC | Get recent observations of a specific species in a region |
| get_nearest_observations_for_speciesB | Find the nearest recent observation of a specific species to a location |
| get_historic_observationsA | Get bird observations from a specific date in history at a region |
| get_hotspots_in_regionA | Get birding hotspots in a region — great for trip planning |
| get_nearby_hotspotsA | Find birding hotspots near a latitude/longitude — perfect for 'where should I bird near here' |
| get_hotspot_infoC | Get detailed info about a specific birding hotspot |
| resolve_hotspotA | Find an eBird hotspot by common name. Returns locId, full name, coordinates, and a direct eBird URL. If multiple matches are found, returns them sorted by distance from your location. |
| get_taxonomyA | Look up bird taxonomy — species codes, scientific names, families. Use 'species' param to look up specific species codes. |
| get_species_listA | Get all species ever recorded in a region — returns species codes |
| get_region_infoB | Get info about an eBird region — name, coordinates, bounds |
| get_sub_regionsA | Get sub-regions of a parent region (e.g., states within a country, counties within a state) |
| resolve_region_codeA | Fuzzy-match a place name to an eBird region code (e.g., 'Quintana Roo' → MX-ROO, 'New York' → US-NY) |
| import_life_listA | Import your eBird life list from a CSV export. Go to https://ebird.org/downloadMyData to get the file. Provide either a file path or paste the CSV content directly. |
| check_life_listA | Check if a species is on your life list. Returns first observation date and country if found. |
| get_life_list_statsA | Get summary statistics about your life list — total species count, breakdown by country, and breakdown by year of first observation |
| get_life_list_gaps_nearbyA | Find birds near you that you've NEVER seen — your potential lifers! Requires life list to be imported first. |
| get_life_list_gaps_at_hotspotA | Find species at a specific hotspot that are NOT on your life list |
| get_hotspots_along_routeA | Find birding hotspots along a driving route between two points — perfect for road trip planning |
| get_hotspot_observationsA | Get recent bird observations at a specific eBird hotspot by location ID. Use resolve_hotspot first if you only have a name. |
| get_recent_checklistsA | Get recent checklists submitted at a hotspot or in a region. Returns subId for each checklist so a specific one can be viewed with view_checklist. Use resolve_hotspot first if you only have a hotspot name. |
| view_checklistA | View the full species list for a specific eBird checklist. The subId can come from get_recent_checklists or directly from observation results which already include subId in their payload — in that case call this directly with no extra queries needed. WARNING: Never call this in a loop or batch across multiple subIds. One call per explicit user request only. |
| get_observation_frequencyB | Estimate how likely a species is to be seen at a location during a specific week — uses historic observation data as a proxy for detection probability |
| get_recording_countsA | Get a summary count of Xeno-canto recordings for a species broken down by quality grade (A=best through E=worst). Use this ONLY after you have already presented a species list to the user and they have confirmed they want recording gap data. Do not call this speculatively. Returns total count and per-grade breakdown. Ideal for identifying which species in a list are underrepresented and would most benefit from new recordings. |
| enrich_species_listA | Append Xeno-canto recording counts and quality grades to an array of species. Call this ONLY after presenting a species list to the user AND receiving explicit confirmation that they want to see recording gap data. This tool makes one API call per species and can be slow for large lists — warn the user if the list exceeds 20 species. For 50 species expect ~10 seconds. Returns the input list sorted by fewest A-grade recordings first, so the highest-priority recording targets appear at the top. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| birding-buddy | Field birding assistant — tool routing, presentation, and workflow instructions |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/woodcreeper/birding-buddy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server