neon-mcp
neon-mcp
A Model Context Protocol server for the NEON Data API — the National Ecological Observatory Network's 200 data products at 81 field sites. It lets AI agents find products and sites, check which months have data (released and provisional), list and download data files, walk location hierarchies, browse releases, taxonomy, samples and prototype datasets, and cite what they use — through compact, paginated, schema-validated tool results instead of NEON's multi-megabyte payloads.
MCP 2026-07-28 stateless core on the Python
mcp2.x SDK; stdio (both protocol eras) and stateless Streamable HTTP at/mcp.20 tools, 8
neon://resources + 3 templates, 3 prompts.Token-aware: discovery works anonymously; data files and sample views use your NEON API token (required by NEON since June 2026), never logged or echoed.
Rate-limit and size aware: per-identity throttling under NEON's limits, caching, GraphQL-first catalogs, a 50 KB result budget with explicit paging.
Documentation: https://idss-mesa.github.io/neon-mcp/ (also as llms.txt and llms-full.txt for agents).
Quick start
uv tool install git+https://github.com/idss-mesa/neon-mcp # PyPI release pending
neon-mcp --check # {"ok": true, ...}
claude mcp add neon -s user -e NEON_TOKEN="$NEON_TOKEN" -- neon-mcp --transport stdioThen ask your agent to call neon_ping, or to "find NEON breeding bird data at
Harvard Forest for June 2023 and cite it".
NEON API token
Create one at https://data.neonscience.org/myaccount. Set NEON_MCP_NEON__API_TOKEN
(or NEON_TOKEN) in the server's environment. Without a token everything works except
neon_list_files, neon_download_files (for data files) and neon_get_sample, which
return auth_required. Hosted deployments accept each caller's token in the
X-API-Token header behind HTTPS. Never commit a token.
Clients
Client | Registration |
Claude Code |
|
Claude Code (hosted) |
|
Codex CLI |
|
Claude Desktop, OpenCode, Antigravity | JSON snippets in Clients |
Tools
Family | Tools |
Products and sites |
|
Availability and data |
|
Locations |
|
Releases and citation |
|
Taxonomy, samples, prototype |
|
Utilities |
|
Inputs, result fields and endpoints: tool reference (generated from the registry).
Configuration and deployment
YAML (--config), NEON_MCP_<SECTION>__<FIELD> environment variables and flags; see
Configuration,
config.yaml.example and .env.example. For a hosted server:
neon-mcp --transport http behind TLS, or the included Dockerfile — see
Hosted HTTP deployment.
Development
git clone https://github.com/idss-mesa/neon-mcp && cd neon-mcp
uv sync --all-extras
uv run pytest && uv run mypy --strict src && uv run ruff check src tests scriptsSee CLAUDE.md, AGENTS.md (documentation rules) and
Contributing.
Citing NEON data and license
NEON data are CC BY 4.0; cite each product at its release DOI (neon_get_citation does
this) — see Citing NEON data.
neon-mcp is MIT-licensed, Copyright (c) 2026 The Regents of the University of New Mexico,
and is not affiliated with NEON, Battelle or NSF.