Earthdata MCP Server 使用说明
项目简介
Earthdata MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问 NASA Earthdata 地球科学数据的能力。它通过 MCP 协议,以标准化的方式向 LLM 客户端提供数据集和数据颗粒的检索工具,使得 LLM 能够便捷地获取和利用 NASA 的地球观测数据进行分析和应用。
主要功能点
- 数据集检索 (search_earth_datasets): 允许用户通过关键词、时间范围和地理范围检索 NASA Earthdata 中的数据集,返回数据集的摘要信息。
- 数据颗粒检索 (search_earth_datagranules): 允许用户根据数据集短名称、时间范围和地理范围检索数据颗粒,返回数据颗粒信息。
- MCP 协议支持: 完全实现了 MCP 服务器的核心功能,可以通过 JSON-RPC 协议与客户端进行通信。
- Docker 部署: 提供 Docker 镜像,方便用户快速部署和运行服务器。
- 与 Claude Desktop 集成: 提供详细的 Claude Desktop 集成配置指南,方便用户在 Claude 环境中使用该服务器。
安装步骤
由于该项目提供 Docker 镜像,推荐使用 Docker 方式安装和运行。
- 安装 Docker: 确保您的系统已安装 Docker 和 Docker Compose。
- 拉取 Docker 镜像: 执行以下命令拉取预构建的 Earthdata MCP Server Docker 镜像:
或者,您也可以选择自行构建 Docker 镜像:make pull-dockermake build-docker
服务器配置
要将 Earthdata MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以连接到该服务器。以下是针对 Claude Desktop 的配置示例,您可以将其添加到 'claude_desktop_config.json' 文件中。
{ "mcpServers": { "earthdata": { // 服务器名称,可以自定义,例如 "earthdata" "command": "docker", // 启动服务器的命令,这里使用 docker "args": [ // 启动服务器命令的参数列表 "run", // docker run 命令,用于运行容器 "-i", // 保持 STDIN 打开,即使未连接 "--rm", // 容器退出后自动删除 "datalayer/earthdata-mcp-server:latest" // Docker 镜像名称和标签,指定要运行的镜像 ] } } }
配置参数说明:
- '"earthdata"': 为该 MCP 服务器定义的名称,在客户端中用于引用。您可以自定义此名称。
- '"command": "docker"': 指定用于启动 MCP 服务器的命令为 'docker'。这意味着客户端将通过 Docker 运行 Earthdata MCP Server。
- '"args": [...]"': 提供传递给 'docker run' 命令的参数列表。
- '"run"': Docker 命令,表示运行一个新的容器。
- '"-i"' 和 '"--rm"': Docker 运行参数,'-i' 保持标准输入 (STDIN) 打开,即使没有连接到容器,'--rm' 在容器退出时自动删除容器,保持环境清洁。
- '"datalayer/earthdata-mcp-server:latest"': 指定要运行的 Docker 镜像为 'datalayer/earthdata-mcp-server' 的 'latest' 标签版本。这是 Earthdata MCP Server 的预构建 Docker 镜像。
注意: 您还需要配置 Jupyter MCP Server 以配合使用,具体配置请参考 https://github.com/datalayer/jupyter-mcp-server。
基本使用方法
配置完成后,当您在支持 MCP 协议的 LLM 客户端(如 Claude Desktop)中提出与地球科学数据相关的问题时,客户端将自动调用 Earthdata MCP Server 提供的工具。
例如,在 Claude 中,您可以这样提问:
search for sea level rise datasets from NASA Earthdata
LLM 客户端会解析您的请求,并调用 Earthdata MCP Server 的 'search_earth_datasets' 工具,检索相关的 NASA Earthdata 数据集信息并返回给您。 您可以进一步要求下载数据或进行分析。
更具体的指令示例 (来自 README):
create an analysis about sea level rise from 2000 to 2025 in my jupyter notebook with real downloaded data before that, install the needed python libraries you will need for the analysis
在这个例子中,LLM 可以利用 Earthdata MCP Server 检索数据,并结合 Jupyter MCP Server 在 Jupyter Notebook 中进行数据分析。
总结
Earthdata MCP Server 提供了一种便捷的方式,让 LLM 应用能够访问和利用 NASA Earthdata 的海量地球科学数据资源。通过简单的配置和自然语言指令,用户即可在 LLM 环境中进行地球科学数据的检索和初步分析,极大地扩展了 LLM 在科学研究领域的应用潜力。
信息
分类
AI与计算