Token导航 LogoToken导航TokenDH.com
Xhelio Cdaweb logo
运维云端stdio官方级别未说明来源级核验

Xhelio Cdaweb

MCP Server

xhelio-cdaweb是一个用于访问NASA CDAWeb太阳物理数据的工具,支持通过Python库或MCP服务器浏览观测站、检查参数和获取CDF数据。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
数据访问PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

huangzesen

提供方

huangzesen

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install xhelio-cdaweb

详细介绍

xhelio cdaweb

美国国家航空航天局CDAWeb太阳物理学数据访问——浏览天文台,检查参数,获取CDF数据。

可作为独立的Python库或任何兼容MCP的LLM客户端(Claude Desktop、Cursor、自定义代理)的MCP服务器。

包含什么

  • 65个天文台目录 拥有2900多个数据集——ACE、帕克太阳探测器、太阳轨道器、Wind、MMS、THEMIS、GOES、Voyager等
  • 2880个预构建的参数元数据文件 来自CDF骷髅大师-- browse_parameters 立即工作,无需网络
  • 自动数据验证 --将获取的CDF文件与主CDF元数据进行比较,以检测幻影(有记录但缺失)和无记录(存在但无记录)参数
  • 结构化系统提示 每个天文台——提供LLM关于可用仪器、数据集和时间覆盖的完整背景

天文台目录是直接从CDAWeb REST API天文台组构建的,没有手工策划的映射。

安装

# Library only
pip install xhelio-cdaweb

# With MCP server
pip install xhelio-cdaweb[mcp]

MCP服务器

配置(克劳德桌面、光标等)

{
  "mcpServers": {
    "cdaweb": {
      "command": "xhelio-cdaweb-mcp"
    }
  }
}

使用自定义缓存目录:

{
  "mcpServers": {
    "cdaweb": {
      "command": "xhelio-cdaweb-mcp",
      "args": ["--cache-dir", "/path/to/cache"]
    }
  }
}

或者直接运行:

xhelio-cdaweb-mcp
xhelio-cdaweb-mcp --cache-dir /path/to/cache
python -m cdawebmcp

缓存目录

所有运行时数据都存储在单个根目录下。默认为 ~/.cdawebmcp/.

首次使用时,捆绑的数据(天文台目录和参数元数据)被复制到缓存目录中。这确保了所有的读取和写入都发生在一个可写位置,即使对于来自PyPI的不可编辑安装也是如此。

通过配置 --cache-dir (MCP服务器)或 cdawebmcp.configure() (图书馆):

import cdawebmcp
cdawebmcp.configure(cache_dir="/path/to/cache")
~/.cdawebmcp/                  # or custom path via configure()
├── observatories/                  # Observatory catalog JSONs (bootstrapped from package)
├── metadata/                  # Parameter metadata JSONs (bootstrapped from package)
├── cdf_cache/                 # Downloaded CDF data files (permanent, reused across fetches)
│   └── ace/mfi/               #   organized by observatory/instrument path
│       └── ac_h2_mfi_2024.cdf
└── overrides/                 # Validation sync results (append-only)
    └── ace/
        └── AC_H2_MFI.json
  • observatories/ --天文台JSON目录。首次使用时从捆绑包数据中启动。
  • metadata/ --参数元数据JSON。首次使用时从捆绑包数据中启动。根据需要从主CDF获取新的元数据。
  • cdf_cache/ --下载CDF文件的永久缓存。一旦下载了CDF文件,就永远不会重新下载。使用 manage_cache(action="clean", category="cdf_cache") 释放磁盘空间。
  • overrides/ --将提取的数据与元数据进行比较的验证结果。仅追加,每个数据集一个JSON。

工具

工具说明
browse_observatories()列出所有65个CDAWeb观测站,包括描述、数据集计数和仪器
load_observatory(observatory_id)获取天文台的完整系统提示(角色说明+完整的数据集目录)
browse_parameters(dataset_id)浏览数据集中的所有变量——名称、类型、单位、描述,以及验证状态(如果可用)
fetch_data(dataset_id, parameters, start, stop, output_dir)下载CDF数据,写入文件,返回元数据+每列统计数据(min、max、mean、std、nan_ratio)
manage_cache(action, ...)缓存管理——状态、清理、刷新元数据、刷新时间范围、重建目录

典型工作流程

browse_observatories  →  load_observatory("ace")  →  browse_parameters("AC_H2_MFI")  →  fetch_data(...)
  1. 发现可用的天文台
  2. 加载天文台的完整目录和说明
  3. 检查数据集参数以选择要获取的内容
  4. 获取某个时间范围的数据--返回文件路径+统计信息

Python库

from cdawebmcp.catalog import browse_observatories
from cdawebmcp.prompts import build_observatory_prompt
from cdawebmcp.metadata import browse_parameters
from cdawebmcp.fetch import fetch_data

# List all 65 observatories
observatories = browse_observatories()

# Get observatory-specific system prompt
prompt = build_observatory_prompt("ace")

# Browse dataset parameters (instant — uses bundled metadata)
params = browse_parameters(dataset_id="AC_H2_MFI")

# Fetch data — returns DataFrames directly
result = fetch_data("AC_H2_MFI", ["Magnitude"], "2024-01-01", "2024-01-02")
mag = result["Magnitude"]
print(mag["data"])       # pandas DataFrame
print(mag["units"])      # "nT"
print(mag["stats"])      # per-column {min, max, mean, std, nan_ratio}

数据验证

fetch_data 下载CDF文件时,它会自动将实际数据变量与捆绑的主CDF元数据进行比较。差异记录在 ~/.cdawebmcp/overrides/ 并浮出水面 browse_parameters:

  • 幻影参数 --在元数据中列出,但在实际数据文件中不存在
  • 未记录的参数 --存在于数据文件中,但不存在于官方元数据中

此验证针对每个唯一的CDF源URL运行一次,并构建一个具有完整来源(源文件、URL、时间戳)的仅追加存档。

捆绑数据

数据计数描述
天文台目录65仪器、数据集、时间覆盖、PI信息
参数元数据2880变量名称、类型、单位、填充值、大小
提示模板2通用角色+CDAWeb特定工作流说明

所有捆绑的数据都随软件包一起提供,并在首次使用时复制到缓存目录中。浏览时无需网络访问——仅限 fetch_data 需要连接到CDAWeb。

目录更新

从CDAWeb REST API重建:

# Rebuild observatory catalogs (uses CDAWeb observatory groups API)
python -m cdawebmcp.scripts.build_catalog
python -m cdawebmcp.scripts.build_catalog --observatory ace
python -m cdawebmcp.scripts.build_catalog --list

# Rebuild parameter metadata from Master CDFs
python -m cdawebmcp.scripts.build_metadata
python -m cdawebmcp.scripts.build_metadata --observatory psp

发展

pip install -e ".[dev]"
pytest tests/ -v

许可证

麻省理工学院

目录标签

目录标签

数据访问PythonClaude太阳物理本地部署NASA数据CDF文件自动化验证

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP