satellite-conjunction-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@satellite-conjunction-mcpIs Starlink-1234 going to pass close to the ISS in the next 24 hours?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Satellite Conjunction MCP Server
An MCP (Model Context Protocol) server that tracks real satellites and checks whether two of them are on course for a close approach — the same class of problem commercial space situational awareness (SSA) providers like LeoLabs, Slingshot Aerospace, and Kayhan Space solve at scale for satellite operators.
This lets any MCP-compatible AI client (Claude Desktop, Claude Code, etc.) answer questions like:
"Where is the ISS right now?"
"Is Starlink-1234 going to pass close to the ISS in the next 24 hours?"
"Screen these 10 debris objects against my satellite and tell me which ones are actually a concern."
Why this is a real problem, not a toy one
Low Earth Orbit is getting crowded. As of 2024, tracked satellites and debris routinely produce thousands of close-approach events per year that operators have to screen and respond to. Real SSA providers run this kind of screening continuously, at scale, using the same public TLE data and the same SGP4 propagation model this project uses — this server implements the same first step in that pipeline: a raw miss-distance screen used to flag which pairs of objects deserve closer attention.
What this is not: an operational collision-probability system. Real systems combine miss distance with each object's position-uncertainty (covariance) data to compute an actual probability of collision. This project reports raw miss distance and time of closest approach — the coarse first filter, not the final word. That distinction is called out directly in the tool output so it's never presented as more than it is.
Related MCP server: Satellite MCP Server
How it works
CelesTrak (live TLE data)
│
▼
tle_fetcher.py — fetches + caches orbital elements for a satellite
│
▼
propagator.py — SGP4 propagation (via Skyfield) → position over time
│
▼
conjunction.py — compares two satellites' positions at matching
timestamps, finds the closest approach
│
▼
server.py — exposes it all as MCP toolsData source: CelesTrak — free, public, no API key required. The same baseline catalog real SSA providers start from.
Propagation model: SGP4, the standard model for TLE-based orbit prediction, via the Skyfield library.
Distance calculation: both satellites are propagated to the same timestamps in the same reference frame, then compared directly with a Euclidean distance — this is what makes the "closest approach" number meaningful rather than an apples-to-oranges comparison.
Tools exposed
Tool | What it does |
| Fetch a satellite's current orbital elements |
| Lat/lon/altitude at a given time (default: now) |
| Closest approach between two satellites over a time window |
| Screen a list of objects against one primary satellite, ranked by risk |
Every tool takes a NORAD catalog number — a public ID every tracked object has. A few to try:
Object | NORAD ID |
International Space Station | 25544 |
Hubble Space Telescope | 20580 |
NOAA-20 | 43013 |
Full catalog lookup: celestrak.org
Setup
git clone <this-repo>
cd satellite-conjunction-mcp
pip install -r requirements.txtRun it directly
python server.pyConnect it to Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"satellite-conjunction": {
"command": "python",
"args": ["/absolute/path/to/satellite-conjunction-mcp/server.py"]
}
}
}Restart Claude Desktop, and the four tools above become available in conversation.
Running the tests
pip install pytest
pytest tests/ -vThe test suite uses a fixed, real ISS TLE snapshot (not a live fetch) so it's deterministic and doesn't depend on network access. It checks:
Propagated altitude falls in the expected LEO range for the ISS
The time-stepping produces the expected number of samples
A satellite checked against itself reports ~0 km separation at every timestep — the core sanity check that the distance math is correct
Known limitations
TLE-based propagation has inherent uncertainty (typically growing from ~1 km to several km over days) — it is an estimate, not ground truth.
Risk thresholds (
HIGH/MODERATE/LOW) are illustrative defaults for a raw distance screen, not calibrated operational thresholds.This does not compute collision probability — that requires object-specific covariance data this project does not have access to.
CelesTrak data updates roughly daily; this is not real-time tracking.
Credits
Built as a learning project to understand real satellite conjunction assessment — the kind of problem companies like LeoLabs, Slingshot Aerospace, and Digantara solve commercially.
License: MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
TLE MCP — satellite tracking via Two-Line Element sets (tle.ivanstanojevic.me, free, no auth)
N2YO MCP — wraps the N2YO Satellite Tracking REST API (n2yo.com)
CelesTrak MCP — satellite orbital elements (TLE / GP data) for any tracked object.
Live space data for AI agents - rocket launches, ISS passes, launch news. Free, no auth.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides access to satellite tracking data from N2YO, allowing users to query satellite positions, predict passes, and access TLE data through natural language requests.13MIT
- FlicenseNot gradedqualityDmaintenanceEnables satellite orbital mechanics calculations including visibility predictions, access window analysis, and TLE generation from natural language descriptions. Supports 200+ world cities and multiple orbit types (LEO, MEO, GEO, SSO, Molniya, Polar).-
- AlicenseNot gradedqualityNot gradedmaintenanceProvides access to real-time satellite tracking data using the N2YO API, enabling users to get satellite positions, predict visible passes, search satellites by name or category, and retrieve TLE orbital data.-
- FlicenseNot gradedqualityDmaintenanceMCP server that wraps the NASA Space-Track API to provide tools for TLE lookup, conjunction query, and satellite catalog search.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/darshan0548/satellite-conjunction-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server