get_taxonomic_groups
Retrieve taxonomic bird groups like 'Waterfowl' or 'Raptors' from eBird data, supporting multiple classification systems and languages for birdwatching research and identification.
Instructions
Get species groups (e.g., 'Waterfowl', 'Raptors').
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| species_grouping | No | 'ebird' for taxonomic order, 'merlin' for similar birds grouped | ebird |
| group_name_locale | No | Language for group names | en |
Implementation Reference
- src/index.ts:519-524 (handler)The handler function for the 'get_taxonomic_groups' tool. It makes an eBird API request to retrieve species groups based on the provided grouping and locale, then returns the result as formatted JSON text.async (args) => { const result = await makeRequest(`/ref/sppgroup/${args.species_grouping}`, { groupNameLocale: args.group_name_locale, }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; }
- src/index.ts:515-518 (schema)The Zod input schema for the 'get_taxonomic_groups' tool, defining parameters 'species_grouping' (ebird or merlin) and 'group_name_locale'.{ species_grouping: z.enum(["ebird", "merlin"]).default("ebird").describe("'ebird' for taxonomic order, 'merlin' for similar birds grouped"), group_name_locale: z.string().default("en").describe("Language for group names"), },
- src/index.ts:512-525 (registration)The registration of the 'get_taxonomic_groups' tool using server.tool(), including name, description, schema, and handler.server.tool( "get_taxonomic_groups", "Get species groups (e.g., 'Waterfowl', 'Raptors').", { species_grouping: z.enum(["ebird", "merlin"]).default("ebird").describe("'ebird' for taxonomic order, 'merlin' for similar birds grouped"), group_name_locale: z.string().default("en").describe("Language for group names"), }, async (args) => { const result = await makeRequest(`/ref/sppgroup/${args.species_grouping}`, { groupNameLocale: args.group_name_locale, }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } );