Skip to main content
Glama
m0siq
by m0siq

🚀 NASA Space Explorer — Cliente MCP

Asistente de astronomía en tiempo real con datos de la NASA. Inspirado en Carl Sagan: preciso y apasionante.


Arquitectura

nasa_client.py              nasa_server.py
──────────────              ──────────────
  Menú + display  ──MCP──►  5 herramientas NASA
  Lenguaje natural ◄──────  APIs: APOD · NeoWs · Mars · EONET · DONKI

El cliente lanza nasa_server.py como subproceso y se comunican por stdio usando el protocolo MCP. No necesitas Docker ni API key para empezar.


Related MCP server: NASA MCP Server

Requisitos previos

Herramienta

Versión

Comprobación

Python

3.10+

python --version

Conexión a internet

Para llamar a las APIs de la NASA


1 — Instalación

# Desde la carpeta del proyecto
cd C:\Users\Alumno_AI\Documents\mcp-espacial

# Crear entorno virtual
python -m venv .venv
.venv\Scripts\Activate.ps1

# Instalar dependencias
pip install "mcp[cli]" httpx

2 — Ejecutar

python nasa_client.py

Verás:

╭─────────────────────────────────────╮
│  🚀  NASA Space Explorer            │
│  Sistema MCP de datos espaciales    │
╰─────────────────────────────────────╯

Puedes escribir preguntas en lenguaje natural o usar el menú:
  1) Imagen astronómica del día (APOD)
  2) Asteroides cercanos a la Tierra esta semana
  3) Fotos del rover en Marte
  4) Eventos naturales activos en la Tierra
  5) Clima espacial (llamaradas, CMEs, tormentas)
  0) Salir

🚀 NASA Explorer >

3 — Herramientas MCP disponibles

#

Tool MCP

Datos

API

1

get_astronomy_picture_of_the_day

Imagen + explicación científica

NASA APOD

2

search_near_earth_objects

Asteroides, distancia, velocidad, peligrosidad

NASA NeoWs

3

get_mars_rover_photos

Fotos con URL, cámara, fecha marciana

NASA Mars Rover Photos

4

track_earth_natural_events

Incendios, volcanes, tormentas activas

NASA EONET

5

get_space_weather

Llamaradas solares, CMEs, índice Kp

NASA DONKI


4 — Uso con lenguaje natural

El cliente detecta automáticamente la herramienta correcta:

Lo que escribes

Herramienta que se llama

¿Cuál es la imagen del día?

get_astronomy_picture_of_the_day

¿Hay asteroides peligrosos esta semana?

search_near_earth_objects

fotos de Perseverance sol 500

get_mars_rover_photos(rover=perseverance, sol=500)

¿Hay incendios activos?

track_earth_natural_events(category=wildfires)

llamaradas solares esta semana

get_space_weather(event_type=flares)

clima espacial

get_space_weather(event_type=all)

volcanes activos

track_earth_natural_events(category=volcanoes)


5 — Ejemplos de salida

Asteroides (opción 2)

☄️  Objetos Cercanos a la Tierra — 2026-06-17 → 2026-06-24

Total detectados: 23 objetos
✓  Ninguno clasificado como potencialmente peligroso

┌────────────────────┬──────────────┬─────────────┬───────────────┬────────────┐
│ Nombre             │ Ø km         │ Distancia km│ Dist. lunar   │ Vel. km/h  │
├────────────────────┼──────────────┼─────────────┼───────────────┼────────────┤
│ (2024 AB1)         │ 0.014–0.031  │ 1,234,567   │ 3.21 ☽        │ 42,300     │
└────────────────────┴──────────────┴─────────────┴───────────────┴────────────┘

Clima espacial (opción 5)

☀️  Clima Espacial — 2026-06-10 → 2026-06-17

🔥 Llamaradas solares: 3
  • 2026-06-15 08:23  Clase: M2.1  Región: 13842
  • 2026-06-16 14:05  Clase: C7.4  Región: 13845

