calculate_access_windowsLABSCO SUMMARY
You can skip the TLE if you know what orbit you want.
Most orbital tooling assumes you already have a Two-Line Element in hand. The useful move here is the other direction: describe the orbit you are designing, get elements generated, and see passes over a named city in the same conversation — with lighting conditions attached, which is what actually decides whether a pass is usable.
What it is
A Python MCP server for orbital mechanics. It converts orbital descriptions into Two-Line Elements, computes access windows between a satellite and a ground location, and reports ground and satellite lighting — civil, nautical and astronomical twilight — for each pass.
What you get
- Access windows —
calculate_access_windows,calculate_access_windows_by_city, andcalculate_bulk_access_windowsfor many satellites and locations from CSV - Orbits from text —
parse_orbital_elementsreads a phrase like "satellite at 700km in SSO", andcalculate_access_windows_from_orbital_elementsandcalculate_access_windows_from_orbital_elements_by_citygo straight from that text to passes - Reference lookups —
search_citiesagainst a built-in database of 200+ cities,validate_tle, andget_orbit_types - Support for 6 orbit types: LEO, MEO, GEO, SSO, Molniya and Polar
- Positions computed with Skyfield
Requirements
Docker is the documented path — make docker-build, then run the image with -i from your client config. Locally it needs Python and the dependencies installed by make install, and runs as python -m src.mcp_server. The server speaks JSON-RPC over stdio, so the client runs on the same machine.
Setup effort
One command — docker run --rm -i satellite-mcp-server:latest
USE CASES
Finding when a known satellite is overhead
Give the TLE and a city name, get the visibility windows for a date range with elevation and twilight state per pass.
Sizing an orbit for the coverage you need
Describe the orbit in words, let it generate elements, then compare pass counts over the ground sites you care about.
Planning a ground-station network
Feed CSV lists of stations and satellites and get the whole coverage matrix in one call.
9 tools
Listed in project docs. Your client may show a different list.
calculate_access_windows_by_citycalculate_bulk_access_windowsparse_orbital_elementscalculate_access_windows_from_orbital_elementscalculate_access_windows_from_orbital_elements_by_citysearch_citiesvalidate_tleget_orbit_typesBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- docker on PATH
- Python 3.8+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
docker run --rm -i satellite-mcp-server:latestMCP Clients
Claude Desktop
{
"mcpServers": {
"satellite-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"satellite-mcp-server:latest"
]
}
}
}