使用说明
项目简介
BirdNet-Pi MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务,旨在桥接 BirdNet-Pi 鸟类声音识别系统与大型语言模型 (LLM) 应用。通过 MCP 协议,该服务器允许 LLM 客户端以标准化的方式访问 BirdNet-Pi 收集的鸟类检测数据,从而为各种基于鸟类识别的应用场景提供上下文信息和功能支持。
主要功能点
- 鸟类检测数据检索: 根据日期范围和鸟类种类筛选鸟类检测记录。
- 检测统计分析: 获取指定时间段内的鸟类检测统计信息,例如检测总数、物种数量等。
- 音频记录访问: 获取与鸟类检测事件相关的音频记录文件。
- 日常活动模式: 分析特定日期的鸟类活动模式,展示每小时的活动频率。
- 检测报告生成: 生成鸟类检测报告,支持HTML和JSON格式。
安装步骤
-
克隆仓库:
git clone https://github.com/DMontgomery40/mcp-local-server.git cd mcp-local-server -
创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt -
配置数据目录 (可选): 默认情况下,服务器会使用 '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' 字段中添加相应的键值对。
基本使用方法
-
启动服务器: 在终端中,确保您已激活虚拟环境,并位于 'mcp-local-server' 仓库目录下,然后运行:
python server.py服务器默认会在 'http://localhost:8000' 启动。
-
使用 MCP 客户端与服务器交互: 您需要一个 MCP 客户端来发送 JSON-RPC 请求到服务器。客户端可以发送请求到服务器的根路径 '/',通过 'method' 字段指定要调用的功能,并通过 'params' 字段传递参数。
例如,要获取可用的功能列表,客户端可以发送以下 JSON-RPC 请求:
{ "jsonrpc": "2.0", "method": "mcp.getFunctions", "id": 1 }服务器会返回包含可用功能信息的 JSON-RPC 响应。 您可以使用类似的方式调用其他功能,例如 'getBirdDetections', 'getDetectionStats' 等,并根据每个功能的要求提供相应的参数。 详细的 API 端点和可用功能参数请参考仓库的 'README.md' 文件。
信息
分类
桌面与硬件