BirdNet-Pi MCP サーバー
BirdNet-Pi 統合用の Python ベースのモデル コンテキスト プロトコル (MCP) サーバー。
特徴
- 日付と種のフィルタリングによる鳥類検出データの取得
- 検出統計と分析
- 音声録音アクセス
- 日常の活動パターン
- レポート生成
要件
- Python 3.8以上
- ファストAPI
- ウビコーン
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')
サーバーの実行
サーバーを起動します。
サーバーはhttp://localhost:8000
で実行されます。
APIエンドポイント
/functions
- 利用可能な関数の一覧を表示する (GET)/invoke
- 関数を呼び出す (POST)
利用可能な機能
getBirdDetections
- 日付範囲と種でフィルタリングされた鳥の検出を取得します
- パラメータ: startDate、endDate、species(オプション)
getDetectionStats
- 一定期間の検出統計を取得する
- パラメータ: period ('day', 'week', 'month', 'all'), minConfidence (オプション)
getAudioRecording
- 検出のための音声録音を取得する
- パラメータ: ファイル名、形式 ('base64' または 'buffer')
getDailyActivity
- 特定の日の鳥の活動パターンを取得する
- パラメータ: 日付、種(オプション)
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