xiaosongshu2020/mcp-server-satellite-orbit
If you are the rightful owner of mcp-server-satellite-orbit and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP Server for Satellite Orbit is a Model Context Protocol-based server designed for satellite orbit calculation and visualization, offering tools for orbital dynamics, prediction, observation data processing, and visualization.
MCP Server for Satellite Orbit
A Model Context Protocol (MCP) based satellite orbit calculation and visualization server. This server provides a suite of tools for satellite orbital dynamics calculations, orbit prediction, observation data processing, and visualization.
Features
1. Orbital Basic Tools
- Keplerian Elements and Cartesian Coordinates Conversion: Support for mutual conversion between Keplerian orbital elements and Cartesian coordinates
- Date Time Conversion: Support for mutual conversion between date and Modified Julian Date (MJD)
2. Orbit Prediction
- Two-Body Problem Orbit Prediction: Orbit prediction based on classical two-body problem dynamics
- High-Precision Numerical Orbit Prediction: High-precision orbit prediction using numerical methods, considering multiple perturbation factors
3. Satellite Observation
- Ground Station Observation Calculation: Calculate observation data for satellites from ground stations, including azimuth, elevation, range, etc.
4. Visualization Tools
- Satellite Orbit Visualization: Generate 3D orbit plots and ground track plots
- Observation Data Visualization: Plot satellite observation data charts
- Ground Station Distribution Visualization: Display ground station geographical distribution
5. Initial Orbit Determination
- Orbit Determination Based on Observation Data: Calculate satellite initial orbit parameters based on ground observation data
Installation Instructions
Environment Requirements
- Python 3.13 or higher
- Windows operating system (some features depend on Windows exe programs)
- uv package manager
Installation Steps
-
Clone the project repository:
git clone https://github.com/xiaosongshu2020/mcp-server-satellite-orbit.git cd mcp-server-satellite-orbit
-
Use uv to create a virtual environment and install dependencies:
uv venv uv pip install -e .
-
Activate the virtual environment:
# Windows PowerShell Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .venv\Scripts\Activate.ps1 # Windows Command Prompt .venv\Scripts\activate.bat
Usage
Starting the Server
There are two ways to start the server:
uv run run_server.py
The server will communicate with MCP clients through stdio.
Integration with Claude Desktop
To integrate this server with Claude Desktop, add the following JSON configuration to Claude's configuration file:
{
"mcpServers": {
"mcp-server-satOrbit":{
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-server-satellite-orbit",
"run",
"run_server.py"
]
}
}
}
Please ensure to replace /path/to/mcp-server-satellite-orbit
with the actual project path.
After integration, you can use natural language in Claude to call satellite orbit calculation tools, such as:
- "Convert Keplerian elements [7000, 0.001, 45, 90, 0, 0] to Cartesian coordinates"
- "Calculate the Modified Julian Date for January 1, 2025"
- "Predict satellite orbit, initial time 2025-01-01 00:00:00, initial orbital elements [7000, 0.001, 45, 90, 0, 0]"
Tool List
Orbital Basic Tools
- kpl2cts - Keplerian elements to Cartesian coordinates
- cts2kpl - Cartesian coordinates to Keplerian elements
- date2mjd - Date to Modified Julian Date
- mjd2date - Modified Julian Date to date
Orbit Prediction Tools
- orbit_prediction_two_body - Two-body problem orbit prediction
- orbit_prediction_numerical - High-precision numerical orbit prediction
Satellite Observation Tools
- observation_station_satellite - Ground station satellite observation calculation
Visualization Tools
- plot_orbit - Satellite orbit visualization
- plot_access - Satellite observation data visualization
- plot_station - Ground station distribution visualization
Initial Orbit Determination Tools
- initial_orbit_determination - Initial orbit determination based on observation data
Project Structure
mcp-server-satellite-orbit/
āāā bin/ # Executable files directory
ā āāā initialOrbitDetermination.exe
ā āāā observation.exe
ā āāā orbitPrediction_numerical.exe
āāā data/ # Data files directory
āāā OPLIB/ # Orbit prediction library files
āāā src/ # Source code directory
ā āāā orbitTools.py # Orbital basic tools
ā āāā dateMJD.py # Date conversion tools
ā āāā orbit_prediction_two_body.py # Two-body problem orbit prediction
ā āāā observation_station_satellite.py # Satellite observation calculation
ā āāā plot_satellite.py # Satellite orbit visualization
ā āāā Satellite.py # Satellite object class
ā āāā ... # Other source files
āāā run_server.py # MCP server main program
āāā pyproject.toml # Project configuration file
āāā README.md # Project documentation file
Dependencies
- mcp - Model Context Protocol
- numpy - Numerical computing library
- matplotlib - Plotting library
- cartopy - Geospatial data processing library
- astropy - Astrophysics tools library
Examples
Simple Orbit Conversion Example
This project provides an MCP server that can call various orbit calculation tools through MCP clients. Users can send requests through the client to perform orbit conversion, prediction, and other operations.
Orbit Prediction Example
The server supports two orbit prediction methods:
- Analytical method based on the two-body problem
- High-precision numerical method considering multiple perturbation factors
License
This project is licensed under the MIT License. See the file for details.