A Model Context Protocol (MCP) server for NASA APIs, providing a standardized interface for AI models to interact with NASA's vast array of data sources.
Run one of the commands below, then pick your client in the next section.
npm
npx -y @programcomputer/nasa-mcp-server
Pick your client — the config below is generated for this server (local stdio).
claude_desktop_config.json
{
"mcpServers": {
"nasa-programcomputer": {
"command": "npx",
"args": [
"-y",
"@programcomputer/nasa-mcp-server"
]
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add nasa-programcomputer -- npx -y @programcomputer/nasa-mcp-server
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"nasa-programcomputer": {
"command": "npx",
"args": [
"-y",
"@programcomputer/nasa-mcp-server"
]
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"nasa-programcomputer": {
"command": "npx",
"args": [
"-y",
"@programcomputer/nasa-mcp-server"
]
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"nasa-programcomputer": {
"command": "npx",
"args": [
"-y",
"@programcomputer/nasa-mcp-server"
]
}
}
}Format verified against the official Windsurf docs ↗.
⭐ 93 stars · 最近更新于 4 天前 · ISC license
NASA MCP Server A Model Context Protocol (MCP) server for NASA APIs, providing a standardized interface for AI models to interact with NASA's vast array of data sources. This server implements the official Model Context Protocol specification. Big thanks to the MCP community for their support and guidance! Features Access to 20+ NASA data sources through a single, consistent interface Standardized data formats optimized for AI consumption Automatic parameter validation and error handling Rate limit management for NASA API keys Comprehensive documentation and examples Support for various NASA imagery formats Data conversion and formatting for LLM compatibility Cross-platform support (Windows, macOS, Linux) Example prompts Ask your MCP client things like: "Show me today's Astronomy Picture of the Day and explain what it shows." "Were there any solar storms in September 2026: strong flares, Earth-directed CMEs or geomagnetic storms?" "Which asteroids fly past Earth today, and which one comes closest?" "Will any asteroid pass closer to Earth than the Moon in the next 90 days?" "What are the odds that Bennu hits Earth, according to JPL Sentry?" "Find NASA photos of the Apollo 11 lunar module taken in 1969." "Which tropical storms and hurricanes are active right now?" "Show me a detailed satellite view of the Nile Delta and the Sinai on 2025-07-15." "Find cloud-hosted sea ice concentration datasets in NASA Earthdata." "What were the daily highs, lows and solar energy in Denver during the first week of July 2025?" "List the nearest roughly Earth-sized, temperate exoplanets discovered since 2020." "Where was the ISS over the Earth between 00:00 and 00:10 UTC on 2026-09-29?" "Get the latest two-line orbital elements for the ISS." "Show me a Mars Trek map tile of Olympus Mons." "What was the weather like at NASA's InSight lander during its last reported week on Mars?" "Which near-Earth asteroids need the least delta-v for a mission launched in 2030?" "Which NASA technology projects have worked on solar sails?" "Find NASA patents about solar panels that companies can license." "Which TESS sectors observed Pi Mensae, and where can I download its 2-minute light curves?" "Has JWST observed TRAPPIST-1, and with which instruments?" Disclaimer This project is not affiliated with, endorsed by, or related to NASA (National Aeronautics and Space Administration) or any of its subsidiaries or its affiliates. It is an independent implementation that accesses NASA's publicly available APIs. All NASA data used is publicly available and subject to NASA's data usage policies. Installation You don't start an MCP server yourself. Your AI app (Claude, Cursor, VS Code, Codex and others) launches it in the background, so installing it means adding an entry to that app's MCP configuration. The only prerequisite is Node.js 22 or newer; npx downloads the server the first time the app starts it. Most tools need no API key. NASA API KEY (free at ://api.nasa.gov/>; DEMO KEY works for light use) is only used by nasa neo , nasa insight weather and nasa mars rover , and FIRMS MAP KEY only by nasa firms . Leave out the env block if you don't need them. Using an AI coding agent (Claude Code, Codex, Cursor, VS Code agent mode)? Paste this into it: Standard config Most clients use this JSON shape: If the file already has an mcpServers object, add the "nasa" entry inside it instead of pasting a second mcpServers . > >Claude Desktop > Open Settings → Developer → Edit Config . This opens claude desktop config.json : macOS: /Library/Application Support/Claude/claude desktop config.json Windows: %APPDATA%\Claude\claude desktop config.json Paste the standard config, save, then fully quit and reopen Claude Desktop. > > >Claude Code > --scope user makes the server available in every project; leave it out to add it to the current project only. On native Windows, replace npx with cmd /c npx . > > >Cursor > > The button installs the server without an API key. To install by hand, or to add a key, paste the standard config into /.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). > > >VS Code (GitHub Copilot) > > > The buttons install the server without an API key. VS Code uses a top-level servers key instead of mcpServers . To install by hand, add this to .vscode/mcp.json in your workspace, or run MCP: Open User Configuration from the Command Palette for all workspaces. VS Code asks for the key the first time the server starts and stores it securely; leave it blank to skip it. > > >Codex > This writes the following to /.codex/config.toml , which the Codex CLI, IDE extension and desktop app share. You can also add it by hand: > > >Gemini CLI > Paste the standard config into /.gemini/settings.json (all projects) or .gemini/settings.json (one project). > > >Other clients > Most other MCP clients accept the standard config. If a client asks for the command and arguments separately, the command is npx and the arguments are -y @programcomputer/nasa-mcp-server@latest . To run a local clone instead of the npm package (see Manual Installation), use "command": "node" with "args": ["/absolute/path/to/NASA-MCP-server/dist/index.js"] . > Checking that it works Restart or reload your client and check that a server named nasa appears in its MCP or tools list. Then ask something like "What's today's Astronomy Picture of the Day?" If the server doesn't appear: Run node --version and make sure it prints v22 or newer. Check the config file for JSON mistakes such as a trailing comma or a second mcpServers object. Run the server from a terminal (below) to see any errors. If it prints nothing and waits, it is working; press Ctrl+C to stop it. On Windows, if the client reports that npx can't be found, use "command": "cmd" with "args": ["/c", "npx", "-y", "@programcomputer/nasa-mcp-server@latest"] . Running from a terminal You only need this for testing; your MCP client starts the server for you. You can also pass the API key as a command line argument: Manual Installation Replace YOUR API KEY with your NASA API key from ://api.nasa.gov/>. Requires Node.js 22 or newer. Environment Variables The server can be configured with the following environment variables: Variable Description ---------- ------------- NASA API KEY Your NASA API key (get at api.nasa.gov); used by NEO and InSight weather FIRMS MAP KEY Your FIRMS MAP KEY for fire data (get at firms.modaps.eosdis.nasa.gov/api/map key); separate from NASA API KEY NASA MCP CMR URL Optional CMR search URL (default: MCP TRANSPORT Transport mode: stdio (default) or http for Streamable HTTP MCP HTTP HOST Host for Streamable HTTP mode (default: 127.0.0.1 ) MCP HTTP PORT Port for Streamable HTTP mode (default: 3000 ) MCP HTTP PATH MCP endpoint path for Streamable HTTP mode (default: /mcp ) Transport Modes By default, the server runs over stdio for local MCP clients such as Cursor. To run the optional Streamable HTTP transport: The Streamable HTTP endpoint will be available at: Included NASA APIs This MCP server integrates the following NASA APIs: NASA Open API (api.nasa.gov, needs NASA API KEY ): NEO (Near Earth Object Web Service) InSight Mars Weather Service (historical: the feed stopped updating in October 2020) Other NASA APIs (no key needed): APOD (Astronomy Picture of the Day), from the NASA Science APOD API (science.nasa.gov) DONKI (Space Weather Database Of Notifications, Knowledge, Information), from NASA CCMC (ccmc.gsfc.nasa.gov) EONET (Earth Observatory Natural Event Tracker) TLE (Two-Line Element sets from CelesTrak, via tle.ivanstanojevic.me) Satellite Situation Center (spacecraft locations) TechPort (NASA technology projects) Technology Transfer (patents, software and spinoffs) Mars, Moon and Vesta Trek (WMTS map layers and tiles) NASA Image and Video Library Exoplanet Archive MAST (Mikulski Archive for Space Telescopes): TESS, Hubble, JWST, Kepler/K2 and other observations, their data products, and TESS full-frame image cutouts (TESSCut). The tools return download links to the FITS files rather than the files themselves, so your client can find data but not analyze it. Open Science Data Repository (OSDR) files POWER (Prediction Of Worldwide Energy Resources) JPL Solar System Dynamics API (ssd-api.jpl.nasa.gov): SBDB (Small-Body DataBase) SBDB Close-Approach Data Fireball Data Sentry (impact risk) Scout (NEO Confirmation Page orbits) NHATS (human-accessible NEOs) Small-Body Mission Design Horizons ephemerides Periodic Orbits Julian date converter Earth Data APIs : GIBS (Global Imagery Browse Services) CMR (Common Metadata Repository) - Enhanced with advanced search capabilities EPIC (Earth Polychromatic Imaging Camera) FIRMS (Fire Information for Resource Management System) API Methods Each NASA API is exposed through standardized MCP methods: APOD (Astronomy Picture of the Day) For a range, send start date and end date (up to 100 days) instead of date . APOD now comes from the NASA Science APOD API, which needs no key and has no random count or thumbs option. Near Earth Objects GIBS (Global Imagery Browse Services) POWER (Prediction Of Worldwide Energy Resources) CMR (Common Metadata Repository) Results come back in a compact format by default ( "response mode": "raw" returns CMR's own metadata, and fields picks which fields to return). To get the next page, send back only the next cursor from the response: FIRMS (Fire Information for Resource Management System) For complete documentation of all available methods and parameters, see the API reference in the /docs directory. Logging System The server includes comprehensive logging: Operation status and progress Performance metrics Rate limit tracking Error conditions Request validation Example log messages: Security Considerations This MCP server implements security best practices following the Model Context Protocol specifications: Input validation and sanitization using Zod schemas No execution of arbitrary code Protection against command injection Proper error handling to prevent information leakage Rate limiting and timeout controls for API requests No persistent state that could be exploited across sessions Development Testing with MCP Inspector To test the tools interactively, build the project and start the official MCP Inspector with the server: The server reads NASA API KEY and FIRMS MAP KEY from a .env file in the working directory (see Development above). The Inspector prints a local URL; open it to list and call the tools. Example Test Requests The repository includes example test requests for each API that you can copy and paste into the MCP Inspector: For detailed examples, see the Inspector Test Examples document. MCP Client Usage This server follows the official Model Context Protocol. For local clients, use the stdio configuration in Installation. For Streamable HTTP mode, start the server with MCP TRANSPORT=http , then connect with the MCP SDK: Contributing Fork the repository Create your feature branch Run tests: npm test Submit a pull request License ISC License - see LICENSE file for details…
Summary from the project README — github.com/ProgramComputer/NASA-MCP-server
Distributed as stdio, listed under Developer Tools. Review our MCP security guide before granting access to real data.
NASA MCP Server A Model Context Protocol (MCP) server for NASA APIs, providing a standardized interface for AI models to interact with NASA's vast array of data sources. This server implements the official Model Context Protocol specification. Big thanks to the MCP community for their support and guidance! Features Access to 20+ NASA data sources through a single, consistent interface Standardized data formats optimized for AI consumption Automatic parameter validation and error handling Rate limit management for NASA API keys Comprehensive documentation and examples Support for various NASA imagery formats Data conversion and formatting for LLM compatibility Cross-platform support (Windows, macOS, Linux) Example prompts Ask your MCP client things like: "Show me today's Astronomy Picture of the Day and explain what it shows." "Were there any solar storms in September 2026: strong flares, Earth-directed CMEs or geomagnetic storms?" "Which asteroids fly past Earth today, and which one comes closest?" "Will any asteroid pass closer to Earth than the Moon in the next 90 days?" "What are the odds that Bennu hits Earth, according to JPL Sentry?" "Find NASA photos of the Apollo 11 lunar module taken in 1969." "Which tropical storms and hurricanes are active right now?" "Show me a detailed satellite view of the Nile Delta and the Sinai on 2025-07-15." "Find cloud-hosted sea ice concentration datasets in NASA Earthdata." "What were the daily highs, lows and solar energy in Denver during the first week of July 2025?" "List the nearest roughly Earth-sized, temperate exoplanets discovered since 2020." "Where was the ISS over the Earth between 00:00 and 00:10 UTC on 2026-09-29?" "Get the latest two-line orbital elements for the ISS." "Show me a Mars Trek map tile of Olympus Mons." "What was the weather like at NASA's InSight lander during its last reported week on Mars?" "Which near-Earth asteroids need the least delta-v for a mission launched in 2030?" "Which NASA technology projects have worked on solar sails?" "Find NASA patents about solar panels that companies can license." "Which TESS sectors observed Pi Mensae, and where can I download its 2-minute light curves?" "Has JWST observed TRAPPIST-1, and with which instruments?" Disclaimer This project is not affiliated with, endorsed by, or related to NASA (National Aeronautics and Space Administration) or any of its subsidiaries or its affiliates. It is an independent implementation that accesses NASA's publicly available APIs. All NASA data used is publicly available and subject to NASA's data usage policies. Installation You don't start an MCP server yourself. Your AI app (Claude, Cursor, VS Code, Codex and others) launches it in the background, so installing it means adding an entry to that app's MCP configuration. The only prerequisite is Node.js 22 or newer; npx downloads the server the first time the app starts it. Most tools need no API key. NASA API KEY (free at ://api.nasa.gov/>; DEMO KEY works for light use) is only used by nasa neo , nasa insight weather and nasa mars rover , and FIRMS MAP KEY only by nasa firms . Leave out the env block if you don't need them. Using an AI coding agent (Claude Code, Codex, Cursor, VS Code agent mode)? Paste this into it: Standard config Most clients use this JSON shape: If the file already has an mcpServers object, add the "nasa" entry inside it instead of pasting a second mcpServers . > >Claude Desktop > Open Settings → Developer → Edit Config . This opens claude desktop config.json : macOS: /Library/Application Support/Claude/claude desktop config.json Windows: %APPDATA%\Claude\claude desktop config.json Paste the standard config, save, then fully quit and reopen Claude Desktop. > > >Claude Code > --scope user makes the server available in every project; leave it out to add it to the current project only. On native Windows, replace npx with cmd /c npx . > > >Cursor > > The button installs the server without an API key. To install by hand, or to add a key, paste the standard config into /.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). > > >VS Code (GitHub Copilot) > > > The buttons install the server without an API key. VS Code uses a top-level servers key instead of mcpServers . To install by hand, add this to .vscode/mcp.json in your workspace, or run MCP: Open User Configuration from the Command Palette for all workspaces. VS Code asks for the key the first time the server starts and stores it securely; leave it blank to skip it. > > >Codex > This writes the following to /.codex/config.toml , which the Codex CLI, IDE extension and desktop app share. You can also add it by hand: > > >Gemini CLI > Paste the standard config into /.gemini/settings.json (all projects) or .gemini/settings.json (one project). > > >Other clients > Most other MCP clients accept the standard config. If a client asks for the command and arguments separately, the command is npx and the arguments are -y @programcomputer/nasa-mcp-server@latest . To run a local clone instead of the npm package (see Manual Installation), use "command": "node" with "args": ["/absolute/path/to/NASA-MCP-server/dist/index.js"] . > Checking that it works Restart or reload your client and check that a server named nasa appears in its MCP or tools list. Then ask something like "What's today's Astronomy Picture of the Day?" If the server doesn't appear: Run node --version and make sure it prints v22 or newer. Check the config file for JSON mistakes such as a trailing comma or a second mcpServers object. Run the server from a terminal (below) to see any errors. If it prints nothing and waits, it is working; press Ctrl+C to stop it. On Windows, if the client reports that npx can't be found, use "command": "cmd" with "args": ["/c", "npx", "-y", "@programcomputer/nasa-mcp-server@latest"] . Running from a terminal You only need this for testing; your MCP client starts the server for you. You can also pass the API key as a command line argument: Manual Installation Replace YOUR API KEY with your NASA API key from ://api.nasa.gov/>. Requires Node.js 22 or newer. Environment Variables The server can be configured with the following environment variables: Variable Description ---------- ------------- NASA API KEY Your NASA API key (get at api.nasa.gov); used by NEO and InSight weather FIRMS MAP KEY Your FIRMS MAP KEY for fire data (get at firms.modaps.eosdis.nasa.gov/api/map key); separate from NASA API KEY NASA MCP CMR URL Optional CMR search URL (default: MCP TRANSPORT Transport mode: stdio (default) or http for Streamable HTTP MCP HTTP HOST Host for Streamable HTTP mode (default: 127.0.0.1 ) MCP HTTP PORT Port for Streamable HTTP mode (default: 3000 ) MCP HTTP PATH MCP endpoint path for Streamable HTTP mode (default: /mcp ) Transport Modes By default, the server runs over stdio for local MCP clients such as Cursor. To run the optional Streamable HTTP transport: The Streamable HTTP endpoint will be available at: Included NASA APIs This MCP server integrates the following NASA APIs: NASA Open API (api.nasa.gov, needs NASA API KEY ): NEO (Near Earth Object Web Service) InSight Mars Weather Service (historical: the feed stopped updating in October 2020) Other NASA APIs (no key needed): APOD (Astronomy Picture of the Day), from the NASA Science APOD API (science.nasa.gov) DONKI (Space Weather Database Of Notifications, Knowledge, Information), from NASA CCMC (ccmc.gsfc.nasa.gov) EONET (Earth Observatory Natural Event Tracker) TLE (Two-Line Element sets from CelesTrak, via tle.ivanstanojevic.me) Satellite Situation Center (spacecraft locations) TechPort (NASA technology projects) Technology Transfer (patents, software and spinoffs) Mars, Moon and Vesta Trek (WMTS map layers and tiles) NASA Image and Video Library Exoplanet Archive MAST (Mikulski Archive for Space Telescopes): TESS, Hubble, JWST, Kepler/K2 and other observations, their data products, and TESS full-frame image cutouts (TESSCut). The tools return download links to the FITS files rather than the files themselves, so your client can find data but not analyze it. Open Science Data Repository (OSDR) files POWER (Prediction Of Worldwide Energy Resources) JPL Solar System Dynamics API (ssd-api.jpl.nasa.gov): SBDB (Small-Body DataBase) SBDB Close-Approach Data Fireball Data Sentry (impact risk) Scout (NEO Confirmation Page orbits) NHATS (human-accessible NEOs) Small-Body Mission Design Horizons ephemerides Periodic Orbits Julian date converter Earth Data APIs : GIBS (Global Imagery Browse Services) CMR (Common Metadata Repository) - Enhanced with advanced search capabilities EPIC (Earth Polychromatic Imaging Camera) FIRMS (Fire Information for Resource Management System) API Methods Each NASA API is exposed through standardized MCP methods: APOD (Astronomy Picture of the Day) For a range, send start date and end date (up to 100 days) instead of date . APOD now comes from the NASA Science APOD API, which needs no key and has no random count or thumbs option. Near Earth Objects GIBS (Global Imagery Browse Services) POWER (Prediction Of Worldwide Energy Resources) CMR (Common Metadata Repository) Results come back in a compact format by default ( "response mode": "raw" returns CMR's own metadata, and fields picks which fields to return). To get the next page, send back only the next cursor from the response: FIRMS (Fire Information for Resource Management System) For complete documentation of all available methods and parameters, see the API reference in the /docs directory. Logging System The server includes comprehensive logging: Operation status and progress Performance metrics Rate limit tracking Error conditions Request validation Example log messages: Security Considerations This MCP server implements security best practices following the Model Context Protocol specifications: Input validation and sanitization using Zod schemas No execution of arbitrary code Protection against command injection Proper error handling to prevent information leakage Rate limiting and timeout controls for API requests No persistent state that could be exploited across sessions Development Testing with MCP Inspector To test the tools interactively, build the project and start the official MCP Inspector with the server: The server reads NASA API KEY and FIRMS MAP KEY from a .env file in the working directory (see Development above). The Inspector prints a local URL; open it to list and call the tools. Example Test Requests The repository includes example test requests for each API that you can copy and paste into the MCP Inspector: For detailed examples, see the Inspector Test Examples document. MCP Client Usage This server follows the official Model Context Protocol. For local clients, use the stdio configuration in Installation. For Streamable HTTP mode, start the server with MCP TRANSPORT=http , then connect with the MCP SDK: Contributing Fork the repository Create your feature branch Run tests: npm test Submit a pull request License ISC License - see LICENSE file for details
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/ProgramComputer/NASA-MCP-server. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/nasa-programcomputer/)
HTML
<a href="https://mcpnav.net/server/nasa-programcomputer/"><img src="https://mcpnav.net/badge/nasa-programcomputer.svg" alt="Listed on MCPNav" height="20"></a>