Skip to main content
Glama

get_taxonomy

Retrieve eBird's complete bird species taxonomy with codes, names, and classifications. Filter by species, category, or version, and choose response format for integration.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
catNoTaxonomic category filter (e.g., 'species', 'issf', 'hybrid')
fmtNoResponse formatjson
localeNoLanguage for common namesen
speciesNoComma-separated species codes to fetch (e.g., 'cangoo,barswa')
versionNoSpecific taxonomy version

Implementation Reference

  • Handler function that constructs parameters from args and fetches taxonomy data via makeRequest from the eBird API endpoint.
    async (args) => { const params: Record<string, string | number | boolean> = { fmt: args.fmt, locale: args.locale, }; if (args.cat) params.cat = args.cat; if (args.species) params.species = args.species; if (args.version) params.version = args.version; const result = await makeRequest("/ref/taxonomy/ebird", params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; }
  • Zod schema defining input parameters for the get_taxonomy tool.
    { cat: z.string().optional().describe("Taxonomic category filter (e.g., 'species', 'issf', 'hybrid')"), fmt: z.enum(["json", "csv"]).default("json").describe("Response format"), locale: z.string().default("en").describe("Language for common names"), species: z.string().optional().describe("Comma-separated species codes to fetch (e.g., 'cangoo,barswa')"), version: z.string().optional().describe("Specific taxonomy version"), },
  • src/index.ts:456-478 (registration)
    Registration of the get_taxonomy tool using server.tool, including description, schema, and handler.
    server.tool( "get_taxonomy", "Get the eBird taxonomy (list of all species with codes, names, and classification).", { cat: z.string().optional().describe("Taxonomic category filter (e.g., 'species', 'issf', 'hybrid')"), fmt: z.enum(["json", "csv"]).default("json").describe("Response format"), locale: z.string().default("en").describe("Language for common names"), species: z.string().optional().describe("Comma-separated species codes to fetch (e.g., 'cangoo,barswa')"), version: z.string().optional().describe("Specific taxonomy version"), }, async (args) => { const params: Record<string, string | number | boolean> = { fmt: args.fmt, locale: args.locale, }; if (args.cat) params.cat = args.cat; if (args.species) params.species = args.species; if (args.version) params.version = args.version; const result = await makeRequest("/ref/taxonomy/ebird", params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } );

Latest Blog Posts

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/mattjegan/ebird-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server