候鸟观测服务

L011skey/birds_sighting_service
0 Stars 8 次浏览 更新于 2026-08-23

用于查询指定地理坐标点附近一定范围内的候鸟观测记录。调用此工具前,必须从用户的提问中解析出两个必需的浮点数参数:纬度(lat)和经度(lon)。同时可以接受两个可选的整数参数:查询半径(radius km,默认10)和回湖大数(days ago,默认30).

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "bird_service": {
      "args": [
        "main:app",
        "--host",
        "0.0.0.0",
        "--port",
        "8080"
      ],
      "command": "uvicorn"
    }
  }
}

该服务需要配置环境变量:DB_HOST、DB_NAME、DB_PASSWORD、DB_PORT、DB_USER

服务介绍

my-bird-tool
介绍
这是一个为智能体(Agent)设计的、可部署在魔搭(ModelScope)平台的候鸟观测记录查询工具。

该工具以后端API服务的形式存在,能够接收指定的地理坐标(经纬度)、查询半径和时间范围,并连接到云端地理空间数据库(PostgreSQL + PostGIS),执行高效的实时空间查询。

最终,它可以被任何支持调用外部API的智能体平台(如本项目中设定的GEOGPT)集成和使用,赋予智能体强大的、与地理信息交互的能力。

软件架构
本项目采用了一个稳定、解耦的云端服务架构,主要由三个部分组成:

智能体调用层 (GEOGPT): 用户与智能体交互的前端平台。智能体(LLM)负责理解用户意图,并决定何时调用本工具。

服务托管与部署层 (魔搭 ModelScope): 负责从代码仓库拉取本项目代码,管理环境变量,并以“MCP Server”的形式在云端运行和托管我们的Python FastAPI服务。

数据与持久化层 (阿里云 Alibaba Cloud): 运行在云服务器ECS上的PostgreSQL数据库,并启用了PostGIS扩展,负责存储和高效查询所有候鸟的地理空间数据。

数据流转示意图:

mermaid
graph LR
A[用户] --> B[GEOGPT 平台];
B -- 1. 调用工具 --> C[魔搭 MCP Server URL];
C -- 2. 转发请求 --> D[运行在魔搭云端的FastAPI服务];
D -- 3. 查询数据库 --> E[阿里云ECS上的PostGIS数据库];
E -- 4. 返回数据 --> D;
D -- 5. 返回JSON --> C;
C -- 6. 返回结果 --> B;
B -- 7. 生成自然语言回答 --> A;

安装教程
部署本工具需要按以下顺序完成三大模块的配置。

配置云数据库 (阿里云ECS)

创建一台新的ECS实例,操作系统镜像选择 Ubuntu Server 22.04 LTS 64位,并确保分配了公网IP。

通过ECS Workbench或SSH登录服务器,运行 sudo apt update && sudo apt install -y postgresql postgresql-contrib postgis 安装所有必需的数据库软件。

修改PostgreSQL的两个配置文件 (postgresql.confpg_hba.conf) 以允许远程连接。

创建名为 bird_db 的数据库和名为 bird_admin 的用户,并为新数据库启用PostGIS扩展 (CREATE EXTENSION postgis;)。

在ECS的安全组中,添加入方向规则,允许所有IP (0.0.0.0/0) 对TCP协议的 5432 端口的访问。

准备代码仓库 (Gitee)

在本地创建一个项目文件夹,包含 main.py, database.py, requirements.txt, .gitignore 四个核心文件。

在Gitee上创建一个公开的仓库。

将本地的四个文件上传到Gitee仓库中。

部署到魔搭平台

登录魔搭平台,进入“创空间”,点击“创建MCP Server”。

来源地址填写您Gitee仓库的HTTPS地址。

环境变量中配置好5个数据库连接变量 (DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME)。

服务配置中填入正确的JSON启动命令,以uvicorn启动main:app

点击部署,等待服务启动成功。

使用说明
获取服务URL

在魔搭平台的服务管理页面,复制上一步部署成功的MCP Server的官方访问URL。

在GEOGPT中配置工具

登录GEOGPT平台,进入“添加工具”界面。

工具类型选择“其他”(或最通用的API类型)。

在URL字段中,粘贴从魔搭获取的URL,并在结尾加上API路径 /query-nearby-birds/

在描述字段中,填入为LLM优化过的详细功能描述,清晰说明工具的用途和必需参数(lat, lon)。

与智能体交互

保存工具后,即可在对话中向智能体发出自然语言指令。

示例问题: “帮我查一下,东经116.02度,北纬29.17度附近20公里内,最近一年都有什么鸟被观测到?”

参与贡献
Fork 本仓库

新建 Feat_xxx 分支

提交代码

新建 Pull Request

相关 MCP 服务