eBird
liveScienceBiologyCornell Lab bird sightings — 1B+ observations worldwide, with notable-sighting flags and rich region trees.
5tools
0msauth
free tier50 calls/day
Tools
recent_observationsrequired: region_codeRecent sightings in a region.
Parameters
NameTypeDescription
region_codereqstringeBird region codespecies_codeoptstringOptional species filterbackoptnumber1-30 daysmax_resultsoptnumber1-10000include_provisionaloptbooleanInclude unconfirmedTry it
Response
recent_notablerequired: region_codeRare / out-of-range sightings in a region.
Parameters
NameTypeDescription
region_codereqstringeBird region codebackoptnumber1-30 daysmax_resultsoptnumber1-10000detailoptstringsimple | fullTry it
Response
nearby_observationsrequired: latitude, longitudeSightings within a radius of a lat/lon.
Parameters
NameTypeDescription
latitudereqnumberLatitudelongitudereqnumberLongitudedist_kmoptnumber1-50backoptnumber1-30 daysmax_resultsoptnumber1-10000species_codeoptstringOptional species filterTry it
Response
find_speciesrequired: querySearch eBird taxonomy by common/scientific name.
Parameters
NameTypeDescription
queryreqstringSpecies nameTry it
Response
list_subregionsrequired: region_typeChild regions of a parent.
Parameters
NameTypeDescription
region_typereqstringcountry | subnational1 | subnational2parent_region_codeoptstringParent region (default "world")Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/ebird/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Call a tool
bash
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.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("recent_observations", {"region_code":"example"});ask_pipeworx
// 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");