M

MCP本地服务器(模型上下文协议)

@DMontgomery40/mcp-local-server
0 Stars 435 次浏览 DMontgomery40 更新于 2026-08-23

一个基于Python的服务器,通过模型上下文协议(Model Context Protocol)实现对鸟类检测数据的访问和分析,提供过滤检测结果、访问音频记录以及生成报告等功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

BirdNet-Pi MCP 服务器

一个基于 Python 的 Model Context Protocol (MCP) 服务器,用于 BirdNet-Pi 集成。

功能

  • 按日期和物种筛选的鸟类检测数据检索
  • 检测统计和分析
  • 访问音频记录
  • 每日活动模式
  • 报告生成

要求

  • Python 3.8+
  • FastAPI
  • Uvicorn
  • requirements.txt 中列出的其他依赖项

安装

  1. 克隆仓库:
git clone https://github.com/YourUsername/mcp-server.git
cd mcp-server
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置您的数据目录:
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)

可用功能

  1. getBirdDetections

    • 按日期范围和物种筛选获取鸟类检测
    • 参数:startDate, endDate, species (可选)
  2. getDetectionStats

    • 获取一段时间内的检测统计数据
    • 参数:period ('day', 'week', 'month', 'all'), minConfidence (可选)
  3. getAudioRecording

    • 获取检测的音频记录
    • 参数:filename, format ('base64' 或 'buffer')
  4. getDailyActivity

    • 获取特定日期的鸟类活动模式
    • 参数:date, species (可选)
  5. 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

相关 MCP 服务