get_birds_by_authority
Retrieve bird species described by a specific taxonomic authority like Linnaeus or Darwin from the AviBase dataset.
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 main handler function that implements the get_birds_by_authority tool. It extracts authority and limit from args, calls the /authority API endpoint, and returns a formatted markdown response with bird details.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:185-199 (schema)Input schema for the get_birds_by_authority tool, defining required 'authority' string parameter and optional 'limit' number.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:182-200 (registration)Tool registration in the listTools response, including 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:306-307 (registration)Dispatch case in the CallToolRequestSchema handler that routes calls to get_birds_by_authority to its handler function.case 'get_birds_by_authority': return await this.handleGetBirdsByAuthority(args);