# HelioSPICE [Health: Active]

**Category:** 🚀 Aerospace & Astrodynamics  
**Repository:** https://github.com/huangzesen/heliospice  
**GitHub Stars:** 0  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/heliospice

## Description
Spacecraft ephemeris made easy — auto-managed SPICE kernels for heliophysics

## Tools
Capabilities this server exposes over MCP:

- **get_ephemeris** — Position/velocity — single time (inline) or timeseries (CSV)
- **compute_distance** — Distance between two bodies
- **transform_coordinates** — Coordinate frame transform
- **list_spice_missions** — Supported missions
- **list_coordinate_frames** — Available frames with descriptions
- **manage_kernels** — Kernel cache management

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "heliospice": {
    "command": "uvx",
    "args": ["xhelio-spice"],
    "env": {
      "XHELIO_SPICE_KERNEL_DIR": ""
    }
  }
}
```

**Requires environment variables:** `XHELIO_SPICE_KERNEL_DIR` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What HelioSPICE MCP server does

The HelioSPICE MCP server gives MCP-compatible agents access to spacecraft and planetary geometry from NAIF SPICE data. It wraps the xhelio-spice Python package and SpiceyPy, handling kernel retrieval, loading, and caching so callers can request ephemerides without managing the underlying files directly.

Position and velocity queries can target a single timestamp or produce a timeseries in CSV form. Other operations calculate the distance between two bodies and convert vectors between supported coordinate frames. The server also exposes discovery tools for supported missions and coordinate frames, plus operations for inspecting or managing the local kernel cache.

## How it works

On the first request that needs mission data, xhelio-spice downloads the relevant kernels from NAIF and caches them locally. It loads the kernels in the required order before performing the SPICE calculation. Results are returned through MCP tool responses; the underlying Python API can also represent individual results as dictionaries and trajectory data as pandas DataFrames.

Queries can refer to supported spacecraft, natural bodies, observers, timestamps, and frames. Examples in the package documentation use Parker Solar Probe, the Sun, Earth, Saturn, J2000, ECLIPJ2000, GSE, and RTN. RTN transformations require a spacecraft parameter.

## Setup and configuration

Install the base package with pip:

```bash
pip install xhelio-spice
```

Install MCP support with the optional extra:

```bash
pip install 'xhelio-spice[mcp]'
```

Start the stdio server with `xhelio-spice-mcp`, or run `python -m xhelio_spice.server`. The default kernel directory is `~/.xhelio_spice/kernels/`. Set `XHELIO_SPICE_KERNEL_DIR` to use a different cache location. The Python API also supports a per-instance `kernel_dir` override through `KernelManager`.

## Tools and capabilities

The HelioSPICE MCP server advertises six tools:

- `get_ephemeris` returns position and velocity for one time or a timeseries as CSV.
- `compute_distance` calculates the separation between two bodies.
- `transform_coordinates` transforms a vector between coordinate frames.
- `list_spice_missions` reports supported missions.
- `list_coordinate_frames` lists available frames with descriptions.
- `manage_kernels` handles kernel-cache operations.

Auto-downloaded kernel support is documented for Parker Solar Probe, Solar Orbiter, STEREO-A, Juno, Voyager 1 and 2, and New Horizons. Natural bodies include the Sun, Earth, Moon, the other planets, and Pluto. Several additional missions have NAIF IDs but do not currently receive automatic downloads.

## Limitations and notes

Mission support is not uniform. ACE, Wind, DSCOVR, and MMS are listed without public SPK kernels for automatic download. Cassini and MAVEN require multi-segment kernel loading, which is identified as planned, while several other missions are listed as NAIF-ID-only. Requests for those missions may therefore require capabilities not currently covered by automatic kernel management.

Kernel downloads occur on first use, so network access may be needed before a requested mission can be calculated. The package provides a CI-safe smoke test that starts the stdio server with an isolated temporary cache and checks initialization and advertised tool names without requesting kernel downloads.

_Full upstream README: https://allmcps.com/mcp/heliospice/readme_

