v0.3.0
The SPICE / NAIF release. Adds seven SPICE tools behind an optional
[spice] extra — kernel furnishing, SPK ephemeris state, frame
rotations, body parameters, and kernel-defined time conversions — backed
by NASA NAIF's CSPICE through spiceypy. The tools register only when
spiceypy is importable (pip install astrodynamics-mcp[spice]), so the
base install stays SPICE-free.
Added
- SPICE tools behind an optional
[spice]extra — the kernel-management
trio (spice_load_kernel,spice_list_kernels,spice_unload_kernel)
plus four query tools:spice_state(SPK position / velocity with
light-time),spice_frame_transform(FK / PCK / TF frame rotations),
spice_body_parameters(PCK radii / GM / pole and prime-meridian
constants), andspice_time_convert(ET / UTC / SCLK via LSK / SCLK
kernels). The tools furnish kernels into a process-global pool and
query whatever the pool holds; every CSPICE call is serialised onto one
dedicated worker thread, andhttpsloads route through a NAIF-host
allowlist and the XDG kernel cache. The slots register identically on
stdio and Streamable HTTP (#120, #121, #122, #123, #124, #125, #126). - Eval-suite SPICE coverage plus a fourth runnable example session — a
Mars-state query that furnishes NAIF kernels and reads an SPK state —
shipping a markdown transcript and a Python script that drives the same
sequence against an in-process MCP server and asserts numerical
tolerance (#127). - Documentation for the v0.3 surface: a SPICE-integration design page
covering the kernel model, the NAIF furnish-from-URL allowlist, and the
process-global pool's trust boundary; tool-reference entries for all
seven tools; and the[spice]install line and tools table in the
README (#120, #129).