NASA-MCP

NASA-MCP

An MCP server that enables LLMs to query data from various NASA APIs, allowing access to astronomical data, space weather information, Earth imagery, and exoplanet information directly from compatible AI clients.

Category
Visit Server

Tools

get_astronomy_picture_of_day

Get NASA's astronomy picture of the day. Args: date: Date of the image in YYYY-MM-DD format. If not specified, the current date is used. count: If specified, returns 'count' random images. Cannot be used with 'date'. thumbs: If True, returns the thumbnail URL for videos. If APOD is not a video, this parameter is ignored.

get_asteroids_feed

Get a list of asteroids based on their closest approach date to Earth. Args: start_date: Start date for asteroid search in YYYY-MM-DD format. end_date: End date for asteroid search in YYYY-MM-DD format. The Feed date limit is only 7 Days. If not specified, 7 days after start_date is used.

get_coronal_mass_ejection

Get coronal mass ejection (CME) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_magnetopause_crossing

Get magnetopause crossing (MPC) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_wsa_enlil_simulation

Get WSA+Enlil simulation data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 7 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_notifications

Get DONKI notifications. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 7 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date. notification_type: Notification type. Options: all, FLR, SEP, CME, IPS, MPC, GST, RBE, report.

get_earth_imagery

Get Earth imagery from Landsat 8 satellite. Args: lat: Latitude. lon: Longitude. date: Image date in YYYY-MM-DD format. If not specified, the most recent image is used. dim: Width and height of the image in degrees (0.025 degrees is approximately 2.7 km). cloud_score: Calculate the percentage of the image covered by clouds (currently not available).

get_earth_assets

Get information about available imagery assets for a specific location and date. Args: lat: Latitude. lon: Longitude. date: Date in YYYY-MM-DD format. dim: Width and height of the image in degrees (0.025 degrees is approximately 2.7 km).

get_epic_imagery

Get images from the EPIC (Earth Polychromatic Imaging Camera). Args: collection: Collection type. Options: natural, enhanced.

get_epic_imagery_by_date

Get images from the EPIC (Earth Polychromatic Imaging Camera) for a specific date. Args: date: Date in YYYY-MM-DD format. collection: Collection type. Options: natural, enhanced.

get_asteroid_lookup

Look up a specific asteroid based on its NASA JPL ID. Args: asteroid_id: Asteroid ID in the NASA JPL small body (SPK-ID) system.

browse_asteroids

Browse the asteroid dataset.

get_geomagnetic_storm

Get geomagnetic storm (GST) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_solar_flare

Get solar flare (FLR) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_solar_energetic_particle

Get solar energetic particle (SEP) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_radiation_belt_enhancement

Get radiation belt enhancement (RBE) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_hight_speed_stream

Get high speed stream (HSS) data. Args: start_date: Start date in YYYY-MM-DD format. Defaults to 30 days before current date. end_date: End date in YYYY-MM-DD format. Defaults to current date.

get_epic_dates

Get available dates for EPIC images. Args: collection: Collection type. Options: natural, enhanced.

get_exoplanet_data

Get data from NASA's Exoplanet Archive. Args: query: Specific query to filter results using Exoplanet Archive syntax. Example: "pl_orbper > 300 and pl_rade < 2" table: Table to query. Common options: exoplanets (confirmed planets), cumulative (Kepler Objects of Interest), koi (subset of cumulative), tce (Threshold Crossing Events). format: Output format. Options: json, csv, xml, ipac. Default: json.

get_mars_rover_photos

Get photos from a Mars rover (Curiosity, Opportunity, Spirit). Specify either sol (Martian day) or earth_date (YYYY-MM-DD), but not both. Args: rover_name: Name of the rover (curiosity, opportunity, spirit). sol: Martian sol (day number, starting from landing). Use if not using earth_date. earth_date: Earth date in YYYY-MM-DD format. Use if not using sol. camera: Filter by camera abbreviation (e.g., FHAZ, RHAZ, MAST, NAVCAM, PANCAM). See documentation for full list per rover. page: Page number for results (25 photos per page).

get_mars_rover_manifest

Get the mission manifest for a Mars rover (Curiosity, Opportunity, Spirit). Provides mission details like landing/launch dates, status, max sol/date, total photos, and photo counts per sol. Args: rover_name: Name of the rover (curiosity, opportunity, spirit).

README

en es

NASA-MCP. Integration via MCP with NASA APIs

NASA is the National Aeronautics and Space Administration of the United States.

NASA-MCP allows you to retrieve astronomical data, space weather information, Earth imagery, and more from NASA's APIs directly from Claude AI and other MCP compatible clients, using the Model Context Protocol (MCP).

NASA-MCP is an MCP server that exposes tools enabling LLMs to query data from various NASA APIs, including APOD (Astronomy Picture of the Day), Asteroids NeoWs, DONKI (Space Weather Database), Earth imagery, EPIC (Earth Polychromatic Imaging Camera), and Exoplanet data.

It includes secure handling of API keys and proper error management for all API requests.

Key Features

  • Access to Astronomy Picture of the Day (APOD) with explanations and imagery
  • Query Near Earth Objects data and asteroid information
  • Retrieve Space Weather data from DONKI, including solar flares, geomagnetic storms, and more
  • Get Earth imagery from Landsat 8 satellite for specific coordinates
  • Access EPIC camera images showing the full Earth disk
  • Query the Exoplanet Archive database for information about planets outside our solar system

Installation

Prerequisites

  • Python 3.10 or higher
  • uv package manager

Installing uv

The first step is to install uv, a package manager for Python.
It can be installed from the command line.

On macOS and Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

On Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

You can also install it with pip:

pip install uv

For more information about installing uv, visit the uv documentation.

Integration with clients like Claude for Desktop

Once uv is installed, you can use the MCP server from any compatible client such as Claude for Desktop, in which case the steps to follow are:

  1. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json
  2. Add the following block inside "mcpServers":
"nasa-mcp": {
    "command": "uvx",
    "args": [
        "nasa_mcp"
    ],
    "env": {
        "NASA_API_KEY": "YOUR_NASA_API_KEY"
    }
}
  1. Get a free API key from NASA at: https://api.nasa.gov/
  2. Replace YOUR_NASA_API_KEY with your actual API key (leave the quotes). You can also use "DEMO_KEY" for limited testing.
  3. If you already have another MCP server configured, separate each with a comma ,.

In general, to integrate it into any other MCP-compatible client such as Cursor, CODEGPT, or Roo Code, simply go to the MCP server configuration of your client and add the same code block.

Usage Examples

Once properly configured, you can ask things like:

- "Show me today's astronomy picture of the day"
- "Find asteroids that will pass near Earth in the next week"
- "Get information about solar flares from January 2023"
- "Show me Earth imagery for coordinates 29.78, -95.33"
- "Find exoplanets in the habitable zone"

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured