@pondlog/mcp-npn

MCPcommunity
v0.1.6-1io.github.andrewschristisonMITUpdated 3d agonpmGitHub

USA National Phenology Network MCP. Bloom, leaf-out, and flight timing from NPN observers.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
53Downloads/wk
3d agoLast update
Package
Authorio.github.andrewschristison
LicenseMIT
Version0.1.6-1
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface8 tools · none privileged
Security scan✓ Cleanv0.1.5 · 1mo agoHow well does this scan work?
EvalsNone
IndexedAug 26, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

8 tools · none privileged
Statically extracted from the published packagev0.1.5 · 1mo ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

search_speciesSearch the USA-NPN species catalog (~1,900 species). Returns matching species with NPN species_id, scientific name, common name, kingdom (Plantae/Animalia/Fungi). Use this first to look up a species_id before calling other tools that take species filters. All filters are case-insensitive. Filters c…

Search the USA-NPN species catalog (~1,900 species). Returns matching species with NPN species_id, scientific name, common name, kingdom (Plantae/Animalia/Fungi). Use this first to look up a species_id before calling other tools that take species filters. All filters are case-insensitive. Filters c…

No input schema was published for this tool.

get_stations_in_stateList all USA-NPN observation stations in a given US state. Returns each station's NPN station_id, name, coordinates, and (when applicable) network ID. Pass `state_code` to narrow. NPN's unfiltered list is ~50,000 stations. Use station_ids returned here to filter `get_observations` or `get_site_leve…

List all USA-NPN observation stations in a given US state. Returns each station's NPN station_id, name, coordinates, and (when applicable) network ID. Pass `state_code` to narrow. NPN's unfiltered list is ~50,000 stations. Use station_ids returned here to filter `get_observations` or `get_site_leve…

No input schema was published for this tool.

get_station_count_by_stateReturns the number of USA-NPN stations per US state (a quick map of NPN's geographic coverage). Useful for deciding which state to query for phenology data, eastern US states (NY, MA, ME) and Arizona have the densest coverage; Pacific Northwest is sparser.

Returns the number of USA-NPN stations per US state (a quick map of NPN's geographic coverage). Useful for deciding which state to query for phenology data, eastern US states (NY, MA, ME) and Arizona have the densest coverage; Pacific Northwest is sparser.

No input schema was published for this tool.

get_stations_with_speciesReturns all NPN stations that have observations for any of the given species. Use to answer 'where in the US can I find phenology data for saguaro?' Note: due to a known upstream NPN bug, some species (notably species_id=3, red maple) return an empty result; the tool surfaces these as empty arrays…

Returns all NPN stations that have observations for any of the given species. Use to answer 'where in the US can I find phenology data for saguaro?' Note: due to a known upstream NPN bug, some species (notably species_id=3, red maple) return an empty result; the tool surfaces these as empty arrays…

No input schema was published for this tool.

get_stations_by_locationReturns NPN stations inside a Well-Known Text polygon. NPN's spatial filter is WKT-based, not lat/lng/radius. WKT format example: 'POLYGON((-123.7 47.9, -123.0 47.9, -123.0 48.3, -123.7 48.3, -123.7 47.9))', coordinate pairs are 'lng lat', the polygon must close (first point repeated as last). For…

Returns NPN stations inside a Well-Known Text polygon. NPN's spatial filter is WKT-based, not lat/lng/radius. WKT format example: 'POLYGON((-123.7 47.9, -123.0 47.9, -123.0 48.3, -123.7 48.3, -123.7 47.9))', coordinate pairs are 'lng lat', the polygon must close (first point repeated as last). For…

No input schema was published for this tool.

get_observationsStatus / intensity observation records, individual observer reports of whether a phenophase was 'yes' (1), 'no' (0), or 'uncertain' (-1) on a given date. This is the rawest NPN data type. REQUIRES a year filter and at least one narrowing filter (species/station/state/genus/family/order/class). Unfi…

Status / intensity observation records, individual observer reports of whether a phenophase was 'yes' (1), 'no' (0), or 'uncertain' (-1) on a given date. This is the rawest NPN data type. REQUIRES a year filter and at least one narrowing filter (species/station/state/genus/family/order/class). Unfi…

No input schema was published for this tool.

get_site_level_dataNo description published

This tool published no description. Forge does not invent one.

get_active_phenology_nearbyNo description published

This tool published no description. Forge does not invent one.

6 of 8 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

USA National Phenology Network MCP. Bloom, leaf-out, and flight timing from NPN observers.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-08-30 — observed resolution, not a publisher declaration.

60 packages resolved · 4 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

56 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+44 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.