{"serverId":"mcp-registry/io.github.nasa/earthdata-mcp","tools":[{"name":"get_citations","fixed":{"name":"get_citations","description":"Discover citation records directly associated with a collection, or look up a citation by identifier (e.g. DOI). Use this tool to evaluate citation relevance for a collection.\n\nKey fields in each returned item:\n- concept_id: CMR citation concept ID\n- name: The title or name of the citation\n- identifier: The primary DOI or identifier\n- abstract: Abstract text\n- citation_metadata: Nested metadata including Year, Publisher, and Author list","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"description":"Maximum number of results to return (default 10, max 50). Keep this small to avoid context window bloat. When using limit > 10, always specify the fields parameter."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token for the next page of results. Pass the exact next_cursor string returned by the previous tool call. Cursors are query-scoped: they lock in the original search parameters and cannot be reused across different tools or different queries. If you need to change any search parameter, start a new search without a cursor."},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"collection_concept_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":426,"tokensAfter":426},{"name":"get_keywords","fixed":{"name":"get_keywords","description":"Discover official Earthdata vocabulary (like 'ATMOSPHERIC WATER VAPOR') directly from NASA's Keyword Management System (KMS). Use this to find the exact preferred labels to construct successful get_collections searches.\n\nKey fields in each returned item:\n- prefLabel: The preferred label to use in searches\n- uuid: The KMS concept UUID\n- definition: Context and expanded acronyms\n- scheme: The vocabulary scheme (e.g. sciencekeywords, platforms)","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"description":"Maximum number of results to return (default 10, max 50). Keep this small to avoid context window bloat. When using limit > 10, always specify the fields parameter."},"query":{"type":"string"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token for the next page of results. Pass the exact next_cursor string returned by the previous tool call. Cursors are query-scoped: they lock in the original search parameters and cannot be reused across different tools or different queries. If you need to change any search parameter, start a new search without a cursor."},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"scheme":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":395,"tokensAfter":395},{"name":"get_variables","fixed":{"name":"get_variables","description":"Discover scientific variables and measurements associated with a collection, or look up variables by keyword. Use this tool to understand dataset variables, dimensions, and data processing parameters (such as scale, offset, and fill values) before downloading or analyzing data.\n\nKey fields in each returned item:\n- concept_id: CMR variable concept ID\n- name: Variable short name\n- long_name: Variable long name\n- definition: Variable definition\n- data_type: Data type of the variable\n- units: Units ","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"description":"Maximum number of results to return (default 10, max 50). Keep this small to avoid context window bloat. When using limit > 10, always specify the fields parameter."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token for the next page of results. Pass the exact next_cursor string returned by the previous tool call. Cursors are query-scoped: they lock in the original search parameters and cannot be reused across different tools or different queries. If you need to change any search parameter, start a new search without a cursor."},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"collection_concept_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":422,"tokensAfter":422}],"toolsChanged":3,"tokensSaved":0,"todo":[{"tool":"get_citations","params":["fields","provider","identifier","collection_concept_id"]},{"tool":"get_collections","params":["fields","platform","instrument","processing_level_id"]},{"tool":"get_granules","params":["fields"]},{"tool":"get_keywords","params":["query","fields","scheme"]},{"tool":"get_services","params":["type","fields","keyword","collection_concept_id"]},{"tool":"get_tools","params":["fields","keyword","collection_concept_id"]},{"tool":"get_variables","params":["fields","keyword","collection_concept_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}