NASA-MCP
The NASA-MCP server integrates with NASA APIs to retrieve astronomical and space-related data via the Model Context Protocol (MCP). Key capabilities include:
Accessing Astronomy Picture of the Day (APOD) with options for specific dates, counts, and thumbnails
Querying Near Earth Objects (NEOs) data by date range or asteroid ID
Retrieving Space Weather data including coronal mass ejections, geomagnetic storms, and solar flares
Obtaining DONKI notifications for space weather events
Accessing Earth imagery from both Landsat 8 satellite and EPIC camera
Querying the Exoplanet Archive for information about planets outside our solar system
Retrieving Mars rover photos and mission manifests for Curiosity, Opportunity, and Spirit
Enables querying NASA APIs for astronomical data including Astronomy Picture of the Day (APOD), Near Earth Objects, Space Weather (DONKI), Earth imagery from Landsat 8, EPIC camera images, and Exoplanet Archive database information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NASA-MCP show me today's astronomy picture of the day"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: nasa-exoplanet-mcp
Installation
Installing via Smithery
To install NASA API Integration Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @AnCode666/nasa-mcp --client claudeInstall with uv
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 | shOn Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"You can also install it with pip:
pip install uvFor 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:
Go to Claude > Settings > Developer > Edit Config >
claude_desktop_config.jsonAdd the following block inside
"mcpServers":
"nasa-mcp": {
"command": "uvx",
"args": [
"nasa_mcp"
],
"env": {
"NASA_API_KEY": "YOUR_NASA_API_KEY"
}
}Get a free API key from NASA at: https://api.nasa.gov/
Replace
YOUR_NASA_API_KEYwith your actual API key (leave the quotes). You can also use "DEMO_KEY" for limited testing.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"
DISTRIBUTIONS
Smithery
MCP Review
Available Tools
21 toolsbrowse_asteroidsC
Browse the asteroid dataset.
Inputs: no named parameters.
get_asteroid_lookupC
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.
Inputs: asteroid_id (required).
get_asteroids_feedB
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.
Inputs: start_date (required), end_date.
get_astronomy_picture_of_dayA
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.
Inputs: date, count, thumbs.
get_coronal_mass_ejectionB
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.
Inputs: start_date, end_date.
get_earth_assetsB
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).
Inputs: lat (required), lon (required), date (required), dim.
get_earth_imageryB
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).
Inputs: lat (required), lon (required), date, dim, +1 more.
get_epic_datesC
Get available dates for EPIC images.
Args: collection: Collection type. Options: natural, enhanced.
Inputs: collection.
get_epic_imageryB
Get images from the EPIC (Earth Polychromatic Imaging Camera).
Args: collection: Collection type. Options: natural, enhanced.
Inputs: collection.
get_epic_imagery_by_dateB
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.
Inputs: date (required), collection.
get_exoplanet_dataB
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.
Inputs: query, table, format.
get_geomagnetic_stormB
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.
Inputs: start_date, end_date.
get_hight_speed_streamC
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.
Inputs: start_date, end_date.
get_magnetopause_crossingB
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.
Inputs: start_date, end_date.
get_mars_rover_manifestA
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).
Inputs: rover_name (required).
get_mars_rover_photosA
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).
Inputs: rover_name (required), sol, earth_date, camera, +1 more.
get_notificationsB
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.
Inputs: start_date, end_date, notification_type.
get_radiation_belt_enhancementB
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.
Inputs: start_date, end_date.
get_solar_energetic_particleB
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.
Inputs: start_date, end_date.
get_solar_flareB
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.
Inputs: start_date, end_date.
get_wsa_enlil_simulationB
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.
Inputs: start_date, end_date.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools are clearly distinct, targeting specific NASA datasets or resources like asteroids, Earth imagery, Mars rover photos, and space weather events. However, some overlap exists: get_epic_imagery and get_epic_imagery_by_date could be confusing as they both retrieve EPIC images, though the latter adds date specificity. Similarly, browse_asteroids and get_asteroids_feed both provide asteroid lists but differ in browsing vs. date-based filtering.
Tool names follow a highly consistent verb_noun pattern throughout, all using snake_case with 'get_' or 'browse_' prefixes followed by descriptive nouns (e.g., get_asteroid_lookup, get_earth_imagery, get_mars_rover_photos). This uniformity makes the tool set predictable and easy to navigate for an agent.
With 21 tools, the count is borderline high for a single server, as it covers multiple domains (asteroids, Earth imagery, Mars rovers, space weather, exoplanets). While each tool is specific, the scope feels broad, potentially overwhelming for an agent. A more focused server might split these into subdomains, but the count is still manageable.
The tool set provides comprehensive coverage for accessing NASA's public APIs, including data retrieval for asteroids, Earth imagery, Mars rovers, space weather events, and exoplanets. Minor gaps exist, such as no direct update or delete operations (expected for read-only APIs) and limited filtering options in some tools, but agents can work around these with the available query parameters.
Maintenance
Related MCP Connectors
Hosted MCP server for live public-data APIs and Skills for AI agents.
NASA MCP — wraps NASA Open APIs (api.nasa.gov)
An MCP server for Perigee, the open-source 3D viewer of the artificial objects orbiting the Earth, the Moon and Mars and of the spacecraft crossing the solar system. It lets an AI assistant (a teaching assistant, for example) answer questions such as “how far is Mars from the Earth on 1 December 2026?”, “where is the ISS now?” or “what is Lucy's mission?”, and hand the student a live 3D view, with how each number was obtained, from which data, how fresh and how accurate.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseBqualityBmaintenanceA Model Context Protocol server that provides a standardized interface for AI models to interact with NASA's vast array of data sources including APOD, Mars Rover photos, satellite imagery, and space weather data.3295 npm94ISC
- AlicenseAqualityCmaintenanceAn MCP server that gives AI assistants direct access to NASA's Exoplanet Archive — the authoritative database of every confirmed exoplanet, candidate planet, and host star.619 PyPIMIT
- AlicenseAqualityDmaintenanceMCP server providing AI agents with access to NASA and space/astronomy data including APOD, Mars rover photos, near-Earth asteroids, exoplanets, Earth imagery, natural events, and space weather.1113 PyPIMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that wraps three NASA public APIs (Astronomy Picture of the Day, Mars rover photos, and near-Earth objects) as tools for AI assistants.-