Utilizes NumPy for numerical calculations involved in celestial positioning and astronomical computations.
Implements testing framework for validating celestial calculations and time/location utilities.
mcp-stargazing
Calculate the altitude, rise, and set times of celestial objects (Sun, Moon, planets, stars, and deep-space objects) for any location on Earth, with optional light pollution analysis.
Features
- Altitude/Azimuth Calculation: Get elevation and compass direction for any celestial object.
- Rise/Set Times: Determine when objects appear/disappear above the horizon.
- Light Pollution Analysis: Load and analyze light pollution maps (GeoTIFF format).
- Supports:
- Solar system objects (Sun, Moon, planets)
- Stars (e.g., "sirius")
- Deep-space objects (e.g., "andromeda", "orion_nebula")
- Time Zone Aware: Works with local or UTC times.
Installation
Usage
Calculate Altitude/Azimuth
Calculate Rise/Set Times
Load Light Pollution Map
API Reference
celestial_pos(celestial_object, observer_location, time)
(src/celestial.py
)
- Inputs:
celestial_object
: Name (e.g.,"sun"
,"andromeda"
).observer_location
:EarthLocation
object.time
:datetime
(timezone-aware) or AstropyTime
.
- Returns:
(altitude_degrees, azimuth_degrees)
.
celestial_rise_set(celestial_object, observer_location, date, horizon=0.0)
(src/celestial.py
)
- Inputs:
date
: Timezone-awaredatetime
.horizon
: Horizon elevation (default: 0°).
- Returns:
(rise_time, set_time)
as UTCTime
objects.
load_map(map_path)
(src/light_pollution.py
)
- Inputs:
map_path
: Path to GeoTIFF file.
- Returns: Tuple
(vriis_data, bounds, crs, transform)
for light pollution analysis.
Testing
Run tests with:
Key Test Cases (tests/test_celestial.py
)
Project Structure
Future Work
- Add support for comets/asteroids.
- Optimize SIMBAD queries for offline use.
- Integrate light pollution data into visibility predictions.
Key Updates:
- Light Pollution: Added
light_pollution.py
to features and API reference. - Dependencies: Added
rasterio
andgeopy
to installation instructions. - Project Structure: Clarified file roles and test coverage.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Calculate the altitude, rise, and set times of celestial objects (Sun, Moon, planets, stars, and deep-space objects) for any location on Earth.
Related MCP Servers
- AsecurityAlicenseAqualityFetches tide information for any location using latitude and longitude, providing detailed tide data including high/low tides and station information with automatic UTC time zone handling.Last updated -111PythonMIT License
- -securityAlicense-qualityA feature-rich NASA data query tool that supports various NASA API services including astronomy pictures, Mars rover photos, Earth satellite images, near-Earth objects data, and space weather information through natural language queries.Last updated -47JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables efficient discovery and retrieval of NASA Earth Data for geospatial analysis.Last updated -10PythonBSD 3-Clause
- -security-license-qualityWeather forecast server which returns 7 days of detailed weather anywhere in the world, using the OpenWeatherMap One Call API 3.0.Last updated -2PythonMIT License