使用说明
项目简介
本项目 'cmr-mcp' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在使大型语言模型 (LLM) 能够访问 NASA Earthdata Search (CMR) 中的地球科学数据集。通过集成该 MCP 服务器,LLM 智能体可以被指示搜索和检索 NASA 的数据集信息,从而扩展其在地球科学领域的应用能力。
主要功能点
- 数据集搜索: 提供通过关键词、时间范围和数据中心 (DAAC) 搜索 NASA CMR 数据集的功能。
- 工具集成: 通过 MCP 协议的工具 (Tool) 机制,将数据集搜索功能暴露给 LLM 客户端。
- 标准 MCP 接口: 遵循 MCP 协议规范,易于与支持 MCP 协议的 LLM 客户端集成。
- 地球科学数据访问: 专注于地球科学领域,连接 LLM 与 NASA 丰富的地球观测数据资源。
安装步骤
-
克隆仓库:
git clone https://github.com/podaac/cmr-mcp.git cd cmr-mcp -
安装 uv: uv 是一个 Rust 编写的 Python 包管理器,用于管理项目依赖。
curl -LsSf https://astral.sh/uv/install.sh | sh按照提示完成 uv 的安装。
-
创建虚拟环境:
uv venv source .venv/bin/activate -
安装 Python 包: 使用 uv 同步项目依赖。
uv sync -
获取配置参数:
- 运行 'which uv' 命令,记录输出结果,这将是 '<UV_LIB_PATH>' 的值。
- 运行 'pwd' 命令,记录当前 cmr-mcp 仓库的安装路径,这将是 '<CMR_MCP_INSTALL_PATH>' 的值。
服务器配置
要将此 MCP 服务器添加到 LLM 客户端(例如 Claude Desktop),您需要配置客户端的 MCP 服务器设置。以下是 Claude Desktop 的 'claude_desktop_config.json' 配置文件示例。请根据您的 LLM 客户端的配置方法进行相应设置。
配置信息 (JSON 格式):
{ "mcpServers": { "cmr": { "command": "<UV_LIB_PATH>", "args": [ "--directory", "<CMR_MCP_INSTALL_PATH>", "run", "cmr-search.py" ] } } }
参数说明:
- 'server name': 'cmr' (服务器名称,在客户端中引用时使用)
- 'command': '<UV_LIB_PATH>' (uv 的可执行文件路径,替换为之前步骤中 'which uv' 命令的输出)
- 'args': 启动服务器的参数列表
- '--directory': '<CMR_MCP_INSTALL_PATH>' (cmr-mcp 仓库的安装路径,替换为之前步骤中 'pwd' 命令的输出)
- 'run': uv 的运行命令
- 'cmr-search.py': MCP 服务器的启动脚本
请务必将 '<UV_LIB_PATH>' 和 '<CMR_MCP_INSTALL_PATH>' 替换为实际的路径,而不是环境变量。 不同 LLM 客户端的配置文件位置和格式可能有所不同,请参考您使用的客户端的文档进行配置。
基本使用方法
配置完成后,您可以在 LLM 客户端中通过自然语言指令来指示智能体使用 CMR MCP 服务器进行数据集搜索。例如,在 Claude Desktop 中,您可以尝试以下提示:
- 'search cmr for datasets from 2024 to 2025' (搜索 2024 年到 2025 年的数据集)
- 'Search CMR for PO.DAAC datasets from 2020 to 2024 with keyword Climate' (搜索 PO.DAAC 在 2020 年到 2024 年的,关键词为 Climate 的数据集)
- 'search cmr for soil moisture datasets' (搜索土壤湿度数据集)
智能体应该能够理解您的指令,调用 'cmr' MCP 服务器的 'get_datasets' 工具,并返回相关的 NASA CMR 数据集信息。
信息
分类
网页与API