### NASA MCP Server Development Setup (Bash) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Provides bash commands for cloning the NASA MCP Server repository, installing dependencies, configuring environment variables, building the project, and starting the development server. ```bash # 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 ``` -------------------------------- ### Manual Installation and Running NASA MCP Server Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md This sequence of commands outlines the manual installation process for the NASA MCP Server. It involves cloning the repository, installing npm dependencies, and starting the server using an npm script, requiring the NASA API key to be set as an environment variable. ```bash # 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 ``` -------------------------------- ### Run NASA MCP Server with npx Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md This command installs and runs the NASA MCP server using npx. It requires a NASA API key, which can be provided via an environment variable or a command-line argument. This is a quick way to get the server up and running without manual installation. ```bash env NASA_API_KEY=YOUR_API_KEY npx -y @programcomputer/nasa-mcp-server@latest ``` ```bash npx -y @programcomputer/nasa-mcp-server@latest --nasa-api-key=YOUR_API_KEY ``` -------------------------------- ### Get POWER Solar and Meteorological Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Fetches solar and meteorological data from the POWER (Prediction Of Worldwide Energy Resources) API for a given location and date range. Specifies required parameters like 'parameters', 'community', 'latitude', 'longitude', 'start', and 'end'. ```json { "method": "nasa/power", "params": { "parameters": "T2M,PRECTOTCORR,WS10M", "community": "re", "latitude": 40.7128, "longitude": -74.0060, "start": "20220101", "end": "20220107" } } ``` -------------------------------- ### Get JPL Scout Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Requests data from the JPL Scout API. This example shows a basic request with no specific parameters. ```json { "method": "jpl/scout", "params": {} } ``` -------------------------------- ### Get NASA Sounds (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Searches for space sounds related to a query term with a specified limit. Employs the 'nasa/sounds' method with 'q' and 'limit' parameters. ```json { "method": "nasa/sounds", "params": { "q": "voyager", "limit": 3 } } ``` -------------------------------- ### Viewing Inspector Test Examples (Bash) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Bash command to display the content of the inspector-test-examples.md file, which contains example test requests for each API that can be used with the MCP Inspector. ```bash # View the example test requests cat docs/inspector-test-examples.md ``` -------------------------------- ### Get Server Manifest (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Requests the manifest of available APIs from the MCP server. This JSON payload includes the method and empty parameters. ```json { "method": "tools/manifest", "params": {} } ``` -------------------------------- ### Server Information Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve the manifest of available APIs. ```APIDOC ## Server Information ### Description Get the manifest of available APIs. ### Method POST ### Endpoint /tools/manifest ### Parameters #### Request Body - **params** (object) - Required - An empty object for this endpoint. ### Request Example ```json { "method": "tools/manifest", "params": {} } ``` ``` -------------------------------- ### Get Random APOD (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Requests a random Astronomy Picture of the Day (APOD). This example uses the 'nasa/apod' method with a 'count' parameter set to 1. ```json { "method": "nasa/apod", "params": { "count": 1 } } ``` -------------------------------- ### NASA Image and Video Library Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Search NASA's image and video library with various filters. ```APIDOC ## NASA Image and Video Library ### Description Search NASA's image and video library with various filters. ### Method POST ### Endpoint /nasa/images ### Parameters #### Request Body - **params** (object) - Required - Parameters for the image search. - **q** (string) - Required - The search query. - **media_type** (string) - Optional - Filter by media type (e.g., "image", "video"). - **year_start** (integer) - Optional - The start year for the search. - **year_end** (integer) - Optional - The end year for the search. ### Request Example ```json { "method": "nasa/images", "params": { "q": "apollo 11", "media_type": "image", "year_start": 1969, "year_end": 1970 } } ``` ``` -------------------------------- ### Get FIRMS Fire Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieves fire data from the FIRMS (Fire Information) system for a specified 'area' and number of 'days'. Utilizes the 'nasa/firms' method. ```json { "method": "nasa/firms", "params": { "area": "world", "days": 1 } } ``` -------------------------------- ### Get Latest EPIC Images (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieves the latest images from the EPIC (Earth Polychromatic Imaging Camera) collection. The request specifies the 'nasa/epic' method and a 'collection' parameter. ```json { "method": "nasa/epic", "params": { "collection": "natural" } } ``` -------------------------------- ### Mars Rover Photos Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Get photos from a specified Mars rover for a given sol (Martian day). ```APIDOC ## Mars Rover Photos ### Description Get photos from a specified Mars rover for a given sol (Martian day). ### Method POST ### Endpoint /nasa/mars-rover ### Parameters #### Request Body - **params** (object) - Required - Parameters for the Mars rover photo request. - **rover** (string) - Required - The name of the Mars rover (e.g., "perseverance"). - **sol** (integer) - Required - The sol (Martian day) to retrieve photos from. ### Request Example ```json { "method": "nasa/mars-rover", "params": { "rover": "perseverance", "sol": 100 } } ``` ``` -------------------------------- ### Get GIBS Satellite Imagery (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Requests a specific satellite imagery layer from the Global Imagery Browse Services (GIBS). The request includes 'layer' and 'date' parameters for the 'nasa/gibs' method. ```json { "method": "nasa/gibs", "params": { "layer": "MODIS_Terra_CorrectedReflectance_TrueColor", "date": "2023-01-01" } } ``` -------------------------------- ### Get APOD by Date (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Fetches the Astronomy Picture of the Day (APOD) for a specific date. The request specifies the 'nasa/apod' method and a 'date' parameter. ```json { "method": "nasa/apod", "params": { "date": "2023-01-01" } } ``` -------------------------------- ### SBDB (Small-Body Database) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Query the JPL Small-Body Database. ```APIDOC ## SBDB (Small-Body Database) ### Description Query the JPL Small-Body Database. ### Method POST ### Endpoint /jpl/sbdb ### Parameters #### Request Body - **params** (object) - Required - Parameters for the SBDB query. - **sstr** (string) - Required - The Small-Body Designator (e.g., "433"). - **full_precision** (boolean) - Optional - Whether to return full precision data. ### Request Example ```json { "method": "jpl/sbdb", "params": { "sstr": "433", "full_precision": true } } ``` ``` -------------------------------- ### EONET (Earth Observatory Events) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Get natural event data from EONET based on category, days, and status. ```APIDOC ## EONET (Earth Observatory Events) ### Description Get natural event data from EONET based on category, days, and status. ### Method POST ### Endpoint /nasa/eonet ### Parameters #### Request Body - **params** (object) - Required - Parameters for the EONET request. - **category** (string) - Required - The category of events to query (e.g., "wildfires"). - **days** (integer) - Required - The number of past days to retrieve data for. - **status** (string) - Optional - The status of the events (e.g., "open"). ### Request Example ```json { "method": "nasa/eonet", "params": { "category": "wildfires", "days": 20, "status": "open" } } ``` ``` -------------------------------- ### NASA Sounds API Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Search for space sounds from NASA's collection. ```APIDOC ## NASA Sounds API ### Description Search for space sounds from NASA's collection. ### Method POST ### Endpoint /nasa/sounds ### Parameters #### Request Body - **params** (object) - Required - Parameters for the sounds search. - **q** (string) - Required - The search query (e.g., "voyager"). - **limit** (integer) - Optional - The maximum number of results to return. ### Request Example ```json { "method": "nasa/sounds", "params": { "q": "voyager", "limit": 3 } } ``` ``` -------------------------------- ### NASA MCP Server Logging Examples (Plain Text) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Illustrates various log messages generated by the NASA MCP Server, categorized by severity (INFO, WARNING, ERROR), showing operational status, performance, and error conditions. ```text [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 ``` -------------------------------- ### Run MCP Inspector Manually (Bash) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Manually launches the MCP Inspector using npx, pointing to the server's main JavaScript file. This allows for direct interaction and testing. ```bash # Or run manually npx @modelcontextprotocol/inspector node dist/index.js ``` -------------------------------- ### Exoplanet Archive Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Search for exoplanets with specific selection criteria, filtering, ordering, and limits. ```APIDOC ## Exoplanet Archive ### Description Search for exoplanets with specific selection criteria, filtering, ordering, and limits. ### Method POST ### Endpoint /nasa/exoplanet ### Parameters #### Request Body - **params** (object) - Required - Parameters for the exoplanet search. - **select** (string) - Optional - Comma-separated list of fields to select (e.g., "pl_name,pl_masse,st_dist"). - **where** (string) - Optional - Filtering condition (e.g., "pl_masse>1"). - **order** (string) - Optional - Field to order results by (e.g., "pl_masse"). - **limit** (integer) - Optional - The maximum number of results to return. ### Request Example ```json { "method": "nasa/exoplanet", "params": { "select": "pl_name,pl_masse,st_dist", "where": "pl_masse>1", "order": "pl_masse", "limit": 5 } } ``` ``` -------------------------------- ### Get Mars Rover Photos (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Fetches photos taken by a specific Mars rover (e.g., Perseverance) at a given 'sol' (Martian day). Utilizes the 'nasa/mars-rover' method with 'rover' and 'sol' parameters. ```json { "method": "nasa/mars-rover", "params": { "rover": "perseverance", "sol": 100 } } ``` -------------------------------- ### Running NASA MCP Server Tests with Inspector (Bash) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md A bash command to execute a provided script that builds the project, starts the MCP Inspector, and facilitates interactive testing of all NASA MCP APIs. ```bash # Run the provided test script ./scripts/test-with-inspector.sh ``` -------------------------------- ### Get NEOs by Date Range (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Fetches Near Earth Objects (NEOs) within a specified date range. The 'nasa/neo' method is used with 'start_date' and 'end_date' parameters. ```json { "method": "nasa/neo", "params": { "start_date": "2023-01-01", "end_date": "2023-01-02" } } ``` -------------------------------- ### Search NASA Image Library (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Queries NASA's image and video library for specific terms and media types within a given year range. Uses the 'nasa/images' method with 'q', 'media_type', 'year_start', and 'year_end' parameters. ```json { "method": "nasa/images", "params": { "q": "apollo 11", "media_type": "image", "year_start": 1969, "year_end": 1970 } } ``` -------------------------------- ### Search Exoplanets (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Searches the Exoplanet Archive for planets matching specific criteria, selecting certain fields, and ordering results. Employs the 'nasa/exoplanet' method with 'select', 'where', 'order', and 'limit' parameters. ```json { "method": "nasa/exoplanet", "params": { "select": "pl_name,pl_masse,st_dist", "where": "pl_masse>1", "order": "pl_masse", "limit": 5 } } ``` -------------------------------- ### Get EONET Natural Event Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieves natural event data from EONET (Earth Observatory Events) for a specified 'category', number of 'days', and 'status'. Uses the 'nasa/eonet' method. ```json { "method": "nasa/eonet", "params": { "category": "wildfires", "days": 20, "status": "open" } } ``` -------------------------------- ### POWER (Energy Resources) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve solar and meteorological data from the POWER API. ```APIDOC ## POWER (Energy Resources) ### Description Retrieve solar and meteorological data from the POWER API. ### Method POST ### Endpoint /nasa/power ### Parameters #### Request Body - **params** (object) - Required - Parameters for the POWER request. - **parameters** (string) - Required - Comma-separated list of parameters (e.g., "T2M,PRECTOTCORR,WS10M"). - **community** (string) - Required - The community to query (e.g., "re"). - **latitude** (number) - Required - The latitude for the location. - **longitude** (number) - Required - The longitude for the location. - **start** (string) - Required - The start date (YYYYMMDD). - **end** (string) - Required - The end date (YYYYMMDD). ### Request Example ```json { "method": "nasa/power", "params": { "parameters": "T2M,PRECTOTCORR,WS10M", "community": "re", "latitude": 40.7128, "longitude": -74.0060, "start": "20220101", "end": "20220107" } } ``` ``` -------------------------------- ### Scout API Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve data from the JPL Scout API. ```APIDOC ## Scout API ### Description Retrieve data from the JPL Scout API. ### Method POST ### Endpoint /jpl/scout ### Parameters #### Request Body - **params** (object) - Required - An empty object for this endpoint. ### Request Example ```json { "method": "jpl/scout", "params": {} } ``` ``` -------------------------------- ### Get JPL Fireball Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieves fireball event data from JPL for a specified minimum date and a limit on the number of results. Uses the 'jpl/fireball' method. ```json { "method": "jpl/fireball", "params": { "date_min": "2022-01-01", "limit": 5 } } ``` -------------------------------- ### Run MCP Inspector Test Script (Bash) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Executes a bash script to run the MCP Inspector with the NASA MCP server. This is a convenience script for automated testing. ```bash # Run the provided script ./scripts/test-with-inspector.sh ``` -------------------------------- ### Search CMR Collections with Spatial Params (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Conducts an advanced search for CMR collections using spatial parameters like 'bbox' and filtering by 'platform'. Includes facet information. ```json { "method": "nasa/cmr", "params": { "search_type": "collections", "platform": "Terra", "bbox": "-180,-90,180,90", "limit": 5, "include_facets": true } } ``` -------------------------------- ### GIBS (Global Imagery Browse Services) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve a satellite imagery layer for a specific date. ```APIDOC ## GIBS (Global Imagery Browse Services) ### Description Retrieve a satellite imagery layer for a specific date. ### Method POST ### Endpoint /nasa/gibs ### Parameters #### Request Body - **params** (object) - Required - Parameters for the GIBS request. - **layer** (string) - Required - The imagery layer to retrieve (e.g., "MODIS_Terra_CorrectedReflectance_TrueColor"). - **date** (string) - Required - The date for the imagery (YYYY-MM-DD). ### Request Example ```json { "method": "nasa/gibs", "params": { "layer": "MODIS_Terra_CorrectedReflectance_TrueColor", "date": "2023-01-01" } } ``` ``` -------------------------------- ### Query JPL Small-Body Database (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Queries the JPL Small-Body Database for information about celestial bodies, identified by 'sstr'. Supports full precision output. ```json { "method": "jpl/sbdb", "params": { "sstr": "433", "full_precision": true } } ``` -------------------------------- ### CMR (Common Metadata Repository) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Perform searches in the Common Metadata Repository, including basic collection, advanced collection, and granule searches. ```APIDOC ## CMR (Common Metadata Repository) ### Description Perform searches in the Common Metadata Repository, including basic collection, advanced collection, and granule searches. ### Method POST ### Endpoint /nasa/cmr ### Parameters #### Request Body - **params** (object) - Required - Parameters for the CMR search. - **search_type** (string) - Optional - The type of search to perform ("collections" or "granules"). Defaults to "collections". - **keyword** (string) - Optional - A keyword to search for in collections. - **limit** (integer) - Optional - The maximum number of results to return. - **platform** (string) - Optional - Filter by platform (e.g., "Terra"). - **bbox** (string) - Optional - Bounding box for spatial search (minLon,minLat,maxLon,maxLat). - **include_facets** (boolean) - Optional - Whether to include facets in the results. - **concept_id** (string) - Optional - The concept ID to use for granule searches. ### Request Example (Basic Collection Search) ```json { "method": "nasa/cmr", "params": { "keyword": "hurricane", "limit": 2 } } ``` ### Request Example (Advanced Collection Search) ```json { "method": "nasa/cmr", "params": { "search_type": "collections", "platform": "Terra", "bbox": "-180,-90,180,90", "limit": 5, "include_facets": true } } ``` ### Request Example (Granule Search) ```json { "method": "nasa/cmr", "params": { "search_type": "granules", "concept_id": "C1000000000-ORNL_DAAC", "limit": 3 } } ``` ``` -------------------------------- ### Get DONKI CME Data (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieves Coronal Mass Ejection (CME) data from the DONKI (Space Weather Database) for a specified date range. Uses the 'nasa/donki' method with 'type', 'startDate', and 'endDate' parameters. ```json { "method": "nasa/donki", "params": { "type": "cme", "startDate": "2022-01-01", "endDate": "2022-01-10" } } ``` -------------------------------- ### EPIC (Earth Polychromatic Imaging Camera) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve the latest EPIC images from the specified collection. ```APIDOC ## EPIC (Earth Polychromatic Imaging Camera) ### Description Retrieve the latest EPIC images from the specified collection. ### Method POST ### Endpoint /nasa/epic ### Parameters #### Request Body - **params** (object) - Required - Parameters for the EPIC request. - **collection** (string) - Required - The collection of images to retrieve (e.g., "natural"). ### Request Example ```json { "method": "nasa/epic", "params": { "collection": "natural" } } ``` ``` -------------------------------- ### Search CMR Granules (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Searches for granules within the Common Metadata Repository (CMR) based on a 'concept_id'. Uses the 'nasa/cmr' method with 'search_type': 'granules'. ```json { "method": "nasa/cmr", "params": { "search_type": "granules", "concept_id": "C1000000000-ORNL_DAAC", "limit": 3 } } ``` -------------------------------- ### NEO (Near Earth Object Web Service) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve Near Earth Objects within a specified date range. ```APIDOC ## NEO (Near Earth Object Web Service) ### Description Retrieve Near Earth Objects within a specified date range. ### Method POST ### Endpoint /nasa/neo ### Parameters #### Request Body - **params** (object) - Required - Parameters for the NEO request. - **start_date** (string) - Required - The start date for the search (YYYY-MM-DD). - **end_date** (string) - Required - The end date for the search (YYYY-MM-DD). ### Request Example ```json { "method": "nasa/neo", "params": { "start_date": "2023-01-01", "end_date": "2023-01-02" } } ``` ``` -------------------------------- ### Fireball Data Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve fireball event data from JPL. ```APIDOC ## Fireball Data ### Description Retrieve fireball event data from JPL. ### Method POST ### Endpoint /jpl/fireball ### Parameters #### Request Body - **params** (object) - Required - Parameters for the fireball data request. - **date_min** (string) - Required - The minimum date for the search (YYYY-MM-DD). - **limit** (integer) - Optional - The maximum number of results to return. ### Request Example ```json { "method": "jpl/fireball", "params": { "date_min": "2022-01-01", "limit": 5 } } ``` ``` -------------------------------- ### FIRMS (Fire Information) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve fire data for a specified area and number of past days. ```APIDOC ## FIRMS (Fire Information) ### Description Retrieve fire data for a specified area and number of past days. ### Method POST ### Endpoint /nasa/firms ### Parameters #### Request Body - **params** (object) - Required - Parameters for the FIRMS request. - **area** (string) - Required - The area to query (e.g., "world"). - **days** (integer) - Required - The number of past days to retrieve data for. ### Request Example ```json { "method": "nasa/firms", "params": { "area": "world", "days": 1 } } ``` ``` -------------------------------- ### APOD (Astronomy Picture of the Day) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve the Astronomy Picture of the Day for a specific date or a random picture. ```APIDOC ## APOD (Astronomy Picture of the Day) ### Description Get the Astronomy Picture of the Day for a specific date or a random picture. ### Method POST ### Endpoint /nasa/apod ### Parameters #### Request Body - **params** (object) - Required - Parameters for the APOD request. - **date** (string) - Optional - The date for which to retrieve the APOD (YYYY-MM-DD). - **count** (integer) - Optional - The number of random APODs to retrieve. ### Request Example (Specific Date) ```json { "method": "nasa/apod", "params": { "date": "2023-01-01" } } ``` ### Request Example (Random) ```json { "method": "nasa/apod", "params": { "count": 1 } } ``` ``` -------------------------------- ### Search CMR Collections (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Performs a basic search for collections in the Common Metadata Repository (CMR) using a keyword and limit. The 'nasa/cmr' method with 'search_type': 'collections' is employed. ```json { "method": "nasa/cmr", "params": { "keyword": "hurricane", "limit": 2 } } ``` -------------------------------- ### DONKI (Space Weather Database) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/docs/inspector-test-examples.md Retrieve data from the Space Weather Database, such as Coronal Mass Ejections (CME). ```APIDOC ## DONKI (Space Weather Database) ### Description Retrieve data from the Space Weather Database, such as Coronal Mass Ejections (CME). ### Method POST ### Endpoint /nasa/donki ### Parameters #### Request Body - **params** (object) - Required - Parameters for the DONKI request. - **type** (string) - Required - The type of event to query (e.g., "cme"). - **startDate** (string) - Required - The start date for the search (YYYY-MM-DD). - **endDate** (string) - Required - The end date for the search (YYYY-MM-DD). ### Request Example ```json { "method": "nasa/donki", "params": { "type": "cme", "startDate": "2022-01-01", "endDate": "2022-01-10" } } ``` ``` -------------------------------- ### NASA Near Earth Objects API Request (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Defines the parameters for requesting Near Earth Object data from the NASA API. It requires a start date and an end date in YYYY-MM-DD format, with a maximum span of 7 days. ```json { "method": "nasa/neo", "params": { "start_date": "2023-01-01", "end_date": "2023-01-07" } } ``` -------------------------------- ### Configure NASA MCP Server in Cursor IDE Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md This JSON configuration snippet demonstrates how to set up the NASA MCP server within the Cursor IDE. It specifies the command to run, arguments, and environment variables, including the crucial NASA API key, allowing Cursor to utilize the server for space-related queries. ```json { "mcpServers": { "nasa-mcp": { "command": "npx", "args": ["-y", "@programcomputer/nasa-mcp-server@latest"], "env": { "NASA_API_KEY": "your-api-key" } } } } ``` -------------------------------- ### MCP Client Usage with TypeScript SDK Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Demonstrates how to use the Model Context Protocol (MCP) SDK in TypeScript to connect to the NASA MCP Server and make various API requests, including APOD, Mars Rover photos, NEO, GIBS, and POWER data. ```typescript 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" } }); ``` -------------------------------- ### NASA GIBS API Request (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Specifies parameters for fetching satellite imagery from NASA's Global Imagery Browse Services (GIBS). Requires a layer ID and a date (YYYY-MM-DD), with an optional image format. ```json { "method": "nasa/gibs", "params": { "layer": "MODIS_Terra_CorrectedReflectance_TrueColor", "date": "2023-01-01", "format": "png" } } ``` -------------------------------- ### GIBS API Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Fetches satellite imagery from the Global Imagery Browse Services (GIBS) for a specific layer and date. ```APIDOC ## POST /nasa/gibs ### Description Retrieves satellite imagery from NASA's GIBS service for a specified layer and date. ### Method POST ### Endpoint /nasa/gibs ### Parameters #### Query Parameters - **layer** (string) - Required - The ID of the imagery layer (e.g., 'MODIS_Terra_CorrectedReflectance_TrueColor'). - **date** (string) - Required - The date for the imagery in YYYY-MM-DD format. - **format** (string) - Optional - The desired image format ('png' or 'jpg'). Defaults to 'png'. ### Request Example ```json { "method": "nasa/gibs", "params": { "layer": "MODIS_Terra_CorrectedReflectance_TrueColor", "date": "2023-01-01", "format": "png" } } ``` ### Response #### Success Response (200) - **image_url** (string) - A URL to the requested satellite image. #### Response Example ```json { "image_url": "https://gibs.earthdata.nasa.gov/wmts-webmerc/MODIS_Terra_CorrectedReflectance_TrueColor/default//2023-01-01/EPSG4326/best/MODIS_Terra_CorrectedReflectance_TrueColor/default.png" } ``` ``` -------------------------------- ### NASA POWER API Request (JSON) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Details the parameters for requesting energy resource data from NASA's Prediction Of Worldwide Energy Resources (POWER). Requires specific meteorological parameters, community, location (latitude/longitude), and date range. ```json { "method": "nasa/power", "params": { "parameters": "T2M,PRECTOTCORR,WS10M", "community": "re", "latitude": 40.7128, "longitude": -74.0060, "start": "20220101", "end": "20220107" } } ``` -------------------------------- ### MCP API Request for APOD Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md This JSON object represents a request to the NASA MCP Server's APOD (Astronomy Picture of the Day) endpoint. It specifies the method and optional parameters such as date, count for random images, and a flag for video thumbnails. ```json { "method": "nasa/apod", "params": { "date": "2023-01-01", "count": 5, "thumbs": true } } ``` -------------------------------- ### POWER API Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Accesses Prediction Of Worldwide Energy Resources (POWER) data for a given location and time period. ```APIDOC ## POST /nasa/power ### Description Retrieves weather and energy data from the POWER project, including temperature, precipitation, and wind speed. ### Method POST ### Endpoint /nasa/power ### Parameters #### Query Parameters - **parameters** (string) - Required - A comma-separated list of desired parameters (e.g., "T2M,PRECTOTCORR,WS10M"). - **community** (string) - Required - The community identifier (e.g., 're' for Renewable Energy). - **latitude** (number) - Required - The latitude of the location. - **longitude** (number) - Required - The longitude of the location. - **start** (string) - Required - The start date in YYYYMMDD format. - **end** (string) - Required - The end date in YYYYMMDD format. ### Request Example ```json { "method": "nasa/power", "params": { "parameters": "T2M,PRECTOTCORR,WS10M", "community": "re", "latitude": 40.7128, "longitude": -74.0060, "start": "20220101", "end": "20220107" } } ``` ### Response #### Success Response (200) - **data** (array) - An array of data points for the requested parameters and time period. - **date** (string) - The date of the data point. - **T2M** (number) - Temperature at 2 meters. - **PRECTOTCORR** (number) - Precipitation corrected. - **WS10M** (number) - Wind speed at 10 meters. #### Response Example ```json { "data": [ { "date": "2022-01-01", "T2M": 275.46, "PRECTOTCORR": 0.001, "WS10M": 3.5 }, { "date": "2022-01-02", "T2M": 276.12, "PRECTOTCORR": 0.000, "WS10M": 3.8 } ] } ``` ``` -------------------------------- ### APOD (Astronomy Picture of the Day) Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Retrieves data for NASA's Astronomy Picture of the Day. You can specify a date, a count of random images, or request thumbnails for videos. ```APIDOC ## APOD (Astronomy Picture of the Day) ### Description Retrieves data for NASA's Astronomy Picture of the Day. You can specify a date, a count of random images, or request thumbnails for videos. ### Method POST ### Endpoint /nasa/apod ### Parameters #### Request Body - **method** (string) - Required - The API method to call, should be "nasa/apod". - **params** (object) - Optional - Parameters for the APOD API. - **date** (string) - Optional - The date for which to retrieve the APOD in YYYY-MM-DD format. - **count** (integer) - Optional - The number of random images to return. - **thumbs** (boolean) - Optional - If true, returns the URL of a video thumbnail. ``` -------------------------------- ### Mars Rover Photos Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Fetches images captured by NASA's Mars rovers. You can filter by rover, sol (Martian day), Earth date, or camera type. ```APIDOC ## Mars Rover Photos ### Description Fetches images captured by NASA's Mars rovers. You can filter by rover, sol (Martian day), Earth date, or camera type. ### Method POST ### Endpoint /nasa/mars-rover ### Parameters #### Request Body - **method** (string) - Required - The API method to call, should be "nasa/mars-rover". - **params** (object) - Required - Parameters for the Mars Rover Photos API. - **rover** (string) - Required - The name of the rover. Accepted values: "curiosity", "opportunity", or "spirit". - **sol** (integer) - Required (if earth_date is not provided) - The Martian sol (day) number. - **earth_date** (string) - Required (if sol is not provided) - The Earth date in YYYY-MM-DD format. - **camera** (string) - Optional - The name of the camera to filter by (e.g., "FHAZ"). ``` -------------------------------- ### MCP API Request for Mars Rover Photos Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md This JSON object details a request to the NASA MCP Server for Mars Rover Photos. It requires specifying the rover, and either a sol (Martian day) or earth_date, with an optional parameter to filter by camera type. ```json { "method": "nasa/mars-rover", "params": { "rover": "curiosity", "sol": 1000, "earth_date": "2023-01-01", "camera": "FHAZ" } } ``` -------------------------------- ### Near Earth Objects API Source: https://github.com/programcomputer/nasa-mcp-server/blob/main/README.md Retrieves information about Near Earth Objects within a specified date range. ```APIDOC ## POST /nasa/neo ### Description Retrieves a list of Near Earth Objects (NEOs) for a given date range. ### Method POST ### Endpoint /nasa/neo ### Parameters #### Query Parameters - **start_date** (string) - Required - The start date in YYYY-MM-DD format. - **end_date** (string) - Required - The end date in YYYY-MM-DD format (maximum 7 days from start_date). ### Request Example ```json { "method": "nasa/neo", "params": { "start_date": "2023-01-01", "end_date": "2023-01-07" } } ``` ### Response #### Success Response (200) - **neo_list** (array) - A list of NEO objects. - **name** (string) - The name of the NEO. - **is_potentially_hazardous** (boolean) - Indicates if the NEO is potentially hazardous. - **close_approach_data** (array) - Data about close approaches to Earth. #### Response Example ```json { "neo_list": [ { "name": "2023 AB", "is_potentially_hazardous": false, "close_approach_data": [ { "epoch_date_close_approach": 1672531200000, "relative_velocity": { "kilometers_per_second": "15.6" } } ] } ] } ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.