
Pondlog Phenology (USA-NPN)
io.github.andrewschristisonPublished by GitHub account andrewschristisonv0.1.6-1Updated Oct 24, 2026
USA National Phenology Network MCP. Bloom, leaf-out, and flight timing from NPN observers.
Overview
A local MCP server that gives an assistant USA National Phenology Network data on bloom, leaf-out and insect flight timing reported by volunteer observers.
- What you can do
- Query USA-NPN phenology records for bloom, leaf-out and flight timing reported by NPN observers, through the eight tools of the @pondlog/mcp-npn package (tool names are not listed). It is one of seven source-specific Pondlog MCP servers built on a shared typed data layer with validation, rate limiting and retry. It runs keyless, alongside sibling servers for iNaturalist, eBird, USGS, Mushroom Observer, garden planning and an aggregate of all sources.
- When to use it
- Use it when you want an assistant to answer questions about seasonal nature timing in the United States, such as when plants bloom or leaves emerge or when insects are active, based on NPN observer records. It is a narrow single-source server; choose the aggregate Pondlog server if you need several nature data sources at once.
- Requirements
- Runs as a local stdio process on the user's machine, started with npx from the npm package @pondlog/mcp-npn; Node.js is needed. No API key is required for NPN, and no environment variables or headers are declared. Network access to the USA-NPN API is implied. Desktop only; not available as a web executable.
Installation
In SourceWeft
- Open Pondlog Phenology (USA-NPN) in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
pondlog
Place-aware nature data for developers. What's happening in nature at these coordinates right now?
Pondlog stitches together free public APIs (iNaturalist, eBird, USA-NPN,
USGS, Mushroom Observer) plus local astronomy computation
(astronomy-engine) and NOAA tides/cloud cover into one data layer
with two interfaces:
- A CLI for humans (
pondlog inat nearby --lat 48.118 --lng -123.43) - An MCP server per source for AI agents (Claude Desktop, Cursor)
What's in the box
8 data sources. 7 MCP servers. 1 unified CLI. A ~1000-crop garden planner with USDA hardiness zones and companion-planting graph.
Status
Quick start
As an AI agent (MCP)
Add to your Claude Desktop config
(~/Library/Application Support/Claude/claude_desktop_config.json on
macOS):
Then ask Claude:
What amphibians have been seen near Port Angeles, WA in the last week?
The same JSON works in ~/.cursor/mcp.json for Cursor. Run any MCP
server in one command:
As a human (CLI)
--json works on every command for machine output.
Architecture
Source clients do all the work (Zod validation, rate limiting, retry, normalization). The CLI and MCP servers are thin wrappers around them.
Design principles
- One data layer, two interfaces. Each source is a typed library
(Zod-validated, rate-limited, returns
Result<T>). The CLI and MCP servers are thin wrappers. No business logic in them. - Degrade gracefully. When a source is down, the aggregate still returns whatever else worked, with errors reported in-band.
- Rate limits respected. Each client throttles itself. Never trust the caller.
- No keys for what doesn't need them. iNaturalist, NPN, USGS, Mushroom Observer, and the night-sky source all run keyless. Only eBird and Trefle require free keys.
- Local computation when the data isn't external. Astronomy is
pure math;
@pondlog/source-nightskyships zero network calls, zero rate limits, zero failure modes. The garden calendar, zones, and companion graph are bundled JSON, all offline.
Related: CropGraph
CropGraph is a sibling HTTP API exposing
the same ~1000-crop planting calendar, USDA hardiness zones, and
companion-planting graph used by @pondlog/core and @pondlog/mcp-garden.
Use CropGraph when you want the data over HTTP from any language. The
schemas are kept in lockstep with this repo.
Contributing
PRs welcome. The build is pnpm-based:
Crop calendar / companion-planting data
The crop calendar (packages/core/src/data/crop-calendar.json) and
companion graph (packages/core/src/data/companions.json) accept
community PRs. Both have JSON Schemas alongside the data:
packages/core/src/data/crop-calendar.schema.jsonpackages/core/src/data/companions.schema.json
When adding a crop entry, include a per-entry source citing a real
extension service (USDA, Cornell, WSU, Oregon State, UMass, UF/IFAS,
etc.). When adding a companion edge, include evidence (strong or
moderate) and a citation URL. Zod validation runs at module load,
so a malformed PR breaks import "@pondlog/core" immediately.
Code
Each package follows a strict pattern documented in
docs/METHODOLOGY.md. Source clients always
ship before the CLI commands or MCP tools that consume them.
License
MIT. See LICENSE.
Source: README.md at commit 049fdf4
Tools
0Version history
2- v0.1.6-1LatestOct 9, 2026
- v0.1.5Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts