Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

earthdata-mcp-server

MCP.Pizza Chef: datalayer

Earthdata MCP Server is a Model Context Protocol server that enables seamless interaction with NASA Earth Data. It facilitates efficient discovery, access, and retrieval of geospatial datasets, empowering developers and analysts to integrate rich Earth observation data into AI workflows and applications for environmental and scientific analysis.

Use This MCP server To

Discover NASA Earth Data datasets via MCP protocol Retrieve geospatial data for environmental analysis Integrate Earth observation data into AI workflows Enable real-time geospatial data access for models Support multi-step reasoning with Earth data context Automate dataset search and retrieval from NASA Earth Data Provide structured geospatial metadata to LLMs Facilitate scientific research with up-to-date Earth data

README

Datalayer

Become a Sponsor

🪐 ✨ Earthdata MCP Server

Github Actions Status PyPI - Version

Earthdata MCP Server is a Model Context Protocol (MCP) server implementation that provides tools to interact with NASA Earth Data. It enables efficient dataset discovery and retrieval for Geospatial analysis.

The following demo uses this MCP server to search for datasets and data granules on NASA Earthdata, the jupyter-earth-mcp-server to download the data in Jupyter and the jupyter-mcp-server to run further analysis.

Use with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json.

{
  "mcpServers": {
    "earthdata": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "datalayer/earthdata-mcp-server:latest"
      ]
    }
  }
}

If you are using Linux, start Claude with the following command.

make claude-linux

Tools

The server offers 2 tools.

search_earth_datasets

  • Search for datasets on NASA Earthdata.
  • Input:
    • search_keywords (str): Keywords to search for in the dataset titles.
    • count (int): Number of datasets to return.
    • temporal (tuple): (Optional) Temporal range in the format (date_from, date_to).
    • bounding_box (tuple): (Optional) Bounding box in the format (lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat).
  • Returns: List of dataset abstracts.

search_earth_datagranules

  • Search for data granules on NASA Earthdata.
  • Input:
    • short_name (str): Short name of the dataset.
    • count (int): Number of data granules to return.
    • temporal (tuple): (Optional) Temporal range in the format (date_from, date_to).
    • bounding_box (tuple): (Optional) Bounding box in the format (lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat).
  • Returns: List of data granules.

Prompts

  1. sealevel_rise_dataset

    • Search for datasets related to sea level rise worldwide.
    • Input:
      • start_year (int): Start year to consider.
      • end_year (int): End year to consider.
    • Returns: Prompt correctly formatted.
  2. ask_datasets_format

    • To ask about the format of the datasets.
    • Returns: Prompt correctly formatted.

Building

# or run `docker build -t datalayer/earthdata-mcp-server .`
make build-docker

If you prefer, you can pull the prebuilt images.

make pull-docker

earthdata-mcp-server FAQ

How does Earthdata MCP Server access NASA Earth Data?
It uses NASA's Earth Data APIs to fetch and expose datasets via the MCP protocol.
Can Earthdata MCP Server handle large geospatial datasets?
Yes, it is designed to efficiently manage and stream large Earth observation datasets.
Is Earthdata MCP Server compatible with multiple LLM providers?
Yes, it works with OpenAI, Anthropic Claude, and Google Gemini models through the MCP standard.
How do I deploy Earthdata MCP Server?
It can be installed via PyPI and configured to connect to NASA Earth Data endpoints.
Does Earthdata MCP Server support real-time data updates?
Yes, it can provide up-to-date Earth observation data as it becomes available.
What programming languages are supported for integration?
Primarily Python, but MCP clients in other languages can interact with it via the MCP protocol.
Can I customize dataset filters in Earthdata MCP Server?
Yes, it supports query parameters to refine dataset discovery and retrieval.
Is the Earthdata MCP Server open source?
Yes, it is BSD 3-Clause licensed and available on GitHub.