AviBase MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with access to comprehensive bird data through the AviBase dataset. This server acts as a bridge between AI assistants and bird taxonomic, conservation, and geographic data.
🦅 Overview
The AviBase MCP Server gives AI assistants access to a comprehensive bird database containing:
- 40,000+ bird records with taxonomic classification
- IUCN Red List conservation statuses
- Geographic distribution data
- Taxonomic authority information
- Extinction status and historical data
- Advanced query capabilities with JSONata
🚀 Installation
Prerequisites
- Node.js (version 14 or higher)
- npm or yarn package manager
Install via npm
Install from source
⚙️ Configuration
For Claude Desktop
Add the server to your Claude Desktop configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
For other MCP clients
Run the server with stdio transport:
🛠️ Available Tools
1. get_bird_stats
Get comprehensive statistics about the bird dataset.
Usage: get_bird_stats()
Returns: Total records, species count, families, orders, conservation categories
2. search_birds
Search for birds by scientific or common name with fuzzy matching.
Parameters:
query
(required): Search term for bird nameexact
(optional): Use exact matching (default: false)limit
(optional): Maximum results (default: 20)
Example: search_birds({query: "eagle", limit: 10})
3. get_birds_by_taxonomy
Filter birds by taxonomic classification.
Parameters:
level
(required): Taxonomic level ("Order", "Family", or "Taxon_rank")value
(required): Value to filter by (e.g., "Strigiformes" for owls)limit
(optional): Maximum results (default: 50)
Example: get_birds_by_taxonomy({level: "Order", value: "Strigiformes"})
4. get_conservation_status
Get birds by IUCN Red List conservation status.
Parameters:
category
(required): IUCN category (CR, EN, VU, NT, LC, DD, EX, EW)limit
(optional): Maximum results (default: 50)
Example: get_conservation_status({category: "CR"})
(Critically Endangered)
5. get_birds_by_region
Find birds by geographic region or range.
Parameters:
region
(required): Geographic region to searchlimit
(optional): Maximum results (default: 50)
Example: get_birds_by_region({region: "Madagascar"})
6. get_extinct_species
Get all extinct or possibly extinct bird species.
Parameters:
limit
(optional): Maximum results (default: 100)
7. get_birds_by_authority
Find birds described by a specific taxonomic authority.
Parameters:
authority
(required): Name of the taxonomic authoritylimit
(optional): Maximum results (default: 50)
Example: get_birds_by_authority({authority: "Linnaeus"})
8. get_random_birds
Get a random sample of birds for exploration.
Parameters:
count
(optional): Number of random birds (default: 10, max: 50)
9. get_bird_report
Get a detailed report for a specific bird species.
Parameters:
scientific_name
(required): Scientific name of the bird
Example: get_bird_report({scientific_name: "Aquila chrysaetos"})
10. custom_bird_query
Perform complex queries with multiple filters.
Parameters:
filters
(required): Object with field-value pairs for filteringlimit
(optional): Maximum results (default: 50)
Example:
11. execute_jsonata_query
Execute raw JSONata queries for advanced data analysis.
Parameters:
query
(required): JSONata query expressionlimit
(optional): Maximum results for arrays (default: 50)
Example: execute_jsonata_query({query: "$count($[Taxon_rank = \"species\"])"})
📊 Data Coverage
IUCN Conservation Categories
- CR: Critically Endangered
- EN: Endangered
- VU: Vulnerable
- NT: Near Threatened
- LC: Least Concern
- DD: Data Deficient
- EX: Extinct
- EW: Extinct in the Wild
Taxonomic Coverage
- All major bird orders and families
- Species, subspecies, and other taxonomic ranks
- Historical taxonomic authorities
- Type localities and original descriptions
Geographic Coverage
- Worldwide distribution data
- Regional filtering capabilities
- Range descriptions and habitat information
🔍 Example Use Cases
Conservation Research
Taxonomic Studies
Regional Biodiversity
Data Analysis
🌐 API Endpoint
The server connects to: http://shayk.dev/avibase-mcp
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📄 License
This project is licensed under the ISC License - see the LICENSE file for details.
🙏 Acknowledgments
- AviBase for providing comprehensive bird data
- Model Context Protocol team for the MCP framework
- The birding and ornithology community for their contributions to avian science
📞 Support
For issues, questions, or contributions, please:
- Open an issue on GitHub
- Contact: Shay Kintzlinger
Note: This MCP server requires an internet connection to access the AviBase API endpoints.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A Model Context Protocol server that provides AI assistants with access to comprehensive bird data, enabling queries across taxonomic classifications, conservation statuses, and geographic distributions from the AviBase dataset.
Related MCP Servers
- -securityFlicense-qualityA Python-based server that enables accessing and analyzing bird detection data through the Model Context Protocol, offering features like filtering detections, accessing audio recordings, and generating reports.Last updated -3
- -securityAlicense-qualityA Model Context Protocol server implementation that connects AI assistants to DuckDB, enabling them to query and analyze data from various sources including CSV, Parquet, JSON, and cloud storage through SQL.Last updated -7MIT License
- -securityFlicense-qualityA Model Context Protocol server that allows AI assistants to access bird observation data, hotspots, and taxonomy information from eBird.Last updated -11