Used as the web framework for implementing the MCP server's API endpoints for bird detection data.
Used for version control and distribution of the MCP server codebase.
Hosts the repository for the MCP server code, enabling collaboration and distribution.
Core programming language for the MCP server, providing the runtime environment and language features.
BirdNet-Pi MCP Server
A Python-based Model Context Protocol (MCP) server for BirdNet-Pi integration.
Features
Bird detection data retrieval with date and species filtering
Detection statistics and analysis
Audio recording access
Daily activity patterns
Report generation
Related MCP server: eBird MCP Server
Requirements
Python 3.8+
FastAPI
Uvicorn
Other dependencies listed in
requirements.txt
Installation
Clone the repository:
Create a virtual environment and activate it:
Install dependencies:
Set up your data directories:
Configuration
The server can be configured using environment variables:
BIRDNET_DETECTIONS_FILE: Path to detections JSON file (default: 'data/detections.json')BIRDNET_AUDIO_DIR: Path to audio files directory (default: 'data/audio')BIRDNET_REPORT_DIR: Path to reports directory (default: 'data/reports')
Running the Server
Start the server:
The server will run on http://localhost:8000.
API Endpoints
/functions- List available functions (GET)/invoke- Invoke a function (POST)
Available Functions
getBirdDetectionsGet bird detections filtered by date range and species
Parameters: startDate, endDate, species (optional)
getDetectionStatsGet detection statistics for a time period
Parameters: period ('day', 'week', 'month', 'all'), minConfidence (optional)
getAudioRecordingGet audio recording for a detection
Parameters: filename, format ('base64' or 'buffer')
getDailyActivityGet bird activity patterns for a specific day
Parameters: date, species (optional)
generateDetectionReportGenerate a report of detections
Parameters: startDate, endDate, format ('html' or 'json')