💨 Eyecciones de masa coronal (CME): 1
  • 2026-06-15 10:00  Velocidad: 847 km/s  Tipo: O

🌩  Tormentas geomagnéticas: 0
  ✓  Sin tormentas geomagnéticas registradas.

6 — Configuración del .env

Copia el archivo de ejemplo y rellena tus credenciales:

Copy-Item .env.example .env

Edita .env:

# ── Azure OpenAI (para activar la IA conversacional) ──
AZURE_OPENAI_ENDPOINT=https://TU-RECURSO.openai.azure.com/
AZURE_OPENAI_KEY=TU_CLAVE_AQUI
AZURE_OPENAI_DEPLOYMENT=gpt-4o
AZURE_OPENAI_API_VERSION=2024-12-01-preview

# ── NASA API (opcional, DEMO_KEY funciona sin registrarse) ──
NASA_API_KEY=DEMO_KEY
IMPORTANT

Sin Azure OpenAI el cliente funciona enmodo local (muestra JSON de la API sin interpretación LLM). Con Azure OpenAI activado, GPT-4o interpreta los datos y responde en lenguaje natural estilo Carl Sagan.

Instalar dependencia extra para Azure

pip install openai python-dotenv

Dónde encontrar las credenciales Azure

Variable

Dónde encontrarla

AZURE_OPENAI_ENDPOINT

Azure Portal → tu recurso OpenAI → Keys and Endpoint

AZURE_OPENAI_KEY

Azure Portal → tu recurso OpenAI → Keys and Endpoint

AZURE_OPENAI_DEPLOYMENT

Azure AI Foundry → Deployments → nombre del modelo

AZURE_OPENAI_API_VERSION

Usar 2024-12-01-preview (compatible con tool calling)

NASA API Key (opcional)

NASA ofrece claves gratuitas sin límites estrictos:

  1. Regístrate en https://api.nasa.gov/

  2. Pon tu clave en .env como NASA_API_KEY=tu_clave


7 — Rovers de Marte disponibles

Rover

Estado

Sols activos aprox.

Cámaras principales

Curiosity

✅ Activo

1 – 4300+

NAVCAM, MAST, FHAZ, RHAZ, CHEMCAM

Perseverance

✅ Activo

1 – 1500+

NAVCAM_LEFT, NAVCAM_RIGHT, MCZ_LEFT, MCZ_RIGHT

Opportunity

❌ Inactivo (2019)

1 – 5111

PANCAM, NAVCAM, FHAZ, RHAZ

Spirit

❌ Inactivo (2010)

1 – 2208

PANCAM, NAVCAM, FHAZ, RHAZ

TIP

Si no hay fotos para un sol concreto, prueba con un número distinto. No todos los soles tienen fotos de todas las cámaras.


8 — Clasificación de llamaradas solares

Clase

Intensidad

Efecto en Tierra

A, B

Mínima/Débil

Sin efecto apreciable

C

Moderada

Perturbaciones radio en zonas polares

M

Intensa

Apagones radio, auroras débiles

X

Extrema

Apagones radio, tormentas geomagnéticas

El índice Kp mide la perturbación del campo magnético terrestre (0=calma, 9=extrema). Kp ≥ 5 = tormenta geomagnética; pueden verse auroras boreales en latitudes medias.


9 — Estructura del proyecto

mcp-espacial/
├── nasa_client.py   ← Ejecutar este
├── nasa_server.py   ← Servidor MCP (lanzado automáticamente)
└── README.md        ← Esta guía

10 — Referencias


"Somewhere, something incredible is waiting to be known." — Carl Sagan

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    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.
    7 npm
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides standardized access to 20+ NASA data sources including astronomy pictures, Mars rover photos, near-Earth objects, satellite imagery, space weather, and planetary data through a unified interface optimized for AI consumption.
    23
    4 npm
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to NASA's public APIs including Astronomy Picture of the Day, Mars Rover Images, and Near Earth Objects data, enabling users to query and retrieve space-related information through natural language.
    5
    MIT