mcpField
P
Pondlog Mushroom Observer

Pondlog Mushroom Observer

本地服务
github.com/andrewschristison科研与教育03 周前更新

关于 Pondlog Mushroom Observer

Pondlog Mushroom Observer 是面向真菌学数据使用者的 MCP 服务,提供 Mushroom Observer 的真菌观察、分类和区域发现数据。它将数据整理为 MCP 工具,且无需 API 密钥。

主要功能

  1. 01查询 Mushroom Observer 真菌记录
  2. 02探索真菌分类信息
  3. 03发现不同区域的真菌数据
  4. 04无需 API 密钥

适用场景

  1. 01查找某区域的真菌观察记录
  2. 02研究真菌分类与相关记录
  3. 03让 AI Agent 查询 Mushroom Observer 数据

MCP 相关

该 MCP 服务向 MCP 客户端提供 5 个以真菌学为重点的 Mushroom Observer 工具。服务可无需密钥运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"andrewschristison-pondlog-mushroomobserver": {
"command": "npx",
"args": [
"-y",
"@pondlog/mcp-mushroomobserver"
]
}
}
}
启动命令npx -y @pondlog/mcp-mushroomobserver

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pondlog/mcp-mushroomobserver0.1.5

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
latnumber否WGS84 纬度,十进制度数,范围为 -90 至 90。示例:华盛顿州安吉利斯港为 48.118。
lngnumber否WGS84 经度,十进制度,范围为 -180 到 180。示例:Port Angeles, WA 的 -123.4307。
namestring否按共识分类单元名称筛选(与 MO 的学名索引进行子串匹配)。示例:“Amanita”、“Cantharellus formosus”、“Boletales”。
pageinteger否从 1 开始计数的页码。MO 每页返回约 100 条记录。默认值为 1。
detailenum否详情级别。'low'(默认)返回扁平 ID(每条记录约 1KB);'high' 返回嵌套的位置/共识/所有者/图像对象(每条记录约 3–4KB)。仅在需要时使用 'high'。low | high
regionstring否Mushroom Observer 区域后缀字符串。MO 将地理位置建模为以国家结尾、用逗号分隔的地点名称(例如:“Clallam Co., Washington, USA”、“Marin Co., California, USA”、“Sussex, England, UK”)。筛选条件采用后缀匹配,请提供所需的最具体尾部;较宽泛的后缀会匹配更多地点。请先使用 `search_regions` 查找格式正确的后缀。
date_tostring否观测日期的包含式上限,格式为 YYYY-MM-DD。示例:“2025-12-01”。
date_fromstring否观测日期的包含式下限,格式为 YYYY-MM-DD。示例:“2025-09-01”。
radius_kmnumber否搜索半径,单位为千米。最大值为 500。默认值为 25。Mushroom Observer 的数据最密集于太平洋西北地区、加利福尼亚北部、美国东北部和西欧;在记录较稀疏的地区,请使用 50–100 km 的半径以扩大覆盖范围。
has_imagesboolean否若为 true,则仅返回至少有一张照片的观测记录。适用于视觉识别工作流。
confidence_minnumber否按投票加权的 ID 置信度下限,范围为 [-3..3]。MO 观测记录的共识置信度由真菌学专家和公民科学家的投票汇总得出。1.0+ 是筛除不确定 ID 的合理阈值;2.0+ 表示共识较强;负值表示共识名称存在争议。
include_subtaxaboolean否若为 true,则包含所查询名称下的下级分类单元的观测记录(例如,一个属下的所有物种)。默认值为 false。

详细介绍

pondlog

面向开发者的地点感知自然数据。这些坐标处的自然环境此刻正在发生什么?

Pondlog 将免费的公共 API(iNaturalist、eBird、USA-NPN、USGS、Mushroom Observer)、本地天文计算(astronomy-engine)以及 NOAA 潮汐/云量数据整合到一个数据层中,并提供两种接口:

  • 面向人类的 CLI(pondlog inat nearby --lat 48.118 --lng -123.43)
  • 每个数据源各自的 MCP 服务,供 AI Agent 使用(Claude Desktop、Cursor)

作者:Andrew Christison。

包含内容

8 个数据源、7 个 MCP 服务、1 个统一命令行工具。包含约 1000 种作物的园艺规划器,提供 USDA 耐寒区数据和伴生种植关系图。

Packagenpm功能
pondlognpm统一命令行工具
@pondlog/corenpm共享类型、Result<T>、速率限制器、USDA 耐寒区、作物日历、伴生植物
@pondlog/source-inaturalistnpmiNaturalist API 客户端
@pondlog/source-ebirdnpmeBird API 客户端(21 个端点)
@pondlog/source-npnnpmUSA-NPN 物候客户端
@pondlog/source-usgsnpmUSGS Water Services 客户端
@pondlog/source-nightskynpm本地夜空简报(astronomy-engine)
@pondlog/source-mushroomobservernpmMushroom Observer(真菌学)客户端
@pondlog/source-treflenpmTrefle.io 植物分类客户端
@pondlog/mcp-inaturalistnpmiNaturalist MCP 服务(9 个工具)
@pondlog/mcp-ebirdnpmeBird MCP 服务(21 个工具)
@pondlog/mcp-npnnpmNPN MCP 服务(8 个工具)
@pondlog/mcp-usgsnpmUSGS MCP 服务(4 个工具)
@pondlog/mcp-mushroomobservernpmMushroom Observer MCP 服务(5 个工具,以真菌学为核心)
@pondlog/mcp-gardennpm园艺规划 MCP 服务(8 个工具,包含日历、耐寒区、伴生植物和 Trefle)
@pondlog/mcp-pondlognpm聚合 MCP 服务(5 个工具,涵盖全部 8 个数据源)

