使用说明

项目简介

BirdNet-Pi MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务,旨在桥接 BirdNet-Pi 鸟类声音识别系统与大型语言模型 (LLM) 应用。通过 MCP 协议,该服务器允许 LLM 客户端以标准化的方式访问 BirdNet-Pi 收集的鸟类检测数据,从而为各种基于鸟类识别的应用场景提供上下文信息和功能支持。

主要功能点

  • 鸟类检测数据检索: 根据日期范围和鸟类种类筛选鸟类检测记录。
  • 检测统计分析: 获取指定时间段内的鸟类检测统计信息,例如检测总数、物种数量等。
  • 音频记录访问: 获取与鸟类检测事件相关的音频记录文件。
  • 日常活动模式: 分析特定日期的鸟类活动模式,展示每小时的活动频率。
  • 检测报告生成: 生成鸟类检测报告,支持HTML和JSON格式。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/DMontgomery40/mcp-local-server.git
    cd mcp-local-server
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    # venv\Scripts\activate  # Windows
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置数据目录 (可选): 默认情况下,服务器会使用 'data' 目录下的 'detections.json' (检测数据), 'audio' (音频文件), 和 'reports' (报告文件)。您可以通过设置环境变量来修改这些路径,例如:

    • 'BIRDNET_DETECTIONS_FILE': 检测数据 JSON 文件路径
    • 'BIRDNET_AUDIO_DIR': 音频文件目录路径
    • 'BIRDNET_REPORT_DIR': 报告文件目录路径

服务器配置

为了让 MCP 客户端能够连接到 BirdNet-Pi MCP Server,您需要在客户端配置文件中添加服务器的启动信息。以下是一个示例 'client-config.json' 配置,展示了如何配置 BirdNet-Pi MCP Server:

{
  "mcpServers": {
    "birdnetPiServer": {  // 服务器名称,客户端可以自定义
      "command": "python", // 启动服务器的命令
      "args": ["server.py"], // 启动命令的参数,这里指向 server.py 文件
      "cwd": "/path/to/mcp-local-server" // MCP 服务器仓库的根目录 (请替换为实际路径)
      // "env": {} // (可选) 环境变量,如果需要可以设置,例如数据文件路径等
    }
  }
}

请注意:

  • 'cwd' 字段必须设置为您克隆 'mcp-local-server' 仓库的绝对路径
  • 如果您的 Python 环境或 'server.py' 脚本不在当前工作目录,您可能需要调整 'command' 和 'args' 以确保服务器能够正确启动。
  • 如果需要通过环境变量配置数据目录,可以在 'env' 字段中添加相应的键值对。

基本使用方法

  1. 启动服务器: 在终端中,确保您已激活虚拟环境,并位于 'mcp-local-server' 仓库目录下,然后运行:

    python server.py

    服务器默认会在 'http://localhost:8000' 启动。

  2. 使用 MCP 客户端与服务器交互: 您需要一个 MCP 客户端来发送 JSON-RPC 请求到服务器。客户端可以发送请求到服务器的根路径 '/',通过 'method' 字段指定要调用的功能,并通过 'params' 字段传递参数。

    例如,要获取可用的功能列表,客户端可以发送以下 JSON-RPC 请求:

    {
      "jsonrpc": "2.0",
      "method": "mcp.getFunctions",
      "id": 1
    }

    服务器会返回包含可用功能信息的 JSON-RPC 响应。 您可以使用类似的方式调用其他功能,例如 'getBirdDetections', 'getDetectionStats' 等,并根据每个功能的要求提供相应的参数。 详细的 API 端点和可用功能参数请参考仓库的 'README.md' 文件。

信息

分类

桌面与硬件