NASA MCP Server

ISC License
104
23
  • Apple
  • Linux

Integrations

  • Provides access to 20+ NASA data sources including APOD, Mars Rover Photos, EPIC, DONKI, NEO, EONET, TLE, JPL Solar System Dynamics, Earth Data APIs, and POWER, allowing AI models to retrieve and process space imagery, celestial object data, and Earth observation information through a standardized interface.

  • Implements input validation and sanitization for NASA API requests using Zod schemas to ensure proper formatting and security.

Servidor MCP de la NASA

Un servidor de Protocolo de Contexto de Modelo (MCP) para las API de la NASA, que proporciona una interfaz estandarizada para que los modelos de IA interactúen con la amplia gama de fuentes de datos de la NASA. Este servidor implementa la especificación oficial del Protocolo de Contexto de Modelo.

¡Muchas gracias a la comunidad MCP por su apoyo y orientación!

Características

  • Acceso a más de 20 fuentes de datos de la NASA a través de una interfaz única y consistente
  • Formatos de datos estandarizados optimizados para el consumo de IA
  • Validación automática de parámetros y gestión de errores
  • Gestión del límite de velocidad para las claves API de la NASA
  • Documentación completa y ejemplos
  • Compatibilidad con varios formatos de imágenes de la NASA
  • Conversión y formato de datos para compatibilidad con LLM
  • Compatibilidad multiplataforma (Windows, macOS, Linux)

Descargo de responsabilidad

Este proyecto no está afiliado, respaldado ni relacionado con la NASA (Administración Nacional de Aeronáutica y del Espacio) ni con ninguna de sus subsidiarias o afiliadas. Es una implementación independiente que accede a las API públicas de la NASA. Todos los datos de la NASA utilizados son públicos y están sujetos a las políticas de uso de datos de la NASA.

Instalación

Ejecutando con npx

env NASA_API_KEY=YOUR_API_KEY npx -y @programcomputer/nasa-mcp-server@latest

También puedes pasar la clave API como un argumento de línea de comando:

npx -y @programcomputer/nasa-mcp-server@latest --nasa-api-key=YOUR_API_KEY

Uso de SuperGateway para eventos enviados por el servidor (SSE)

Puede utilizar SuperGateway para eventos enviados por el servidor (SSE).

Los desarrolladores de NASA-MCP-server NO APOYAMOS el repositorio SuperGateway. Esta información se proporciona para quienes deseen implementar la funcionalidad SSE a su propia discreción.

Instalación manual

# Clone the repository git clone https://github.com/ProgramComputer/NASA-MCP-server.git # Install dependencies cd NASA-MCP-server npm install # Run with your API key NASA_API_KEY=YOUR_API_KEY npm start

Ejecutando en el cursor

Configuración del cursor 🖥️ Nota: Requiere la versión 0.45.6+ del cursor

Para configurar el servidor MCP de la NASA en Cursor:

Cree o edite un archivo mcp.json en su directorio de configuración de Cursor con el siguiente contenido:

{ "mcpServers": { "nasa-mcp": { "command": "npx", "args": ["-y", "@programcomputer/nasa-mcp-server@latest"], "env": { "NASA_API_KEY": "your-api-key" } } } }

Reemplace your-api-key con su clave API de la NASA desde https://api.nasa.gov/ .

Tras agregar la configuración, reinicie Cursor para ver las nuevas herramientas de la NASA. El agente de Composer usará automáticamente NASA MCP cuando sea necesario para consultas relacionadas con el espacio.

Variables de entorno

El servidor se puede configurar con las siguientes variables de entorno:

VariableDescripción
NASA_API_KEYSu clave API de la NASA (consígala en api.nasa.gov)

API de la NASA incluidas

