鸟类观察数据查询服务

Rubl是一个MCP协议服务器,提供对eBird API的访问,用于查询观鸟热点、区域层次结构和稀有鸟类观测数据。

  • by drewbxyz
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 drewbxyz/rubl-mcp

使用说明

Rubl-eBird API MCP服务器

MCP(模型上下文协议)服务器,提供对eBird API的访问,用于查询观鸟热点、区域层次结构和稀有鸟类目击。

特性

Rubl提供了四种强大的工具来访问eBird数据:

  • get_region_info -查找eBird区域元数据(名称、类型、边界、父区域)
  • get_subregions -列出eBird区域下的子区域(州、县等)
  • fetch_rare -Fetch最近报道了一个地区值得注意/罕见的鸟类目击事件
  • get_nearby_hotspots -使用可选半径和日期过滤器按坐标查找eBird观鸟热点

安装

MCPB捆绑包(推荐)

  1. 下载最新 .mcpb 捆绑从 发布页面
  2. 使用Claude for macOS/Windows进行一键安装
  3. 提示时配置eBird API密钥

获取eBird API密钥

获取免费eBird API密钥,网址:https://ebird.org/api/keygen

手动安装

或者,添加到您的Claude Desktop配置中(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "rubl": {
      "command": "/path/to/rubl/server/rubl",
      "env": {
        "EBIRD_API_KEY": "your-api-key-here"
      }
    }
  }
}

从源头构建

先决条件

  • 锈1.70+(2024年版)
  • 货物

构建

cargo build --release

二进制文件将在 target/release/rubl.

构建MCPB捆绑包

./build-mcpb.sh

这创造了 rubl.mcpb 准备分发。

用法

在Claude Desktop中安装后,您可以使用以下提示:

  • “最近在北卡罗来纳州看到了哪些珍稀鸟类?”
  • “在坐标35.7796,-78.6382附近找到观鸟热点”
  • “给我看看加利福尼亚州的县”
  • “美北地区的地理边界是什么?”

工具详细信息

获取区域信息

获取eBird区域代码的元数据(例如。, US-NC).

参数:

  • region_code (string)-eBird地区代码

退货: 区域名称、类型、边界、父区域和坐标

get_subregions

列出父区域内的所有子区域。

参数:

  • region_code (string)-eBird地区代码

退货: 带有代码和名称的子区域数组

fetch_rare

获取该地区最近著名/罕见的鸟类目击事件。

参数:

  • region_code (string)-eBird地区代码

退货: 一系列稀有鸟类观察,包括物种、位置、日期和数量

get_nearby_hots

寻找附近的观鸟热点。

参数:

  • latitude (数字)-纬度坐标
  • longitude (数字)-经度坐标
  • radius (数字,可选)-搜索半径(公里)(0-500)
  • back (数字,可选)-仅在过去N天内访问过的热点(1-30)

退货: 包含名称、坐标和最近活动统计信息的热点数组

eBird地区代码

eBird使用分层区域代码:

  • 国家: US, CA, MX
  • 州/省: US-NC, CA-ON
  • 县: US-NC-067 (北卡罗来纳州威克县)

使用 get_region_info 验证代码和 get_subregions 探索层次结构。

发展

项目结构

rubl/
├── src/
│   ├── main.rs           # Entry point
│   ├── server.rs         # MCP server implementation
│   ├── ebird_api.rs      # eBird API client
│   └── tools/            # Tool implementations
│       ├── hotspot.rs
│       ├── rare_birds.rs
│       └── region.rs
├── manifest.json         # MCPB manifest
├── server/               # Bundle directory
│   └── rubl             # Compiled binary
└── Cargo.toml

测试

# Run with test API key
EBIRD_API_KEY=your-key cargo run

服务器使用MCP协议通过stdio进行通信。

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

隐私和安全

Rubl访问什么:

  • 使用API密钥向公共eBird API(API.eBird.org)发出HTTP请求
  • 您的eBird API密钥存储在Claude Desktop的本地配置中

Rubl无法访问的内容:

  • 您的文件系统或本地文件
  • 任何系统命令或进程
  • eBird公共API之外的任何数据

只读工具: 全部四种工具(get_region_info, get_subregions, fetch_rare, get_nearby_hotspots)是只读的,只能查询公开可用的eBird数据。

安装警告: 安装MCPB捆绑包时,Claude Desktop可能会显示通用安全警告。这是所有MCP捆绑包的标准配置。Rubl是开源的,您可以在以下网址查看代码https://github.com/drewbxyz/rubl以验证其功能。

链接

  • eBird API文档: https://documenter.getpostman.com/view/664302/S1ENwy59
  • MCP协议: https://modelcontextprotocol.io
  • MCPB规范: https://github.com/anthropics/mcpb

支持

报告问题:https://github.com/drewbxyz/rubl/issues