get_birds_by_authority
Retrieve bird species described by a specific taxonomic authority using the AviBase MCP Server. Input an authority name and optional limit to filter results.
Instructions
Find birds described by a specific taxonomic authority (e.g., Linnaeus, Darwin, etc.).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| authority | Yes | Name of the taxonomic authority | |
| limit | No | Maximum number of results to return (default: 50) |
Implementation Reference
- mcp-server.js:516-540 (handler)The handler function that executes the tool logic: extracts authority and limit from args, calls the API /authority endpoint, formats and returns a markdown-formatted response listing birds described by the authority.async handleGetBirdsByAuthority(args) { const { authority, limit = 50 } = args; const endpoint = `/authority?name=${encodeURIComponent(authority)}&limit=${limit}`; const response = await this.makeAPIRequest(endpoint); return { content: [ { type: 'text', text: `# Birds Described by ${authority} 👨🔬 **${response.pagination.totalItems}** birds described by ${authority} **Historical contributions:** ${response.data.slice(0, 15).map((bird, i) => `${i + 1}. **${bird.Scientific_name}** - Common name: ${bird.English_name_AviList || 'No common name'} - Family: ${bird.Family} - Year: ${bird.Authority} - Publication: ${bird.Bibliographic_details ? bird.Bibliographic_details.substring(0, 80) + '...' : 'Not specified'}`).join('\n\n')} ${response.pagination.hasNext ? `\n*Note: Showing first ${response.data.length} of ${response.pagination.totalItems} total species described by ${authority}.*` : ''}`, }, ], }; }
- mcp-server.js:182-200 (registration)Tool registration in the listTools response, defining name, description, and input schema.{ name: 'get_birds_by_authority', description: 'Find birds described by a specific taxonomic authority (e.g., Linnaeus, Darwin, etc.).', inputSchema: { type: 'object', properties: { authority: { type: 'string', description: 'Name of the taxonomic authority', }, limit: { type: 'number', description: 'Maximum number of results to return (default: 50)', default: 50, }, }, required: ['authority'], }, },
- mcp-server.js:185-199 (schema)Input schema defining parameters: authority (required string), limit (optional number, default 50).inputSchema: { type: 'object', properties: { authority: { type: 'string', description: 'Name of the taxonomic authority', }, limit: { type: 'number', description: 'Maximum number of results to return (default: 50)', default: 50, }, }, required: ['authority'], },
- mcp-server.js:306-307 (registration)Dispatcher case in the CallToolRequestHandler switch statement that routes the tool call to the handler function.case 'get_birds_by_authority': return await this.handleGetBirdsByAuthority(args);