Skip to main content
Glama
idss-mesa

neon-mcp

by idss-mesa

Download NEON files

neon_download_files
Idempotent

Download NEON ecological data files, package ZIPs, prototype datasets, or documents to a local directory with size checks, MD5 verification, and skip of identical existing files.

Instructions

Download data files (or package ZIPs), a prototype dataset's files, or a NEON document into the configured download directory (stdio only; data files need a token). The plan is checked against file/byte caps before any transfer; MD5s are verified; identical existing files are skipped. Next: read the CSVs (pandas.read_csv) and cite with neon_get_citation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
horNoHorizontal index, e.g. 000.
tmiNoTemporal index in minutes, e.g. 030.
verNoVertical index, e.g. 010.
kindNodata, variables, readme, sensor_positions, eml, ... or package.
tableNoTable name, e.g. 2DWSD_30min or brd_countdata.
as_zipNoDownload NEON's package ZIP per site-month instead of files.
packageNobasic (default) or expanded.basic
productNoProduct code or name.
releaseNoOnly files in this release (default: latest per month).
end_monthNoLast month (YYYY-MM); defaults to start_month.
if_existsNoskip identical existing files (default) or error.skip
max_bytesNoRefuse the plan above this many bytes.
file_namesNoWith prototype_uuid: only these file names.
site_codesNoSite codes or names (up to 30).
dest_subdirNoRelative sub-directory of the download directory.
spec_numberNoDownload one NEON document (e.g. NEON.DOC.000780vD).
start_monthNoFirst month (YYYY-MM).
name_containsNoSubstring the file name must contain.
prototype_uuidNoDownload a prototype dataset's files instead.
include_provisionalNoInclude PROVISIONAL (unreleased) months.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesYes
notesNo
sourceNo
totalsYes
resolvedNo
nextStepsNo
requestedYes
downloadDirYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark this as idempotent and non-destructive, but the description adds useful details: writes into a download directory, requires a token for data files, checks size limits, verifies MD5s, and skips identical existing files. It goes meaningfully beyond the structured annotations, though it does not cover error or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with each sentence serving a distinct purpose: scope, safety behavior, and next steps. The parentheticals add density, but the description remains efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter tool with no required parameters, the description gives useful context and the schema carries the individual parameter details. However, it does not explain which parameter groups are required for each download mode, how to discover file names via sibling tools, or the setup needed for the token, leaving some completeness gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter coverage, but the description adds useful semantic structure by grouping parameters into download modes: data files/package ZIPs, prototype datasets, and NEON documents. It also surfaces behaviors tied to parameters like byte caps and skip-if-identical, which helps an agent form a valid parameter combination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool downloads NEON data files, package ZIPs, prototype dataset files, or NEON documents into a configured download directory. It does not explicitly distinguish itself from overlapping siblings such as neon_get_document or neon_list_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a workflow hint ('read the CSVs ... cite with neon_get_citation') and notes that data files need a token, but it does not say when to prefer this tool over its siblings or what to do before calling it. No exclusions, prerequisites beyond the token, or alternative-tool routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.