Satellite MCP Server
A comprehensive Model Context Protocol (MCP) server for satellite orbital mechanics calculations with natural language processing capabilities.
β¨ Key Features
π°οΈ Satellite Access Window Calculations - Calculate when satellites are visible from ground locations
π World Cities Database - Built-in database of 200+ cities worldwide for easy location lookup
π£οΈ Natural Language Processing - Parse orbital parameters from text like "satellite at 700km in SSO over London"
π‘ TLE Generation - Generate Two-Line Elements from orbital descriptions
π Lighting Analysis - Ground and satellite lighting conditions (civil, nautical, astronomical twilight)
π Bulk Processing - Process multiple satellites and locations from CSV data
π 6 Orbit Types - Support for LEO, MEO, GEO, SSO, Molniya, and Polar orbits
π Quick Start
Using Docker (Recommended)
Local Installation
π Connecting to the MCP Server
The server communicates via JSON-RPC 2.0 over stdio. Here are the connection methods:
Claude Desktop Integration
Add to your Claude Desktop MCP configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Direct Docker Connection
Local Python Connection
π¬ Example Usage in LLMs
Example 1: Basic Satellite Pass Prediction
User Prompt:
"When will the ISS be visible from London tomorrow?"
MCP Tool Call:
Response: The ISS will be visible from London 4 times tomorrow, with the best pass at 19:45 UTC reaching 78Β° elevation in the southwest sky during civil twilight.
Example 2: Natural Language Orbital Design
User Prompt:
"Create a sun-synchronous satellite at 700km altitude and show me when it passes over Tokyo."
MCP Tool Calls:
Parse orbital elements:
Calculate access windows:
Response: Generated SSO satellite (98.16Β° inclination, 98.6 min period) with 14 passes over Tokyo in 24 hours, including 6 daylight passes and 8 during various twilight conditions.
Example 3: Bulk Satellite Analysis
User Prompt:
"I have a CSV file with ground stations and want to analyze coverage for multiple satellites."
MCP Tool Call:
π οΈ Available Tools
calculate_access_windows- Basic satellite visibility calculationscalculate_access_windows_by_city- City-based satellite passescalculate_bulk_access_windows- Multi-satellite/location analysisparse_orbital_elements- Natural language orbital parameter parsingcalculate_access_windows_from_orbital_elements- Access windows from orbital textcalculate_access_windows_from_orbital_elements_by_city- Combined orbital elements + city lookupsearch_cities- Find cities in the world databasevalidate_tle- Validate Two-Line Element dataget_orbit_types- Available orbit type definitions
ποΈ Project Structure
π Dependencies
Skyfield - Satellite position calculations
NumPy - Numerical computations
MCP - Model Context Protocol implementation
Python 3.8+ - Runtime environment
π€ Contributing
This is a specialized MCP server for satellite orbital mechanics. For issues or enhancements, please check the documentation in the docs/ directory.
π License
[Add your license information here]