eBird
live ScienceBiodiversityCornell Lab bird sightings — 1B+ observations worldwide, with notable-sighting flags and rich region trees.
5 tools
0ms auth
free tier 50 calls/day
Tools
recent_observations
required: region_code Recent sightings in a region.
Parameters
Name Type Description
region_code req string eBird region code species_code opt string Optional species filter back opt number 1-30 days max_results opt number 1-10000 include_provisional opt boolean Include unconfirmed Try it
Response
recent_notable
required: region_code Rare / out-of-range sightings in a region.
Parameters
Name Type Description
region_code req string eBird region code back opt number 1-30 days max_results opt number 1-10000 detail opt string simple | full Try it
Response
nearby_observations
required: latitude, longitude Sightings within a radius of a lat/lon.
Parameters
Name Type Description
latitude req number Latitude longitude req number Longitude dist_km opt number 1-50 back opt number 1-30 days max_results opt number 1-10000 species_code opt string Optional species filter Try it
Response
find_species
required: query Search eBird taxonomy by common/scientific name.
Parameters
Name Type Description
query req string Species name Try it
Response
list_subregions
required: region_type Child regions of a parent.
Parameters
Name Type Description
region_type req string country | subnational1 | subnational2 parent_region_code opt string Parent 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");