状态

来源库CLIMCP
iNaturalist✅✅✅
eBird✅✅✅
NPN(物候)✅✅✅
USGS(水域)✅✅✅
Mushroom Observer(真菌学)✅✅✅
Garden(USDA 分区 + 约 5,000 种作物日历 + 伴生种 + Trefle)✅✅✅
夜空(astronomy-engine)✅✅✅(通过 mcp-pondlog)
聚合(pondlog today / mcp-pondlog)不适用✅✅

快速开始

作为 AI Agent(MCP)

将以下内容添加到 Claude Desktop 配置中 (macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "pondlog-inaturalist": {
      "command": "npx",
      "args": ["-y", "@pondlog/mcp-inaturalist"]
    }
  }
}

然后向 Claude 提问:

过去一周,华盛顿州安吉利斯港附近有哪些两栖动物被观测到?

同一份 JSON 也适用于 Cursor 的 ~/.cursor/mcp.json。只需一条命令即可运行任意 MCP 服务:

npx -y @pondlog/mcp-inaturalist          # no key
npx -y @pondlog/mcp-garden               # offline garden tools
EBIRD_API_KEY=... npx -y @pondlog/mcp-ebird
npx -y @pondlog/mcp-pondlog              # aggregate of all eight sources
作为用户(CLI)
npm install -g pondlog
pondlog config set-location --lat 48.118 --lng -123.4307 --name "Port Angeles"
pondlog today                          # unified briefing
pondlog inat nearby
pondlog ebird notable
pondlog npn active
pondlog usgs flow --site 12045500
pondlog nightsky                       # tonight's curated briefing
pondlog garden now                     # what to plant this week

每条命令都支持 --json,用于输出机器可读内容。

架构

                          ┌─────────────────────────┐
                          │      @pondlog/core      │
                          │  types, Result<T>,      │
                          │  RateLimiter, withRetry,│
                          │  USDA zones, crops,     │
                          │  companion graph        │
                          └────────────┬────────────┘
                                       │
        ┌──────────┬──────────┬────────┼─────────┬──────────┬──────────┐
        ▼          ▼          ▼        ▼         ▼          ▼          ▼
 source-inat  source-ebird  source-npn  source-usgs  source-mo  source-trefle  source-nightsky
        │          │          │        │         │          │          │
        └──────────┴──────────┴────────┼─────────┴──────────┴──────────┘
                                       │
                  ┌────────────────────┴────────────────────┐
                  ▼                                         ▼
            pondlog (CLI)                       7 × @pondlog/mcp-* servers
            ├─ pondlog today (aggregate)         ├─ mcp-inaturalist
            ├─ pondlog inat/ebird/...             ├─ mcp-ebird
            └─ pondlog garden/nightsky            ├─ mcp-npn / mcp-usgs
                                                  ├─ mcp-mushroomobserver
                                                  ├─ mcp-garden
                                                  └─ mcp-pondlog  ◀── aggregate

数据源客户端负责所有工作(Zod 校验、速率限制、重试和标准化)。CLI 和 MCP 服务只是围绕它们构建的轻量封装。

设计原则

  • 一个数据层,两种接口。 每个数据源都是一个类型化库(经过 Zod 校验、受速率限制,并返回 Result<T>)。CLI 和 MCP 服务只是轻量封装,不包含业务逻辑。
  • 优雅降级。 数据源不可用时,聚合结果仍会返回其他成功的数据,并在结果中报告错误。
  • 遵守速率限制。 每个客户端都会自行限流。绝不信任调用方。
  • 能不需要密钥的就不使用密钥。 iNaturalist、NPN、USGS、Mushroom Observer 和夜空数据源均无需密钥即可运行。只有 eBird 和 Trefle 需要免费密钥。
  • 数据不依赖外部来源时,使用本地计算。 天文学只涉及纯数学;@pondlog/source-nightsky 不会发起任何网络请求,也没有速率限制或故障模式。花园日历、分区和伴生种关系图均以内置 JSON 提供,完全离线可用。

相关项目:CropGraph

CropGraph 是一个配套的 HTTP API,提供与 @pondlog/core 和 @pondlog/mcp-garden 相同的约 1,000 种作物种植日历、USDA 耐寒区和伴生种植关系图。需要通过 HTTP 从任意语言获取数据时,可使用 CropGraph。其架构与本仓库保持同步。

贡献

欢迎提交 PR。本项目使用 pnpm 构建:

git clone https://github.com/andrewschristison/pondlog.git
cd pondlog
pnpm install
pnpm typecheck
pnpm build
pnpm test
pnpm smoke   # live tests against iNaturalist
作物日历 / 伴生种植数据

作物日历(packages/core/src/data/crop-calendar.json)和伴生关系图(packages/core/src/data/companions.json)接受社区 PR。两者的数据文件旁都附有 JSON Schema:

  • packages/core/src/data/crop-calendar.schema.json
  • packages/core/src/data/companions.schema.json

添加作物条目时,请为每个条目添加 source,引用真实的推广服务机构(USDA、Cornell、WSU、Oregon State、UMass、UF/IFAS 等)。添加伴生关系边时,请提供 evidence(strong 或 moderate)和 citation URL。Zod 校验会在模块加载时运行,因此格式错误的 PR 会立即导致 import "@pondlog/core" 失败。

代码

每个软件包都遵循严格的模式,详见docs/METHODOLOGY.md。数据源客户端总是先于使用它们的 CLI 命令或 MCP 工具发布。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。