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.
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
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:
- Go to Claude > Settings > Developer > Edit Config >
claude_desktop_config.json - Add 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"
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。