Skip to main content

Model Context Protocol server giving any LLM client authoritative astrodynamics tools — TLE/SGP4, Lambert, ground-station access, time/frame conversions, porkchop, B-plane.

Project description

astrodynamics-mcp

A Model Context Protocol server that gives any MCP-capable LLM client (Claude Code, Cursor, ChatGPT desktop, custom agents) authoritative astrodynamics tools: TLE/SGP4 propagation, Lambert solving, ground-station access, time-scale and coordinate-frame conversions, porkchop scans, B-plane targeting, satellite metadata, and — with the optional [gmat] extra — full NASA GMAT mission execution.

Why

LLMs reason well about astrodynamics concepts but cannot do the numerical work — they cannot propagate orbits, solve Lambert problems, or query SPICE ephemerides. astrodynamics-mcp lets you plug authoritative tools into any MCP-capable client so the LLM calls vetted upstream libraries instead of fabricating numbers. Every result carries explicit units; every tool description tunes against an Inspect AI eval suite that measures whether the LLM picks the right tool and binds the right arguments.

Tools

Tool What it does Backed by
tle_lookup Fetch current TLEs by NORAD ID, name, or group — from CelesTrak (default) or Space-Track. CelesTrak gp.php API · Space-Track †
sgp4_propagate Propagate TLEs across UTC ISO 8601 epochs in TEME / ICRF / GCRS / ITRS / CIRS. sgp4
lambert_solve Solve Lambert's problem; multi-rev solutions enumerated; two-impulse Δv on demand. lamberthub
access_windows Ground-station / observer access intervals over a window, with AOS / LOS / peak elevation. skyfield
time_convert UTC / TAI / TT / TDB / UT1 / GPS / TCB / TCG conversions across ISO / JD / MJD / J2000-seconds / Unix. astropy.time
frame_transform State-vector transforms across ICRF / ITRS / GCRS / TEME / CIRS / TIRS / IAU body-fixed frames. astropy.coordinates
porkchop (depart × arrive) Δv / C3 grid for interplanetary transfers, ASCII contour, summary or full output. lamberthub + JPL Horizons
bplane_target B-plane element calculation and impulsive targeting for hyperbolic flybys. in-house, JPL Horizons fed
satellite_metadata Physical & provenance metadata (mass, dimensions, COSPAR ID, launch, operator, decay status) for a NORAD ID. ESA DISCOSweb †

Credentialed source. Pass credentials as environment variables for the stdio transport, or in the session-init _meta block for HTTP — see Credentials. A tool called without its credential returns a typed CredentialRequiredError, never a silent failure.

GMAT tools (optional [gmat] extra)

Install the [gmat] extra and have a local NASA GMAT install, and five more tools register for driving real GMAT missions (they stay hidden otherwise):

Tool What it does Backed by
gmat_run_mission Run a complete GMAT mission; returns a parsed summary, report data, and pointers to large outputs. gmat-run
gmat_sweep Parameter sweeps and Monte Carlo (grid / samples / Monte Carlo / Latin hypercube) over a mission. gmat-sweep
gmat_execute_script Escape hatch — run raw GMAT script text and return its reports verbatim; engine errors come back as data. gmat-run
gmat_validate_script Parse-validate a script without running it; returns errors, warnings, and the resource/command structure. gmat-run
gmat_read_run_artefact Read the raw text of a file produced by a prior run (ephemerides, reports too large to inline). run registry

Full input / output JSON schemas live on the Tool reference page of the docs site.

Quick start

Install:

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)

Claude Code

Add to your Claude Code MCP settings:

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

Restart Claude Code. In a chat:

You: Compute the Hohmann Δv from a 250 km circular LEO to GEO.

(The model calls lambert_solve with the Hohmann geometry and answers ≈ 3.91 km/s, citing the tool output — not the LLM's own weights.)

Cursor

~/.cursor/mcp.json (or workspace-level .cursor/mcp.json):

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

Restart Cursor. The tools appear under the astrodynamics server group.

See Pick a client in the docs for ChatGPT desktop, a raw Python MCP smoke client, and the Streamable HTTP transport for remote agents.

Supported clients

Client Transport Verified
Claude Code stdio ✅ Yes
Cursor stdio ✅ Yes
ChatGPT desktop stdio ⏳ Expected to work
Raw Python (mcp SDK) stdio ✅ Yes
Remote agents Streamable HTTP ⏳ Expected to work
LangGraph / AutoGen / CrewAI any ⏳ Expected to work

What this is not

  • Not a general-purpose astrodynamics framework. Wraps vetted upstream libraries; does not re-implement propagators, integrators, or coordinate systems.
  • Not an agent framework. Exposes MCP tools; LangGraph, AutoGen, CrewAI, and the LLM clients themselves consume them.
  • Not an ML / inference server. Tools that need their own ML models (maneuver detection, neural propagators) belong in separate MCP servers — kept modular for dependency isolation.
  • Not a SaaS. Runs locally or in your own infrastructure. No hosted multi-tenant deployment.
  • Not a web UI. Tool consumption is via MCP clients; no browser frontend, no desktop app, no notebook widget.

For direct (non-MCP) Python use of the same surfaces, reach for the upstream libraries: sgp4, lamberthub, skyfield, astropy, interplanetary-porkchop, spiceypy.

Built on

The official Anthropic modelcontextprotocol/python-sdk (MIT). The bundled FastMCP server class is the server primitive; stdio + Streamable HTTP transports are first-class.

Docs and links

Privacy

astrodynamics-mcp runs entirely on your own machine and collects nothing — no telemetry, no analytics, no accounts. The only data that leaves your machine is the query parameters a tool sends to the data source it wraps (CelesTrak / JPL Horizons / IERS with no auth, and — only if you configure their credentials — Space-Track and ESA DISCOSweb). Credentials are read from local environment variables or the session _meta block and are sent only to their own service over HTTPS. See the Privacy page for the full breakdown.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astrodynamics_mcp-0.2.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

astrodynamics_mcp-0.2.1-py3-none-any.whl (170.8 kB view details)

Uploaded Python 3

File details

Details for the file astrodynamics_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: astrodynamics_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for astrodynamics_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 229521d09c3f4b589345f3999e1eb779cdcb33d2ded13b49b72fc49483aa5c1e
MD5 0c05eede4b548f896768b0ca4916a785
BLAKE2b-256 687a6a776198a3052d7aad6c0be396c5d2318e302fd02d60cc135a1c546adbff

See more details on using hashes here.

Provenance

The following attestation bundles were made for astrodynamics_mcp-0.2.1.tar.gz:

Publisher: release.yml on astro-tools/astrodynamics-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file astrodynamics_mcp-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for astrodynamics_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c10551611e3804bc20323cd0085481b6063820d8f803121f7b3f8e4246f2ba19
MD5 45909cdd175efa898be49e23e6182270
BLAKE2b-256 02a15f0c08f00d520501fe1820f50722cc7238f282918980e98b5bd9e99e1604

See more details on using hashes here.

Provenance

The following attestation bundles were made for astrodynamics_mcp-0.2.1-py3-none-any.whl:

Publisher: release.yml on astro-tools/astrodynamics-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page