Skip to content

MCP Tools

The AstroLock MCP server exposes tools for querying celestial objects, predicting satellite passes, controlling antenna rotors, checking space weather, and more. It acts as a proxy to the AstroLock FastAPI backend, making the full system accessible from any MCP-compatible client.

Terminal window
# Register with Claude Code
claude mcp add astrolock-mcp -- uv run --directory packages/mcp astrolock-mcp

The server reads ASTROLOCK_API_URL from the environment (defaults to http://localhost:8000).


Search all catalogs for a celestial object by name. Searches satellites, planets, stars, deep sky objects, comets, and meteor showers.

ParameterTypeRequiredDescription
querystringyesSearch term (e.g., “ISS”, “Mars”, “Vega”, “M31”, “Perseids”)

Returns: Matching objects with their type, ID, magnitude, and description.

Found 3 objects matching 'ISS':
[SATELLITE] ISS (ZARYA) (id: 25544) -- International Space Station
[SATELLITE] ISS DEB (id: 43154)
[SATELLITE] ISS DEB (id: 48274)

Search the AstroLock catalog using natural language. Finds objects based on meaning rather than exact name matching, powered by pgvector embeddings.

ParameterTypeRequiredDefaultDescription
querystringyesNatural language search query
limitintno10Maximum results to return (max 50)
Found 5 results for 'weather satellites in polar orbit':
[SATELLITE] NOAA 19 (id: 33591) -- Polar-orbiting weather satellite (relevance: 92.3%)
[SATELLITE] METOP-B (id: 38771) -- EUMETSAT polar weather (relevance: 89.1%)
...

List all celestial objects currently above the horizon — planets, bright stars, the Moon, Sun, and visible satellites.

ParameterTypeRequiredDefaultDescription
min_altitudefloatno10.0Minimum altitude in degrees above horizon

Get the current sky position of any celestial object.

ParameterTypeRequiredDescription
target_typestringyesOne of: satellite, planet, star, dso, sun, moon, comet, meteor_shower, custom
target_idstringyesObject identifier (NORAD ID for satellites, name for planets, database ID for stars/DSOs)

Returns: Altitude, azimuth, distance, RA/Dec coordinates, and above/below horizon status.

ISS (ZARYA) (satellite)
Status: ABOVE horizon
Altitude: 42.17 deg
Azimuth: 215.83 deg
Distance: 587 km
RA: 14.221h, Dec: -12.45 deg
Time: 2026-02-14T03:42:00Z

Get rise, transit, and set times for a celestial object.

ParameterTypeRequiredDefaultDescription
targetstringyesObject name (e.g., “mars”, “sun”, “moon”, “jupiter”)
target_typestringno”planet”Object type
daysintno1Number of days to compute (max 7)

Predict satellite passes over the observer’s location. Returns AOS (acquisition of signal), TCA (time of closest approach), and LOS (loss of signal) for each pass.

ParameterTypeRequiredDefaultDescription
norad_idintyesNORAD catalog number (e.g., 25544 for ISS)
hoursintno24Hours ahead to predict (max 168)
min_elevationfloatno5.0Minimum peak elevation in degrees
ISS (ZARYA) -- 4 passes from Home QTH:
AOS: 2026-02-14T05:32:00Z Az: 210 deg
TCA: 2026-02-14T05:36:12Z Alt: 71.2 deg Az: 135 deg
LOS: 2026-02-14T05:40:30Z Az: 42 deg
Duration: 8m 30s Max El: 71.2 deg [VISIBLE]

Get details of the very next pass of a satellite. A convenience shortcut around predict_passes.

ParameterTypeRequiredDescription
norad_idintyesNORAD catalog number (e.g., 25544 for ISS, 27607 for SO-50)

List objects that will be visible tonight — planets, bright stars, and satellite passes. Useful for planning an evening observation session. Takes no parameters.


Get the current azimuth and elevation of an antenna rotor.

ParameterTypeRequiredDefaultDescription
rotorstringno”default”Rotor name or ID. “default” selects the first configured rotor.

Point an antenna rotor at any celestial object. Searches for the target by name, then commands the rotor.

ParameterTypeRequiredDefaultDescription
targetstringyesObject name (e.g., “Jupiter”, “ISS”, “Vega”, “M31”)
rotorstringno”default”Rotor name or “default”
Pointing Trav'ler at Jupiter:
Azimuth: 215.3 deg
Elevation: 42.1 deg

Start continuous auto-tracking of a celestial object. The rotor follows the object as it moves across the sky. Use rotor_stop to end tracking.

ParameterTypeRequiredDefaultDescription
targetstringyesObject name to track
rotorstringno”default”Rotor name or “default”

Stop the rotor and end any active tracking session.

ParameterTypeRequiredDefaultDescription
rotorstringno”default”Rotor name or “default”

Get radio frequencies for a satellite — uplinks, downlinks, and beacons.

ParameterTypeRequiredDescription
norad_idintyesNORAD catalog number
Frequencies for satellite 25544:
Downlink 145.800 MHz (FM)
Uplink 145.200 MHz (FM)
APRS 145.825 MHz (AFSK)

Compute live Doppler-corrected frequencies for a satellite. If no specific frequency is given, corrects all known frequencies for that satellite.

ParameterTypeRequiredDefaultDescription
norad_idintyesNORAD catalog number
frequency_mhzfloatnonullSpecific frequency in MHz to correct (omit for all)
Doppler corrections:
145.800 MHz -> 145.803214 MHz (shift: +3214.2 Hz, range rate: -6.6123 km/s)
145.825 MHz -> 145.828218 MHz (shift: +3218.0 Hz, range rate: -6.6123 km/s)

Start an RSSI sky survey. Sweeps the antenna across a grid of azimuth/elevation positions, measuring signal strength at each point to build a heatmap.

ParameterTypeRequiredDefaultDescription
rotorstringno”default”Rotor name or ID
az_startfloatno0Azimuth start angle (0—360)
az_endfloatno360Azimuth end angle
el_startfloatno18Elevation start angle
el_endfloatno65Elevation end angle
step_degfloatno2.0Grid step size in degrees (smaller = more detailed, slower)
rssi_iterationsintno10Signal strength samples per grid point

Check progress of a running or completed sky scan.

ParameterTypeRequiredDescription
session_idintyesScan session ID returned by start_sky_scan

Get scan results, optionally filtered by minimum signal strength. Returns the strongest signal locations sorted by RSSI.

ParameterTypeRequiredDefaultDescription
session_idintyesScan session ID
min_rssiintno0Minimum RSSI value to include (0 for all)

Cancel a running sky scan.

ParameterTypeRequiredDescription
session_idintyesScan session ID to cancel

List all comets tracked in the AstroLock database. Returns names, designations, perihelion distances, and orbital eccentricities. Comets are loaded from the IAU Minor Planet Center orbital elements database. Takes no parameters.

Get the current sky position of a comet, computed from MPC Keplerian orbital elements.

ParameterTypeRequiredDescription
namestringyesComet name or designation (e.g., “Halley”, “C/2023 A3”, “Tsuchinshan-ATLAS”)

Refresh comet orbital elements from the Minor Planet Center. Downloads the latest CometEls.txt from the IAU MPC. Normally runs automatically every 24 hours. Takes no parameters.


Get current space weather conditions affecting radio propagation. Returns solar flux index (SFI), K-index, A-index, sunspot number, NOAA storm scales, and HF band condition assessments. Takes no parameters.

Get the current WWV propagation bulletin with HF band assessments. Returns the parsed NOAA/WWV bulletin including solar flux, A/K indices, a day/night condition table for each HF band, and the text forecast. Takes no parameters.

Get aurora probability at a specific location using the NOAA OVATION model.

ParameterTypeRequiredDescription
latfloatyesLatitude in decimal degrees (-90 to 90)
lonfloatyesLongitude in decimal degrees (-180 to 180)

Returns: Aurora probability percentage, assessment text, and observation/forecast timestamps.


Get the current observer location, grid square, and sky conditions. Takes no parameters.

Observer: Home QTH
Location: 38.8977 N, -77.0365 E
Altitude: 15 m
Grid square: FM18lv

Update the observer’s location. All position calculations, pass predictions, and sky surveys use this location.

ParameterTypeRequiredDefaultDescription
latitudefloatyesLatitude in decimal degrees (positive = North)
longitudefloatyesLongitude in decimal degrees (positive = East)
altitude_mfloatno0.0Altitude in meters above sea level
namestringnonullOptional name for this location

Get current atmospheric observing conditions at the observer location. Returns an observing score (0—100), cloud cover, visibility, wind speed, temperature, humidity, and precipitation status. Takes no parameters.

Score interpretation:

ScoreRating
80—100Excellent
60—79Good
40—59Fair
20—39Poor
0—19Bad

List aircraft currently detected near the observer location via ADS-B. Returns callsigns, altitudes, speeds, headings, vertical rates, origin countries, and squawk codes. Takes no parameters.


List currently active radiosondes (weather balloons) being tracked. Returns serial numbers, positions, altitudes, telemetry (temperature, humidity, pressure), frequencies, and flight status (ascending/descending/landed). Takes no parameters.

Get landing predictions for currently tracked radiosondes. Returns predicted landing coordinates and times for sondes that are descending or have recently been tracked. Takes no parameters.


Quick reference of all 28 tools organized by function:

CategoryTools
Discoveryfind_object, semantic_search, whats_up
Positionobject_position, rise_set_times
Passespredict_passes, next_pass, visual_tonight
Rotorrotor_position, point_at, track, rotor_stop
Radiosatellite_frequencies, doppler_correction
Sky surveystart_sky_scan, scan_status, scan_results, stop_sky_scan
Cometslist_comets, comet_position, refresh_comets
Weatherspace_weather, band_conditions, aurora_forecast
Environmentobserver_info, set_observer, observing_conditions, nearby_aircraft
Radiosondesactive_sondes, sonde_predictions