Este servidor MCP integra las siguientes API de la NASA:

  1. API abierta de la NASA (api.nasa.gov):
    • APOD (Imagen astronómica del día)
    • EPIC (Cámara de imágenes policromáticas de la Tierra)
    • DONKI (Base de datos de notificaciones, conocimiento e información sobre meteorología espacial)
    • Insight (Servicio Meteorológico de Marte)
    • Fotos del Mars Rover
    • NEO (Servicio web de objetos cercanos a la Tierra)
    • EONET (Rastreador de eventos naturales del Observatorio de la Tierra)
    • TLE (elemento de dos líneas)
    • Biblioteca de imágenes y vídeos de la NASA
    • Archivo de exoplanetas
    • API de sonidos de la NASA (Beta)
    • PODER (Predicción de los recursos energéticos mundiales)
  2. API de dinámica del sistema solar del JPL (ssd-api.jpl.nasa.gov):
    • SBDB (Base de datos de cuerpos pequeños)
    • Datos de aproximación cercana de SBDB
    • Datos de Fireball
    • API de Scout
  3. API de datos de la Tierra :
    • GIBS (Servicios de exploración de imágenes globales)
    • CMR (Repositorio común de metadatos): mejorado con capacidades de búsqueda avanzadas
    • EPIC (Cámara de imágenes policromáticas de la Tierra)
    • FIRMS (Sistema de Información sobre Incendios para la Gestión de Recursos)

Métodos API

Cada API de la NASA se expone a través de métodos MCP estandarizados:

APOD (Imagen astronómica del día)

