Jupyter地球MCP服务器
一种模型上下文协议服务器实现,它在Jupyter笔记本中提供地理空间分析工具,特别是用于下载NASA地球数据颗粒。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"jupyter-earth": {
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"datalayer/jupyter-earth-mcp-server:latest"
],
"command": "docker",
"env": {
"NOTEBOOK_PATH": "notebook.ipynb",
"SERVER_URL": "http://host.docker.internal:8888",
"TOKEN": "MY_TOKEN"
}
}
}
}
该服务需要配置环境变量:NOTEBOOK_PATH、SERVER_URL、TOKEN
服务介绍
🌎 ✨ Jupyter Earth MCP 服务器
🌍 Jupyter Earth MCP 服务器是一个 Model Context Protocol (MCP) 服务器实现,它为在 📓 Jupyter 笔记本中进行 🗺️ 地理空间分析提供了一套工具。
以下演示使用了 Earthdata MCP 服务器 在 NASA Earthdata 上搜索数据集和数据颗粒,使用此 MCP 服务器在 Jupyter 中下载数据,并使用 jupyter-mcp-server 进行进一步的分析。
启动 JupyterLab
确保已安装以下内容。协作包是必需的,因为借助 Jupyter 实时协作,可以在笔记本上看到所做的修改。
pip install jupyterlab jupyter-collaboration ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt
然后,使用以下命令启动 JupyterLab。
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
您也可以运行 make jupyterlab。
[!NOTE]
--ip设置为0.0.0.0以允许在 Docker 容器中运行的 MCP 服务器访问您的本地 JupyterLab。
与 Claude Desktop 一起使用
Claude Desktop 可以从 此页面 下载 macOS 和 Windows 版本。
对于 Linux,我们成功使用了基于 nix 的 非官方构建脚本。
# ⚠️ UNOFFICIAL
# You can also run `make claude-linux`
NIXPKGS_ALLOW_UNFREE=1 nix run github:k3d3/claude-desktop-linux-flake \
--impure \
--extra-experimental-features flakes \
--extra-experimental-features nix-command
要与 Claude Desktop 一起使用,请将以下内容添加到您的 claude_desktop_config.json(有关更多信息,请参阅 MCP 文档网站)。
[!IMPORTANT]
确保
SERVER_URL和TOKEN的端口与jupyter lab命令中使用的端口匹配。
NOTEBOOK_PATH应该是相对于启动 JupyterLab 的目录的路径。
macOS 和 Windows 上的 Claude 配置
{
"mcpServers": {
"jupyter-earth": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"datalayer/jupyter-earth-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://host.docker.internal:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
}
}
Linux 上的 Claude 配置
CLAUDE_CONFIG=${HOME}/.config/Claude/claude_desktop_config.json
cat <<EOF > $CLAUDE_CONFIG
{
"mcpServers": {
"jupyter-earth": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"--network=host",
"datalayer/jupyter-earth-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://localhost:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
}
}
EOF
cat $CLAUDE_CONFIG
组件
工具
服务器目前提供了 1 个工具:
download_earth_data_granules
- 在 Jupyter 笔记本中添加一个代码单元格,用于从 NASA Earth Data 下载地球数据颗粒。
- 输入:
folder_name(字符串):保存数据的本地文件夹名称。short_name(字符串):要下载的地球数据集的简称。count(整数):要下载的数据颗粒数量。temporal(元组):(可选) 时间范围,格式为 (date_from, date_to)。bounding_box(元组):(可选) 边界框,格式为 (左下经度, 左下纬度, 右上经度, 右上纬度)。
- 返回:单元格输出。
提示
download_analyze_global_sea_level- 用于请求在 Jupyter 中下载和分析全球海平面数据。
- 返回:正确格式化的提示。
构建
你可以从源代码构建 Docker 镜像。
make build-docker