mcpField
A
astrodynamics-mcp

astrodynamics-mcp

本地服务
github.com/astro-tools科研与教育221 周前更新

关于 astrodynamics-mcp

astrodynamics-mcp 为 MCP 客户端提供轨道力学计算工具,面向卫星、轨道与任务分析工作。它封装上游数值库,返回带明确单位的结果,并可通过可选组件扩展至 GMAT、SPICE 查询和轨迹可视化。

主要功能

  1. 01TLE 查询与 SGP4 传播
  2. 02Lambert 转移与 porkchop 扫描
  3. 03地面站访问窗口计算
  4. 04时间尺度与坐标系转换
  5. 05可选 GMAT、SPICE 和可视化工具

适用场景

  1. 01传播卫星轨道并查询卫星资料
  2. 02计算地面站可见窗口
  3. 03分析行星际转移与飞掠目标

MCP 相关

该 MCP 服务向客户端暴露轨道传播、转移计算、坐标转换等工具;安装可选组件后还可提供 GMAT、SPICE 与可视化工具。支持 stdio 和 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"astro-tools-astrodynamics": {
"command": "uvx",
"args": [
"astrodynamics-mcp"
]
}
}
}
启动命令uvx astrodynamics-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiastrodynamics-mcp0.4.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

astrodynamics-mcp

一个 Model Context Protocol 服务,为任何支持 MCP 的大模型客户端(Claude Code、Cursor、ChatGPT desktop、自定义 Agent)提供权威的天体动力学工具:TLE/SGP4 传播、Lambert 求解、地面站访问、时间尺度与坐标系转换、猪排图扫描、B 平面瞄准、卫星元数据,以及通过可选扩展支持的完整 NASA GMAT 任务执行([gmat])、NASA SPICE / NAIF 内核查询([spice])和轨迹可视化([viz])。

为什么选择它

大模型擅长推理天体动力学概念,但无法完成数值计算——它们无法传播轨道、求解 Lambert 问题,也无法查询 SPICE 星历。astrodynamics-mcp 可将权威工具接入任何支持 MCP 的客户端,让大模型调用经过验证的上游库,而不是编造数字。每个结果都带有明确的单位;每项工具描述都根据 Inspect AI eval 套件进行调优,该套件用于衡量大模型能否选对工具并正确绑定参数。

工具

工具功能基于
tle_lookup按 NORAD ID、名称或群组获取最新 TLE——来源为 CelesTrak(默认)或 Space-Track。CelesTrak gp.php API · Space-Track †
sgp4_propagate在 TEME / ICRF / GCRS / ITRS / CIRS 中,跨 UTC ISO 8601 历元传播 TLE。sgp4
lambert_solve求解 Lambert 问题;枚举多圈解;按需计算双脉冲 Δv。lamberthub
access_windows计算时间窗口内地面站 / 观测者的访问区间,并提供 AOS / LOS / 最大仰角。skyfield
time_convert在 ISO / JD / MJD / J2000-seconds / Unix 格式之间转换 UTC / TAI / TT / TDB / UT1 / GPS / TCB / TCG。astropy.time
frame_transform在 ICRF / ITRS / GCRS / TEME / CIRS / TIRS / IAU 固定于天体的坐标系之间转换状态向量。astropy.coordinates
porkchop计算行星际转移的(出发 × 抵达)Δv / C3 网格,并提供 ASCII 等高线图、摘要或完整输出。lamberthub + JPL Horizons
bplane_target计算双曲线飞掠的 B 平面元素并进行脉冲瞄准。内部实现,数据来自 JPL Horizons
satellite_metadata查询 NORAD ID 对应的物理属性和来源元数据(质量、尺寸、COSPAR ID、发射信息、运营方、衰减状态)。ESA DISCOSweb †

† 需要凭据的来源。对于 stdio 传输,请将凭据作为环境变量传入;对于 HTTP,请在会话初始化的 _meta 块中传入——详见凭据。 调用工具时如果缺少所需凭据,将返回带类型的 CredentialRequiredError,不会静默失败。

GMAT 工具(可选的 [gmat] extra)

安装 [gmat] extra,并在本地安装 NASA GMAT,即可注册另外 5 个用于驱动真实 GMAT 任务的工具(否则这些工具会保持隐藏状态):

工具功能说明支持方
gmat_run_mission运行完整的 GMAT 任务;返回解析后的摘要、报告数据,以及大型输出的指针。gmat-run
gmat_sweep对任务进行参数扫描和蒙特卡洛分析(网格/样本/蒙特卡洛/拉丁超立方)。gmat-sweep
gmat_execute_script应急选项——运行原始 GMAT 脚本文本,并原样返回其报告;引擎错误会作为数据返回。gmat-run
gmat_validate_script解析并验证脚本,但不运行;返回错误、警告以及资源/命令结构。gmat-run
gmat_read_run_artefact读取先前运行所生成文件的原始文本(例如星历,或过大而无法内联的报告)。运行注册表
SPICE 工具(可选的 [spice] extra)

安装 [spice] extra,即可注册另外 7 个工具,这些工具由 NASA NAIF 的 CSPICE 提供支持,并通过 spiceypy 使用(否则这些工具会保持隐藏状态)。它们会将内核载入进程全局池,并查询池中的内容:

