Skip to directory

About IO Aerospace MCP

A hosted MCP server exposing the IO.Astrodynamics framework for ephemerides, orbital mechanics, reference-frame transforms, geometry searches, mission simulation, and time/unit conversions.

What you can use it for

  • Query celestial ephemerides and state vectors
  • Convert orbital representations and calculate maneuver delta-V
  • Find observation or geometric constraint windows
  • Simulate stateless spacecraft mission scenarios
  • Convert time scales and physical units
Connection and setup
Hosting
Remote, hosted production service
Transport
Streamable HTTP
Endpoint
https://mcp.io-aerospace.org/mcp
Authentication
OAuth 2.1 with PKCE through WorkOS AuthKit, followed by a separate active-license check tied to the signed-in email. Required scopes: openid, email, offline_access. No API key. A valid OAuth login without an active license is insufficient.

Requirements

  • MCP client supporting Streamable HTTP and MCP OAuth discovery/PKCE
  • Email account with active IO Aerospace license
  • Browser and access to email for one-time-code login

Setup steps

  1. Add a remote Streamable HTTP server at https://mcp.io-aerospace.org/mcp (include the /mcp path exactly).
  2. Start the client authorization flow. Sign in in the browser using the email attached to an active IO Aerospace license; choose the one-time email code option.
  3. Complete OAuth consent. The client should store and refresh tokens using offline_access.
  4. If login succeeds but calls return 403, request or renew an IO Aerospace license for that email.
  5. Verify with a harmless read-only call such as CurrentDateTime.
Tools 70

