Skip to main content
Glama
kshayk

AviBase MCP Server

by kshayk

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
NameRequiredDescriptionDefault
authorityYesName of the taxonomic authority
limitNoMaximum number of results to return (default: 50)

Implementation Reference

  • 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}.*` : ''}`,
            },
          ],
        };
      }
  • 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);

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/kshayk/avibase-mcp'

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