{ "method": "nasa/apod", "params": { "date": "2023-01-01", // Optional: YYYY-MM-DD format "count": 5, // Optional: Return a specified number of random images "thumbs": true // Optional: Return URL of video thumbnail } }

Fotos del Mars Rover

{ "method": "nasa/mars-rover", "params": { "rover": "curiosity", // Required: "curiosity", "opportunity", or "spirit" "sol": 1000, // Either sol or earth_date is required "earth_date": "2023-01-01", // YYYY-MM-DD format "camera": "FHAZ" // Optional: Filter by camera type } }

Objetos cercanos a la Tierra

{ "method": "nasa/neo", "params": { "start_date": "2023-01-01", // Required: YYYY-MM-DD format "end_date": "2023-01-07" // Required: YYYY-MM-DD format (max 7 days from start) } }

GIBS (Servicios de exploración de imágenes globales)

{ "method": "nasa/gibs", "params": { "layer": "MODIS_Terra_CorrectedReflectance_TrueColor", // Required: Layer ID "date": "2023-01-01", // Required: YYYY-MM-DD format "format": "png" // Optional: "png" or "jpg" } }

PODER (Predicción de los recursos energéticos mundiales)

{ "method": "nasa/power", "params": { "parameters": "T2M,PRECTOTCORR,WS10M", // Required: Comma-separated list "community": "re", // Required: Community identifier "latitude": 40.7128, // Required: Latitude "longitude": -74.0060, // Required: Longitude "start": "20220101", // Required: Start date (YYYYMMDD) "end": "20220107" // Required: End date (YYYYMMDD) } }

Para obtener la documentación completa de todos los métodos y parámetros disponibles, consulte la referencia de API en el directorio /docs .

Sistema de registro

El servidor incluye un registro completo:

  • Estado y progreso de la operación
  • Métricas de rendimiento
  • Seguimiento del límite de velocidad
  • Condiciones de error
  • Validación de solicitud

Ejemplos de mensajes de registro:

[INFO] NASA MCP Server initialized successfully [INFO] Processing APOD request for date: 2023-01-01 [INFO] Fetching Mars Rover data for Curiosity, sol 1000 [WARNING] Rate limit threshold reached (80%) [ERROR] Invalid parameter: 'date' must be in YYYY-MM-DD format

Consideraciones de seguridad

Este servidor MCP implementa las mejores prácticas de seguridad siguiendo las especificaciones del Protocolo de Contexto de Modelo:

  • Validación y saneamiento de entradas mediante esquemas Zod
  • No se permite la ejecución de código arbitrario
  • Protección contra la inyección de comandos
  • Manejo adecuado de errores para evitar fugas de información
  • Controles de limitación de velocidad y tiempo de espera para solicitudes de API
  • No existe ningún estado persistente que pueda explotarse en distintas sesiones

Desarrollo

# Clone the repository git clone https://github.com/ProgramComputer/NASA-MCP-server.git # Install dependencies npm install # Copy the example environment file and update with your API keys cp .env.example .env # Build the TypeScript code npm run build # Start the development server npm run dev # Run tests npm test

Pruebas con MCP Inspector

El servidor MCP de la NASA incluye un script para ayudarle a probar las API mediante el Inspector MCP:

# Run the provided test script ./scripts/test-with-inspector.sh

Esto hará lo siguiente:

  1. Construya el proyecto para garantizar que se incluyan los últimos cambios
  2. Inicie el Inspector MCP con el servidor MCP de la NASA en ejecución
  3. Le permite probar de forma interactiva todas las API de la NASA

Solicitudes de prueba de ejemplo

El repositorio incluye solicitudes de prueba de ejemplo para cada API que puedes copiar y pegar en el Inspector de MCP:

# View the example test requests cat docs/inspector-test-examples.md

Para obtener ejemplos detallados, consulte el documento Ejemplos de pruebas del inspector .

Uso del cliente MCP

Este servidor sigue el Protocolo de Contexto de Modelo oficial. A continuación, se muestra un ejemplo de cómo usarlo con el SDK de MCP:

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/http.js"; const transport = new HttpClientTransport({ url: "http://localhost:3000", }); const client = new Client({ name: "mcp-client", version: "1.0.0", }); await client.connect(transport); // Example: Get today's Astronomy Picture of the Day const apodResult = await client.request({ method: "nasa/apod", params: {} }); // Example: Get Mars Rover photos const marsRoverResult = await client.request({ method: "nasa/mars-rover", params: { rover: "curiosity", sol: 1000 } }); // Example: Search for Near Earth Objects const neoResults = await client.request({ method: "nasa/neo", params: { start_date: '2023-01-01', end_date: '2023-01-07' } }); // Example: Get satellite imagery from GIBS const satelliteImage = await client.request({ method: "nasa/gibs", params: { layer: 'MODIS_Terra_CorrectedReflectance_TrueColor', date: '2023-01-01' } }); // Example: Use the new POWER API const powerData = await client.request({ method: "nasa/power", params: { parameters: "T2M,PRECTOTCORR,WS10M", community: "re", latitude: 40.7128, longitude: -74.0060, start: "20220101", end: "20220107" } });

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones
  3. Ejecutar pruebas: npm test
  4. Enviar una solicitud de extracción

Licencia

Licencia ISC: consulte el archivo de LICENCIA para obtener más detalles

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo que proporciona una interfaz estandarizada para que los modelos de IA interactúen con la amplia gama de fuentes de datos de la NASA, incluidos APOD, fotos del Mars Rover, imágenes satelitales y datos meteorológicos espaciales.

  1. Features
    1. Disclaimer
      1. Installation
        1. Running with npx
        2. Using SuperGateway for Server-Sent Events (SSE)
        3. Manual Installation
        4. Running on Cursor
      2. Environment Variables
        1. Included NASA APIs
          1. API Methods
            1. APOD (Astronomy Picture of the Day)
            2. Mars Rover Photos
            3. Near Earth Objects
            4. GIBS (Global Imagery Browse Services)
            5. POWER (Prediction Of Worldwide Energy Resources)
          2. Logging System
            1. Security Considerations
              1. Development
                1. Testing with MCP Inspector
                  1. Example Test Requests
                2. MCP Client Usage
                  1. Contributing
                    1. License

                      Related MCP Servers

                      • -
                        security
                        F
                        license
                        -
                        quality
                        A Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.
                        Last updated -
                        1
                        TypeScript
                      • -
                        security
                        F
                        license
                        -
                        quality
                        A demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.
                        Last updated -
                        Python
                        • Linux
                        • Apple
                      • A
                        security
                        F
                        license
                        A
                        quality
                        A Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.
                        Last updated -
                        4
                        28
                        TypeScript
                        • Linux
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.
                        Last updated -
                        8
                        Python
                        Apache 2.0
                        • Linux
                        • Apple

                      View all related MCP servers

                      ID: o0n1e0no5o