API & MCP
Everything a person can do on Skyfold Satellite Pass Predictor, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://skyfoldsatellitepasses.usefulweb.app/api/v1/calculate– run Skyfold Satellite Pass PredictorGET https://skyfoldsatellitepasses.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Skyfold Satellite Pass Predictor
Predicts rise, culmination and set of satellites over a place with an SGP4/SDP4 propagator verified against the published Vallado test cases, and marks the naked-eye visible part (satellite in sunlight, sky dark). Paste elements or fetch them from CelesTrak.
| Field | Type | Default | Description |
|---|---|---|---|
location | text | "52.0907, 5.1214" | Location (latitude, longitude). Decimal degrees such as 52.09, 5.12 (north and east positive), or DMS, UTM, MGRS, Maidenhead or a plus code. |
elevation | number | 0 | Elevation above sea level |
timeZone | text | "Europe/Amsterdam" | Time zone. IANA name such as Europe/Berlin or America/New_York, or a fixed offset such as UTC+2. |
date | date | "2026-11-07" | Local date |
time | time | "18:00" | Local time |
source | select (paste, celestrak) | "paste" | Elements |
tle | textarea | "ISS (ZARYA)\n1 25544U 98067A 26311.20783432 .00014294 00000+0 26479-3 0 9 | Two-line elements (TLE). One or more sets: an optional name line, then line 1 and line 2. |
catalogNumbers | text | "25544" | NORAD catalogue numbers (CelesTrak). Up to 5 numbers separated by commas, for example 25544 for the ISS. Used when Elements is set to CelesTrak. |
group | select (, stations, visual, amateur, weather, science) | — | Or a CelesTrak group |
days | number | 2 | Days to search |
minElevation | number | 10 | Minimum elevation |
visibleOnly | boolean | false | Only naked-eye visible passes |
Example request
ISS over Utrecht (elements of 7 November 2026)
curl -X POST https://skyfoldsatellitepasses.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"location":"52.0907, 5.1214","timeZone":"Europe/Amsterdam","date":"2026-11-07","time":"18:00","source":"paste","tle":"ISS (ZARYA)\n1 25544U 98067A 26311.20783432 .00014294 00000+0 26479-3 0 9992\n2 25544 51.6321 312.3516 0007247 357.8301 2.2655 15.49235271593925","days":2,"minElevation":10,"visibleOnly":false}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://skyfoldsatellitepasses.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
skyfold_satellite_passes - Local stdio connector:
node src/mcp-stdio.ts --tool=skyfold-satellite-passes
{
"mcpServers": {
"skyfold-satellite-passes": { "type": "http", "url": "https://skyfoldsatellitepasses.usefulweb.app/mcp" }
}
}