eBird
liveScienceBiologyCornell Lab bird sightings — 1B+ observations worldwide, with notable-sighting flags and rich region trees.
Tools
recent_observationsrequired: region_codeRecent bird sightings in a region. region_code is the eBird identifier — countries are 2-letter ("US", "GB"), states "US-CA", counties "US-CA-075", and birding hotspots use the "L<id>" code from eBird
region_codereqstringeBird region codespecies_codeoptstringOptional species filterbackoptnumber1-30 daysmax_resultsoptnumber1-10000include_provisionaloptbooleanInclude unconfirmedTry it
recent_notablerequired: region_codeOnly notable (rare / out-of-range / first-of-season) sightings in a region. Sometimes the most interesting subset.
region_codereqstringeBird region codebackoptnumber1-30 daysmax_resultsoptnumber1-10000detailoptstringsimple | fullTry it
nearby_observationsrequired: latitude, longitudeRecent BIRD sightings within a radius of a given latitude/longitude — eBird is a birds-only database and needs numeric lat/lon coordinates (not a place name). Useful for "what birds are around this lo
latitudereqnumberLatitudelongitudereqnumberLongitudedist_kmoptnumber1-50backoptnumber1-30 daysmax_resultsoptnumber1-10000species_codeoptstringOptional species filterTry it
find_speciesrequired: querySearch the eBird taxonomy by common or scientific name. Returns the eBird species code needed by the observation tools.
queryreqstringSpecies nameTry it
list_subregionsrequired: region_typeChild regions of a parent. region_type is "country", "subnational1" (states/provinces), or "subnational2" (counties). parent_region_code uses eBird codes ("world", "US", "US-CA").
region_typereqstringcountry | subnational1 | subnational2parent_region_codeoptstringParent region (default "world")Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/ebird/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/ebird/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"recent_observations","arguments":{"region_code": "example"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("recent_observations", {"region_code":"example"});// Or ask in plain English:
const answer = await px.ask("cornell lab bird sightings — 1b+ observations worldwide, with notable-sighting flags and rich region trees");