Skip to main content
Glama

mcp-stargazing

mcp-наблюдение за звездами

Рассчитайте высоту, время восхода и захода небесных объектов (Солнца, Луны, планет, звезд и объектов дальнего космоса) для любого места на Земле с возможностью анализа светового загрязнения.

Функции

  • Расчет высоты/азимута : получение высоты и направления по компасу для любого небесного объекта.
  • Время восхода/захода : определите, когда объекты появляются/исчезают над горизонтом.
  • Анализ светового загрязнения : загрузка и анализ карт светового загрязнения (формат GeoTIFF).
  • Поддерживает :
    • Объекты Солнечной системы (Солнце, Луна, планеты)
    • Звезды (например, «Сириус»)
    • Объекты дальнего космоса (например, «andromeda», «orion_nebula»)
  • Учет часового пояса : работает с местным или всемирным координированным временем.

Установка

pip install astropy pytz numpy astroquery rasterio geopy

Использование

Рассчитать высоту/азимут

from src.celestial import celestial_pos from astropy.coordinates import EarthLocation import pytz from datetime import datetime # Observer location (New York) location = EarthLocation(lat=40.7128, lon=-74.0060) # Time (local timezone-aware) local_time = pytz.timezone("America/New_York").localize(datetime(2023, 10, 1, 12, 0)) altitude, azimuth = celestial_pos("sun", location, local_time) print(f"Sun Position: Altitude={altitude:.1f}°, Azimuth={azimuth:.1f}°")

Рассчитать время подъема/установки

from src.celestial import celestial_rise_set rise, set_ = celestial_rise_set("andromeda", location, local_time.date()) print(f"Andromeda: Rise={rise.iso}, Set={set_.iso}")

Загрузить карту светового загрязнения

from src.light_pollution import load_map # Load a GeoTIFF light pollution map vriis_data, bounds, crs, transform = load_map("path/to/map.tif") print(f"Map Bounds: {bounds}")

Ссылка на API

celestial_pos(celestial_object, observer_location, time) ( src/celestial.py )

  • Входные данные :
    • celestial_object : Имя (например, "sun" , "andromeda" ).
    • observer_location : объект EarthLocation .
    • time : datetime (с учетом часового пояса) или Astropy Time .
  • Возвращает : (altitude_degrees, azimuth_degrees) .

celestial_rise_set(celestial_object, observer_location, date, horizon=0.0) ( src/celestial.py )

  • Входные данные :
    • date : datetime с учетом часового пояса.
    • horizon : высота горизонта (по умолчанию: 0°).
  • Возвращает : (rise_time, set_time) как объекты Time UTC.

load_map(map_path) ( src/light_pollution.py )

  • Входные данные :
    • map_path : Путь к файлу GeoTIFF.
  • Возвращает : кортеж (vriis_data, bounds, crs, transform) для анализа светового загрязнения.

Тестирование

Запустите тесты с:

pytest tests/

Ключевые тестовые случаи ( tests/test_celestial.py )

def test_calculate_altitude_deepspace(): """Test deep-space object resolution.""" altitude, _ = celestial_pos("andromeda", NYC, Time.now()) assert -90 <= altitude <= 90 def test_calculate_rise_set_sun(): """Validate Sun rise/set times.""" rise, set_ = celestial_rise_set("sun", NYC, datetime(2023, 10, 1)) assert rise < set_

Структура проекта

. ├── src/ │ ├── celestial.py # Core celestial calculations │ ├── light_pollution.py # Light pollution map utilities │ ├── utils.py # Time/location helpers │ └── main.py # CLI entry point ├── tests/ │ ├── test_celestial.py │ └── test_utils.py └── README.md

Будущая работа

  • Добавить поддержку комет/астероидов.
  • Оптимизируйте запросы SIMBAD для использования в автономном режиме.
  • Интеграция данных о световом загрязнении в прогнозы видимости.

Ключевые обновления:

  1. Световое загрязнение : добавлен light_pollution.py к функциям и справочнику API.
  2. Зависимости : В инструкции по установке добавлены rasterio и geopy .
  3. Структура проекта : уточнены роли файлов и тестовое покрытие.
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Рассчитайте высоту, время восхода и захода небесных объектов (Солнца, Луны, планет, звезд и объектов дальнего космоса) для любого места на Земле.

  1. Функции
    1. Установка
      1. Использование
        1. Рассчитать высоту/азимут
        2. Рассчитать время подъема/установки
        3. Загрузить карту светового загрязнения
      2. Ссылка на API
        1. celestial_pos(celestial_object, observer_location, time) ( src/celestial.py )
        2. celestial_rise_set(celestial_object, observer_location, date, horizon=0.0) ( src/celestial.py )
        3. load_map(map_path) ( src/light_pollution.py )
      3. Тестирование
        1. Ключевые тестовые случаи ( tests/test_celestial.py )
      4. Структура проекта
        1. Будущая работа
          1. Ключевые обновления:

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          Fetches 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 -
          1
          11
          Python
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          A 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 -
          47
          JavaScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables efficient discovery and retrieval of NASA Earth Data for geospatial analysis.
          Last updated -
          10
          Python
          BSD 3-Clause
          • Linux
        • -
          security
          -
          license
          -
          quality
          Weather forecast server which returns 7 days of detailed weather anywhere in the world, using the OpenWeatherMap One Call API 3.0.
          Last updated -
          2
          Python
          MIT License

        View all related MCP servers

        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/StarGazer1995/mcp-stargazing'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server