The official tool reference lists 64 named tools across celestial bodies, orbital elements, time, TLE, frames, sites, geometry, observation, maneuvers, Lambert solving, scenarios, and unit conversions. Authentication is required for runtime discovery; this record follows the complete published reference and was not queried with credentials.

  • GetEphemerisAsStateVectors

    Get the state vectors (position and velocity) of a target observed from an observer in a given frame over a time range.

    01
  • GetCelestialBodyProperties

    Get the geophysical properties of a celestial body: NAIF IDs, name, tri-axial radii, GM, body-fixed frame, and zonal harmonics J2/J3/J4.

    02
  • ConvertStateVectorToKeplerianElements

    Returns the classical orbital elements (semi-major axis, eccentricity, inclination, RAAN, argument of periapsis, mean anomaly, perigee radius).

    03
  • ConvertStateVectorToEquinoctialElements

    Returns equinoctial elements (P, F, G, H, K, L0).

    04
  • ConvertStateVectorToEquatorialCoordinates

    Returns equatorial coordinates (right ascension, declination, distance, epoch). Implicitly transformed into ICRF.

    05
  • ConvertKeplerianElementsToStateVector

    Returns the Cartesian state vector in the same frame and center-of-motion as the input.

    06
  • ConvertEquinoctialElementsToStateVector

    Inverse of ConvertStateVectorToEquinoctialElements .

    07
  • ConvertStateVectorToTheGivenFrame

    Transform a state vector into another frame at its own epoch.

    08
  • ConvertKeplerianElementsToEquinoctialElements

    Direct conversion that does not go through a state vector. Same parameter type as the Keplerian → state-vector tool.

    09
  • ConvertEquinoctialElementsToKeplerianElements

    Inverse of the previous tool.

    10
  • ComputeOrbitalPeriod

    Orbital period in seconds via Kepler's third law. Only valid for elliptical orbits ( a > 0 , e < 1 ).

    11
  • ComputeMeanMotion

    Mean motion n = sqrt(mu / a^3) in radians per second. Elliptical only.

    12
  • ComputeApsides

    Apoapsis and periapsis radii in meters. Elliptical only.

    13
  • ComputeSpecificOrbitalEnergy

    Specific orbital energy epsilon = v²/2 − mu/r in J/kg.

    14
  • ComputeSpecificAngularMomentum

    Specific angular momentum h = r × v in m²/s, expressed in the input frame.

    15
  • ConvertDateTime

    Convert a date/time to another time scale, preserving the instant.

    16
  • CurrentDateTime

    Return the current UTC instant. No parameters.

    17
  • ConvertToJulianDate

    Convert an instant to its Julian Date (days) in the same time scale.

    18
  • ConvertFromJulianDate

    Build an instant from a Julian Date.

    19
  • ConvertToModifiedJulianDate

    MJD = JD − 2400000.5 . Same input as ConvertToJulianDate .

    20
  • ConvertToEphemerisTime

    Convert an instant to ephemeris time — TDB seconds elapsed since J2000 ( 2000-01-01T12:00:00 TDB ).

    21
  • ConvertFromEphemerisTime

    Inverse of ConvertToEphemerisTime . Returns a TDB Time .

    22
  • AddDuration

    Add a signed duration in seconds to an instant, preserving its time scale.

    23
  • ParseTle

    Parse a TLE into its mean orbital elements plus drag terms.

    24
  • EvaluateTleAtEpoch

    Propagate the TLE with SGP4/SDP4 to a requested epoch and return the osculating state vector in the chosen frame. Earth is assumed as the central body.

    25
  • GetFrameRotationMatrix

    Compute the 3×3 rotation matrix R such that v_target = R · v_source .

    26
  • GetFrameStateRotationMatrix

    Compute both R and its time derivative dR/dt . Together they form the 6×6 state-transition matrix [[R, 0], [dR/dt, R]] mapping stacked (position, velocity) states.

    27
  • GetDeepSpaceStationPlanetodeticCoordinates

    Get the latitude (rad), longitude (rad) and altitude (m) of a DSS.

    28
  • GetDeepSpaceStationStateVector

    State vector of a DSS observed from a celestial body.

    29
  • GetHorizontalCoordinates

    Azimuth, elevation and range of a target body from a DSS at a given epoch.

    30
  • GetDSSFrame

    Return the topocentric frame name of a DSS (format: DSS-NN_TOPO ).

    31
  • GetSiteStateVector

    State vector of a user-defined surface site observed from a celestial item.

    32
  • GetSiteHorizontalCoordinates

    Azimuth, elevation, range of a target from an arbitrary site at a given epoch. Same site parameters as above, plus a target body.

    33
  • GetSiteFrameName

    Returns the topocentric frame name of a site built from a name: <NAME_UPPERCASED>_TOPO .

    34
  • ConvertPlanetodeticToCartesian

    Planetodetic (lat, lon, alt) → body-fixed Cartesian (m) using the body's equatorial radius and flattening.

    35
  • ConvertCartesianToPlanetodetic

    Inverse of the previous tool.

    36
  • ComputeSubSpacecraftPoint

    Planetodetic sub-spacecraft point (latitude, longitude, altitude above ellipsoid) from a body-fixed spacecraft position.

    37
  • FindCoordinateConstraint

    Find windows where one component of the observer→target vector, expressed in a given frame and coordinate system, satisfies a relational constraint.

    38
  • FindDistanceConstraint

    Find windows where the distance between two SPICE-backed items satisfies a relational constraint.

    39
  • FindOccultingConstraint

    Find occultation or eclipse windows.

    40
  • FindAngularSeparationConstraint

    Find windows where the angular separation (radians) of two targets as seen from an observer satisfies a relational constraint.

    41
  • FindPhaseAngleConstraint

    Find windows where the illumination phase angle of a target satisfies a relational constraint. The phase angle is the illuminator-target-observer angle measured at the target; cos(phaseAngle) drives the illuminated fraction.

    42
  • FindElevationFromSiteConstraint

    Find windows where a target's elevation, observed from an arbitrary (body, lat, lon, alt) site, satisfies a relational constraint. Useful for visibility windows and twilight.

    43
  • ComputeAngularSeparation

    Angular separation between two targets as seen from an observer.

    44
  • ComputeAngularSize

    Angular diameter of a celestial body at a given range. 2 · arctan(R / d) with R the body radius.

    45
  • ComputeSubObserverPoint

    Planetocentric sub-observer point on the target body: latitude and longitude (radians) of the point directly beneath the observer, and the distance from the body center to the observer.

    46
  • ComputeLightTime

    One-way light time in seconds between observer and target (range / c).

    47
  • ComputeRangeRate

    Line-of-sight range rate (m/s) between observer and target — positive when receding.

    48
  • ComputePhaseAngle

    Phase angle in radians — the illuminator-target-observer angle measured at the target.

    49
  • ComputeIlluminationFraction

    Illuminated fraction of the target's disc as seen from the observer: (1 + cos(phaseAngle)) / 2 . Returns a value in [0, 1] .

    50
  • ComputeApogeeChangeDeltaV

    Single-impulse vis-viva delta-V at perigee that changes the orbit's apogee radius.

    51
  • ComputePerigeeChangeDeltaV

    Symmetric counterpart: single impulse at apogee that changes the perigee radius.

    52
  • ComputeInclinationChangeDeltaV

    Pure plane change at constant speed at the node: Δv = 2v · sin(Δi/2) .

    53
  • ComputeCombinedPlaneChangeDeltaV

    Simultaneous inclination + RAAN change at constant speed. The equivalent rotation angle θ is derived from the spherical law of cosines, then Δv = 2v · sin(θ/2) .

    54
  • ComputePhasingDeltaV

    First impulse of a phasing rendezvous on a circular orbit. The spacecraft enters a phasing ellipse, completes the requested number of revolutions, then re-circularizes with an equal-magnitude second burn — so total cost = 2 × returned value .

    55
  • ComputeHohmannTransferDeltaV

    Two-impulse Hohmann transfer between coplanar circular orbits.

    56
  • ComputeBiEllipticTransferDeltaV

    Three-impulse bi-elliptic transfer between coplanar circular orbits via an intermediate apogee. The intermediate radius must exceed both endpoints.

    57
  • ApplyImpulsiveDeltaV

    Apply an instantaneous Δv to a state vector. Position, epoch, frame and center of motion are preserved; velocity becomes v + Δv .

    58
  • SolveLambert

    Position and velocity must be expressible relative to centerOfMotion ; the solver works in ICRF.

    59
  • SimulateScenario

    SimulateScenarioRequest contains:

    60
  • DegreesToArcseconds

    Convert Degrees to Arcseconds.

    61
  • ArcsecondsToDegrees

    Convert Arcseconds to Degrees.

    62
  • RadiansToArcseconds

    Convert Radians to Arcseconds.

    63
  • ArcsecondsToRadians

    Convert Arcseconds to Radians.

    64
  • MetersToAstronomicalUnits

    Convert Meters to AstronomicalUnits.

    65
  • AstronomicalUnitsToMeters

    Convert AstronomicalUnits to Meters.

    66
  • MetersToParsec

    Convert Meters to Parsec.

    67
  • ParsecToMeters

    Convert Parsec to Meters.

    68
  • MetersToLightYears

    Convert Meters to LightYears.

    69
  • LightYearsToMeters

    Convert LightYears to Meters.

    70
Limitations and notes
  • Hosted service is the supported production path; no self-hosted distribution is documented.
  • Tool calls require an active license in addition to successful OAuth authentication.
  • The endpoint must include /mcp; bare host URL causes OAuth resource-discovery errors.
  • Result units, frames, conventions, and edge cases follow IO.Astrodynamics; NaN/Infinity can be legitimate outputs.
Original sources

Documentation checked 2026-10-28T13:41:09.000Z. Connection has not been runtime tested.