Information
BirdNet-Pi MCP 服务器
一个基于 Python 的 Model Context Protocol (MCP) 服务器,用于 BirdNet-Pi 集成。
功能
按日期和物种筛选的鸟类检测数据检索
检测统计和分析
访问音频记录
每日活动模式
报告生成
要求
Python 3.8+
FastAPI
Uvicorn
requirements.txt 中列出的其他依赖项
安装
克隆仓库:
git clone https://github.com/YourUsername/mcp-server.git
cd mcp-server
创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
安装依赖项:
pip install -r requirements.txt
设置您的数据目录:
mkdir -p data/audio data/reports
配置
可以使用环境变量配置服务器:
BIRDNET_DETECTIONS_FILE: 检测 JSON 文件的路径(默认: 'data/detections.json')
BIRDNET_AUDIO_DIR: 音频文件目录的路径(默认: 'data/audio')
BIRDNET_REPORT_DIR: 报告目录的路径(默认: 'data/reports')
运行服务器
启动服务器:
python server.py
服务器将在 http://localhost:8000 上运行。
API 端点
/functions - 列出可用功能 (GET)
/invoke - 调用功能 (POST)
可用功能
getBirdDetections
按日期范围和物种筛选获取鸟类检测
参数:startDate, endDate, species (可选)
getDetectionStats
获取一段时间内的检测统计数据
参数:period ('day', 'week', 'month', 'all'), minConfidence (可选)
getAudioRecording
获取检测的音频记录
参数:filename, format ('base64' 或 'buffer')
getDailyActivity
获取特定日期的鸟类活动模式
参数:date, species (可选)
generateDetectionReport
生成检测报告
参数:startDate, endDate, format ('html' 或 'json')
目录结构
mcp-server/
├── birdnet/
│ ├── __init__.py
│ ├── config.py
│ ├── functions.py
│ └── utils.py
├── data/
│ ├── audio/
│ └── reports/
├── server.py
├── requirements.txt
└── README.md