Quickstart¶
This walks through a first session in Claude Code1; other clients
work the same way once connected (Clients). It uses the tools available
today: edi_ping, the discovery tools (edi_search_packages, edi_list_scopes,
edi_list_identifiers, edi_list_revisions) and the package tools (edi_get_package,
edi_get_metadata, edi_list_entities). Preview, download and citation tools are still
being built; see the Roadmap.
1. Register the server¶
edi-mcp works with or without an EDI API key. With a key it reads EDI's own PASTA+ API; without one it falls back to the anonymous DataONE replicas of EDI content (see Backends).
Create a key at auth.edirepository.org
(step by step) and export it as EDI_API_KEY without
echoing it to the terminal:
2. Check it¶
Ask the agent to "call edi_ping with check_api=true". The result shows the version,
protocol 2026-07-28, keyConfigured, the backend serving you (pasta or
dataone) and, under api, whether one small request to that backend succeeded. With
a key, api.credential is token when edi-mcp exchanged the key for a short-lived
edi-token. The key itself never appears in any result.
3. Find and inspect a package¶
The agent normally chains these on its own; the arguments below are what it sends. Results are abbreviated, and the package ids are examples: what a search returns depends on the backend and on what EDI holds at the time.
-
Search
{"tool": "edi_search_packages", "arguments": {"query": "net primary production", "scope": "Jornada"}}→
resolved: [{"field": "scope", "input": "Jornada", "code": "knb-lter-jrn", ...}]anditems, each withpackageId(such asknb-lter-jrn.210548103.33),title,pubDate,doi,authors,keywordsandportalUrl, pluspagefor paging andsource.backend. Scopes accept exact names (knb-lter-jrn), LTER site codes (JRN) and names (Jornada); see Package identifiers. -
List the revisions of one package
→
series: "knb-lter-jrn.210548103", therevisionsin ascending order,newest,oldestandnewestPackageId. Without a key, DataONE answers and may not yet hold the newest revision PASTA has. -
Browse a scope
→ the package identifiers in
knb-lter-hbr, ascending and paged. -
Read one package
→
title,doi,license,isNewest, andentitieswith sizes andtotalBytes. Thenedi_get_metadata(withincludesuch as["overview", "coverage"]) gives the abstract, keywords and coverage, andedi_list_entitiesgives each table's columns, units and missing-value codes, with a PASTAdataUrland, where DataONE replicates the scope, a keylessanonymousUrl. See Packages, metadata and entities.
Every result also carries notes (caveats such as DataONE lag) and nextSteps
(concrete follow-up calls). The Tool reference lists every
input and result field.
-
Claude Code — MCP. https://docs.claude.com/en/docs/claude-code/mcp ↩
-
EDI PASTA+ Data Package Manager REST API. https://pasta.lternet.edu/package/docs/api ↩