BirdNet-Pi MCP Server
About
BirdNet-Pi MCP Server is a Python-based Model Context Protocol server that integrates with BirdNet-Pi to provide bird detection data retrieval, statistics, audio recording access, and report generation. It is designed for users who want to programmatically access BirdNet‑Pi…
Explore
- Bird detection data retrieval with date and species filtering
- Detection statistics and analysis
- Audio recording access
- Daily activity patterns
- Report generation
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
BirdNet-Pi MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Python 3.8+
- FastAPI
- Uvicorn
- Other dependencies listed in requirements.txt
Start the server:
python server.py
The server will run on http://localhost:8000.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"birdnet-pi mcp server": {
"DMontgomery40_mcp-local-server": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
]
}
}
}
}
McpServers
{
"DMontgomery40_mcp-local-server": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
]
}
}
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
Requirements
- Python 3.8+
- FastAPI
- Uvicorn
- Other dependencies listed in requirements.txt
Installation
1. Clone the repository:
git clone https://github.com/YourUsername/mcp-server.git
cd mcp-server
2. Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
3. Install dependencies:
pip install -r requirements.txt
4. Set up your data directories:
mkdir -p data/audio data/reports
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:
python server.py
The server will run on http://localhost:8000.
API Endpoints
- /functions - List available functions (GET)
- /invoke - Invoke a function (POST)
Available Functions
1. getBirdDetections
- Get bird detections filtered by date range and species
- Parameters: startDate, endDate, species (optional)
2. getDetectionStats
- Get detection statistics for a time period
- Parameters: period ('day', 'week', 'month', 'all'), minConfidence (optional)
3. getAudioRecording
- Get audio recording for a detection
- Parameters: filename, format ('base64' or 'buffer')
4. getDailyActivity
- Get bird activity patterns for a specific day
- Parameters: date, species (optional)
5. generateDetectionReport
- Generate a report of detections
- Parameters: startDate, endDate, format ('html' or 'json')
Directory Structure
mcp-server/
├── birdnet/
│ ├── __init__.py
│ ├── config.py
│ ├── functions.py
│ └── utils.py
├── data/
│ ├── audio/
│ └── reports/
├── server.py
├── requirements.txt
└── README.md
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



