Earthdata MCP 服务器是一个 模型上下文协议 (MCP) 服务器实现,提供与 NASA 地球数据交互的工具。它使地理空间分析中的数据集发现、检索和分析更加高效。
🚀 新功能:此服务器现在通过组合包含所有 Jupyter MCP 服务器 工具,提供了统一的界面,用于在 Jupyter 笔记本中进行地球数据分析。
以下演示使用此 MCP 服务器在 NASA 地球数据上搜索数据集和数据颗粒,下载数据并在 Jupyter 中运行进一步分析。
<div> <a href="https://www.loom.com/share/c2b5b05f548d4f1492d5c107f0c48dbc"> <p>使用 AI 驱动的地理空间工具和 Jupyter 分析海平面上升 - 观看视频</p> </a> <a href="https://www.loom.com/share/c2b5b05f548d4f1492d5c107f0c48dbc"> <img style="max-width:100%;" src="https://gips1.baidu.com/it/u=2764471263,2326858715&fm=3081&app=3081&f=GIF?w=640&h=360"> </a> </div>对于全面的设置说明——包括 流式 HTTP 传输和高级配置,请参阅 Jupyter MCP 服务器文档。或者,快速开始使用 JupyterLab 和 stdio 传输如下。
pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.17
# 启动 jupyterlab
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
[!注意]
确保
DOCUMENT_URL和RUNTIME_URL的port与jupyter lab命令中使用的相匹配。
DOCUMENT_ID是您想要连接的笔记本路径,应相对于启动 JupyterLab 的目录。在基本设置中,
DOCUMENT_URL和RUNTIME_URL相同。DOCUMENT_TOKEN和RUNTIME_TOKEN也相同,实际上是 Jupyter Token。
[!注意]
EARTHDATA_USERNAME和EARTHDATA_PASSWORD环境变量用于 NASA 地球数据认证,以通过earthaccess库下载数据集。详情见 NASA 地球数据认证。
{
"mcpServers": {
"earthdata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DOCUMENT_URL",
"-e",
"DOCUMENT_TOKEN",
"-e",
"DOCUMENT_ID",
"-e",
"RUNTIME_URL",
"-e",
"RUNTIME_TOKEN",
"datalayer/earthdata-mcp-server:latest"
],
"env": {
"DOCUMENT_URL": "http://host.docker.internal:8888",
"DOCUMENT_TOKEN": "MY_TOKEN",
"DOCUMENT_ID": "notebook.ipynb",
"RUNTIME_URL": "http://host.docker.internal:8888",
"RUNTIME_TOKEN": "MY_TOKEN",
"EARTHDATA_USERNAME": "your_username",
"EARTHDATA_PASSWORD": "your_password"
}
}
}
}
{
"mcpServers": {
"earthdata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DOCUMENT_URL",
"-e",
"DOCUMENT_TOKEN",
"-e",
"DOCUMENT_ID",
"-e",
"RUNTIME_URL",
"-e",
"RUNTIME_TOKEN",
"--network=host",
"datalayer/earthdata-mcp-server:latest"
],
"env": {
"DOCUMENT_URL": "http://localhost:8888",
"DOCUMENT_TOKEN": "MY_TOKEN",
"DOCUMENT_ID": "notebook.ipynb",
"RUNTIME_URL": "http://localhost:8888",
"RUNTIME_TOKEN": "MY_TOKEN",
"EARTHDATA_USERNAME": "your_username",
"EARTHDATA_PASSWORD": "your_password"
}
}
}
}
该服务器总共提供 15 个工具:3 个特定于地球数据的工具加上 12 个 Jupyter 笔记本操作工具。
search_earth_datasetssearch_earth_datagranulesdownload_earth_data_granules以下 Jupyter 笔记本操作工具可用:
append_markdown_cell: 向笔记本添加 Markdown 单元格insert_markdown_cell: 在特定位置插入 Markdown 单元格overwrite_cell_source: 修改现有单元格内容append_execute_code_cell: 添加并执行代码单元格insert_execute_code_cell: 在特定位置插入并执行代码单元格execute_cell_with_progress: 执行带有进度监控的单元格execute_cell_simple_timeout: 执行带有超时的单元格execute_cell_streaming: 执行带有流式输出的单元格read_all_cells: 读取所有笔记本单元格read_cell: 读取特定笔记本单元格get_notebook_info: 获取笔记本元数据delete_cell: 删除笔记本单元格有关 Jupyter 工具的详细文档,请参阅 Jupyter MCP 服务器文档。
download_analyze_global_sea_level 🆕
sealevel_rise_dataset
start_year (int): 考虑的起始年份。end_year (int): 考虑的结束年份。ask_datasets_format
# 或运行 `docker build -t datalayer/earthdata-mcp-server .`
make build-docker
如果您更喜欢,可以拉取预构建的镜像。
make pull-docker