P

mcp-local-server

Created Oct 19, 2025 by DMontgomery40

Language:

Python

Stars:

3

Forks:

1

README

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

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
Last updated: Oct 19, 2025

Publisher info

DMontgomery40's avatar

DMontgomery40

Cybersecurity researcher and open source advocate and developer. Passionately supporting open source solutions to the cross section of AI and Security.

SecurityLens, LLC
Denver, CO
8
followers
15
following
34
repos

More MCP servers built with Python

Stable Diffusion WebUI

Stable Diffusion web UI

By AUTOMATIC1111 160.1K
Transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

By huggingface 155.5K
PyTorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

By pytorch 96.8K