
XHelio-SPICE
io.github.huangzesenPublished by GitHub account huangzesenv0.5.1Updated Oct 24, 2026
Spacecraft ephemeris made easy — auto-managed SPICE kernels for heliophysics
Overview
A local MCP server that gives an assistant spacecraft ephemeris tools, auto-downloading and caching NAIF SPICE kernels for heliophysics missions.
- What you can do
- Compute spacecraft position and velocity at a single time or as a CSV timeseries, and distances between two bodies, using SPICE kernels downloaded on demand and cached locally. Transform vectors between coordinate frames such as J2000, ECLIPJ2000, GSE and RTN. List supported missions and available coordinate frames with descriptions. Manage the kernel cache, including ensuring mission kernels are downloaded and loaded and freeing memory.
- When to use it
- Useful when working with heliophysics or planetary mission trajectories — Parker Solar Probe, Solar Orbiter, STEREO-A, Juno, Voyager, New Horizons and similar — and you want an assistant to answer position, distance or frame-conversion questions without handling SPICE setup by hand.
- Requirements
- Runs as a local Python process; install the package with the MCP extra and start the xhelio-spice-mcp command (or the module entry point). Network access is needed on first use to download kernels from NAIF, which are cached under ~/.xhelio_spice/kernels/ unless XHELIO_SPICE_KERNEL_DIR overrides it. No authentication is declared.
Installation
In SourceWeft
- Open XHelio-SPICE in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
xhelio-spice
Spacecraft ephemeris made easy — auto-managed SPICE kernels for heliophysics missions.
xhelio-spice wraps SpiceyPy with automatic kernel download, caching, and loading. Ask for a spacecraft position and xhelio-spice handles the rest: downloading the right NAIF kernels, loading them in the correct order, and returning results as Python dicts or pandas DataFrames.
Installation
For MCP server support (Claude Desktop, Claude Code, Cursor, etc.):
Quick Start
Kernels are automatically downloaded from NAIF on first use and cached in ~/.xhelio_spice/kernels/.
Supported Missions
With SPICE Kernels (auto-downloaded)
- PSP (Parker Solar Probe) — 2018-2030
- Solar Orbiter (SOLO) — 2020-2030
- STEREO-A — 2017-2031
- Juno — 2011-present (updated regularly)
- Voyager 1/2 — 1981-2100 / 1989-2100
- New Horizons — 2019-2030
NAIF IDs Only (no auto-download yet)
- ACE, Wind, DSCOVR, MMS (1-4) — no public SPK kernels exist
- Cassini, MAVEN — require multi-segment kernel loading (planned)
- Galileo, Pioneer 10/11, Ulysses, MESSENGER, STEREO-B
Natural Bodies
Sun, Earth, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto
API Reference
Position & Trajectory
Coordinate Transforms
Mission Registry
Kernel Management
Configuration
MCP Server
xhelio-spice includes an MCP server for LLM tool use:
Claude Desktop Configuration
Add to claude_desktop_config.json:
Available MCP Tools
MCP smoke test
For a CI-safe MCP check that does not request kernel downloads, run:
The smoke starts the stdio server with an isolated temporary kernel cache, runs
MCP initialize + list_tools, and verifies the advertised tool names.
License
MIT
Source: README.md at commit 9aeb318
Tools
0Version history
1- v0.5.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts