生物多样性数据服务

一个提供iNaturalist生物多样性数据访问的MCP服务器,支持搜索观测记录、探索物种和发现全球野生动物。

  • by cvsouth
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 cvsouth/inaturalist-mcp

使用说明

iNaturalist MCP服务器

一个MCP服务器,让人工智能助手访问iNaturalist的生物多样性数据——搜索观察结果、探索物种和发现世界任何地方的野生动物。

快速开始

添加到MCP配置中:

{
  "mcpServers": {
    "inaturalist": {
      "command": "uvx",
      "args": ["inaturalist-mcp"]
    }
  }
}

[!注意] 不需要API密钥。此服务器使用公共iNaturalist API。

[!重要] 速率限制为每分钟60次请求,以遵守iNaturalist的API指南。

可用工具

工具 说明
search_observations 按位置、物种、日期和质量等级搜索观察结果
get_species_counts 按观察次数对某一地点观察到的物种进行排名
search_taxa 按通用名或学名搜索物种
get_taxon 获取物种的详细信息(分类、保护状态、照片)
search_places 按名称查找iNaturalist地点
get_nearby_places 查找GPS坐标附近的位置
search_projects 查找社区科学项目(生物闪电战、调查)
get_similar_species 找出与目标物种经常混淆的物种
inaturalist_search 一次搜索所有iNaturalist资源
Full tool reference

搜索观察

按位置、物种、日期等搜索iNaturalist观察结果。

  • lat (float):基于位置搜索的纬度
  • lng (float):基于位置搜索的经度
  • radius (int):搜索半径,单位为公里(默认值:10,与lat/lng一起使用)
  • place_name (string):要搜索的地名(例如“澳大利亚”、“黄石”)
  • place_id (int):要在其中搜索的自然地点ID
  • taxon_name (string):要筛选的物种通用名或学名
  • taxon_id (int):i要过滤的自然分类群ID
  • d1 (字符串):开始日期(YYYY-MM-DD)
  • d2 (字符串):结束日期(YYYY-MM-DD)
  • quality_grade (字符串): research, needs_id,或 casual
  • iconic_taxa (string):按组筛选:鸟类、哺乳动物、爬行动物、两栖动物、昆虫、植物、真菌等。
  • page (int):页码(默认值:1)
  • per_page (int):每页结果数(默认值:20,最大值:200)

get_species_counts

按观察次数对某一地点观察到的物种进行排名。非常适合回答“我在这里会看到什么野生动物?”

  • lat (float):基于位置搜索的纬度
  • lng (float):基于位置搜索的经度
  • radius (int):搜索半径,单位为公里(默认值:10,与lat/lng一起使用)
  • place_name (string):地名(例如“克鲁格国家公园”)
  • place_id (int):i自然地点ID
  • taxon_name (string):按名称筛选到分类群组(例如“鸟类”)
  • taxon_id (int):按ID筛选到分类群
  • d1 (字符串):开始日期(YYYY-MM-DD)
  • d2 (字符串):结束日期(YYYY-MM-DD)
  • quality_grade (字符串): research, needs_id,或 casual
  • iconic_taxa (string):按组筛选:鸟类、哺乳动物、爬行动物、两栖动物、昆虫、植物、真菌等。
  • per_page (int):要返回的物种数(默认值:20,最大值:200)

search_taxa

按通用名或学名搜索物种或分类群。

  • q (字符串,必填):搜索查询(例如“鸭嘴兽”、“鸟兽”)
  • is_active (bool):仅显示当前接受的分类群
  • rank (string):按分类等级过滤(种、属、科、目、纲、门、王国)
  • per_page (int):结果数(默认值:10,最大值:30)

get_taxon

按ID获取特定分类群的详细信息。返回分类链、保护状态、维基百科摘要和照片。

  • taxon_id (int,必填):iNaturalist分类群ID

搜索位置

按名称搜索iNaturalist地点。返回您可以在其他工具中使用的地点ID。

  • q (字符串,必填):要搜索的地名(例如“黄石”、“哥斯达黎加”)
  • per_page (int):结果数(默认值:10)

get_nearby_places

在一组坐标附近查找iNaturalist位置。返回标准(行政)和社区场所。

  • lat (浮点数,必填):纬度
  • lng (浮点数,必填):经度

搜索_项目

搜索iNaturalist社区项目(生物闪电战、调查、区域生物多样性项目)。

  • q (string):搜索查询(例如“鸟悉尼”、“蝴蝶”)
  • lat (浮动):查找附近项目的纬度
  • lng (浮动):查找附近项目的经度
  • place_id (int):iNaturalist地点ID用于过滤
  • per_page (int):结果数(默认值:10)

get_similar_species

将物种与给定的分类群混淆。可用于野生动物识别。

  • taxon_id (int,必填):iNaturalist分类群ID,用于查找相似物种
  • place_id (int):区域相关结果的可选地点ID

INAURAlist_search

一次搜索所有iNaturalist——分类群、地点、项目和用户。

  • q (string,必填):搜索查询(例如“帝王蝶迁徙”)
  • sources (字符串):逗号分隔的类型:“taxa”、“places”、“projects”和“users”(默认值:all)
  • per_page (int):结果数(默认值:10)

发展

git clone https://github.com/cvsouth/inaturalist-mcp.git
cd inaturalist-mcp
uv sync --dev
pytest

许可证

麻省理工学院