工具功能说明支持方
spice_load_kernel从本地路径或 NAIF https URL(已列入允许列表并缓存)将内核载入池中;元内核会载入其中列出的所有内核。spiceypy · NAIF
spice_list_kernels列出当前载入池中的内核,可按类别筛选。spiceypy
spice_unload_kernel根据 spice_load_kernel 返回的 name 卸载已载入的内核。spiceypy
spice_state根据已载入的 SPK 内核,计算一个或多个历元处目标相对于观测者的位置/速度。spiceypy (SPK)
spice_frame_transform在内核定义的参考系之间旋转向量,尤其是非地球天体固连系;也可返回旋转矩阵。spiceypy (FK / PCK)
spice_body_parameters从已载入的 PCK 内核中读取天体的半径、GM 以及极轴/本初子午线方向常数。spiceypy (PCK)
spice_time_convert使用已载入的 LSK / SCLK 内核,在内核定义的时间系统 ET / UTC / SCLK 之间转换。spiceypy (LSK / SCLK)

SPICE 集成页面介绍了内核模型、NAIF URL 载入允许列表,以及进程全局池的信任边界。

可视化工具(可选的 [viz] 扩展)

安装 [viz] 扩展后,还会注册另外四个工具,分别由 matplotlib(静态 PNG 绘图)和 同级项目 gmat-czml(CZML 导出)提供支持 ——否则这些工具会保持隐藏。每个工具都会将图片作为附件返回, 同时提供数值摘要,因此纯文本客户端也能获取答案:

工具功能支持组件
plot_ground_track将卫星的星下点地面轨迹绘制为 PNG,叠加经纬网格,并在行内显示纬度 / 经度范围。matplotlib
plot_trajectory将轨道或转移弧绘制为围绕中心天体的 2D 或 3D PNG,并在行内显示弧长和拱点。matplotlib
plot_porkchop根据完整的 porkchop 网格结果绘制 porkchop C3 等值线 PNG,无需重新计算,并标出最佳网格单元。matplotlib
czml_trajectory将轨迹导出为供 Cesium 3D 客户端使用的 CZML 文档,并作为嵌入资源返回。gmat-czml

附件模型——在结构化摘要旁附加 PNG ImageContent / CZML EmbeddedResource——以及 各类客户端如何呈现这些内容,详见 可视化 页面。

完整的输入 / 输出 JSON 架构请参阅文档网站上的 工具参考页面。

快速开始

安装:

uv tool install astrodynamics-mcp            # or: pipx install astrodynamics-mcp
uv tool install "astrodynamics-mcp[gmat]"    # adds the GMAT mission tools (needs a local GMAT install)
uv tool install "astrodynamics-mcp[spice]"   # adds the SPICE tools (pulls spiceypy / bundled CSPICE)
uv tool install "astrodynamics-mcp[viz]"     # adds the visualisation tools (pulls matplotlib / gmat-czml)
Claude Code

将以下内容添加到 Claude Code MCP 设置中:

{
  "mcpServers": {
    "astrodynamics-mcp": {
      "command": "astrodynamics-mcp",
      "args": ["stdio"]
    }
  }
}

重启 Claude Code。在聊天中:

你: 计算从 250 km 圆形 LEO 到 GEO 的霍曼 Δv。

(模型会根据霍曼转移几何调用 lambert_solve, 并引用工具输出回答 ≈ 3.91 km/s——而不是依赖大模型自身的 权重。)

Cursor

~/.cursor/mcp.json(或工作区级别的 .cursor/mcp.json):

{
  "mcpServers": {
    "astrodynamics-mcp": {
      "command": "astrodynamics-mcp",
      "args": ["stdio"]
    }
  }
}

重启 Cursor。工具会显示在 astrodynamics 服务组下。

请参阅文档中的 选择客户端,了解 ChatGPT 桌面版、原始 Python MCP 测试客户端,以及面向远程 Agent 的 Streamable HTTP 传输。

支持的客户端

客户端传输方式已验证
Claude Codestdio✅ 是
Cursorstdio✅ 是
ChatGPT 桌面版stdio⏳ 预计可用
原始 Python(mcp SDK)stdio✅ 是
远程 AgentStreamable HTTP⏳ 预计可用
LangGraph / AutoGen / CrewAI任意⏳ 预计可用

不是什么

  • 不是通用的天体动力学框架。 封装经过验证的上游库;不重新实现轨道传播器、积分器或坐标系。
  • 不是 Agent 框架。 提供 MCP 工具;LangGraph、AutoGen、CrewAI 和大模型客户端本身会使用这些工具。
  • 不是机器学习/推理服务。 需要自有机器学习模型的工具(机动检测、神经网络轨道传播器)应放在独立的 MCP 服务中,以模块化方式隔离依赖。
  • 不是 SaaS。 在本地或你自己的基础设施上运行。不提供托管式多租户部署。
  • 不是 Web UI。 通过 MCP 客户端使用工具;没有浏览器前端、桌面应用或笔记本小组件。

如需直接通过 Python(非 MCP)使用相同功能,请使用上游库: sgp4、 lamberthub、 skyfield、 astropy、 interplanetary-porkchop、 spiceypy。

构建于

官方 Anthropic modelcontextprotocol/python-sdk (MIT)。内置的 FastMCP 服务类是服务端原语; stdio 和 Streamable HTTP 传输均为一等支持。

文档与链接

隐私

astrodynamics-mcp 完全在你的计算机上运行,不收集任何信息——没有遥测、分析数据或账户。唯一会离开你计算机的数据,是工具发送给其封装的数据源的查询参数(CelesTrak / JPL Horizons / IERS,无需身份验证;只有在你配置凭据后,才会发送给 Space-Track 和 ESA DISCOSweb)。凭据从本地环境变量或会话的 _meta 块中读取,并且只通过 HTTPS 发送给对应服务。完整说明请参阅隐私页面。

许可证

MIT — 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。