Skip to main content
Glama

propagate_keplerian

Propagate satellite orbits using two-body Keplerian dynamics. Accept initial ECI Cartesian state or Keplerian elements, then propagate to target epoch or over a time range.

Instructions

Propagate a satellite orbit using two-body (Keplerian) analytical dynamics.

Initialize with either an ECI Cartesian state vector or Keplerian elements. Provide either target_epoch for a single point, or start_epoch + end_epoch for a range.

Args: epoch: Initial epoch (ISO string). state_eci: ECI Cartesian state [x,y,z,vx,vy,vz] in meters and m/s. elements_koe: Keplerian elements [a,e,i,RAAN,omega,M] (a in meters, angles in input_angle_format). input_angle_format: Angle format for input KOE elements ("degrees" or "radians"). target_epoch: Single target epoch (ISO string). start_epoch: Range start epoch (ISO string). end_epoch: Range end epoch (ISO string). step_seconds: Step size in seconds for range propagation (default 60). output_frame: Output coordinate frame (eci, ecef, gcrf, itrf, eme2000, koe_osc, koe_mean). angle_format: Angle format for KOE output ("degrees" or "radians").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
epochYes
end_epochNo
state_eciNo
start_epochNo
angle_formatNodegrees
elements_koeNo
output_frameNoeci
step_secondsNo
target_epochNo
input_angle_formatNodegrees
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions analytical dynamics and the input/output units but does not disclose limitations, error conditions, or non-destructive nature. Lacks explicit safety or performance context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a one-sentence summary, initialization guidance, and a parameter list. It is front-loaded but slightly lengthy; could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no output schema), the description covers input options, output frames, and angle formats. It does not explain the return value shape, but otherwise provides sufficient context for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides detailed parameter explanations, including units (meters, m/s) and angle formats. It adds meaning beyond the bare schema, compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies 'Propagate a satellite orbit using two-body (Keplerian) analytical dynamics,' clearly stating the verb (propagate), resource (satellite orbit), and method (two-body Keplerian). This distinguishes it from sibling tools like propagate_numerical and propagate_sgp4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains initialization options (ECI state or Keplerian elements) and output choices (single epoch or range). It does not explicitly state when to use this tool versus alternatives, but the method name and sibling tools imply it's for unperturbed two-body propagation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/duncaneddy/brahe-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server