Skip to content

NASA-PDS/pds-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NASA PDS Registry MCP Server

A Model Context Protocol (MCP) server that provides access to the NASA Planetary Data System (PDS) Registry API using FastMCP.

PDS_MCP_Server_Demo.mov

Overview

The NASA PDS MCP server enables human-in-the-loop agentic search and exploration of NASA PDS data products, bundles, and collections through a simple interface, directly integrating with the NASA PDS Registry API.

By open-sourcing this MCP server, we aim to support the researchers of the Planetary Data Science community enabling easy access to NASA PDS data for their future research endeavors.

image

Features

  • Mission & Project Search: Find space missions, investigations, and research projects with filtering by keywords and mission types
  • Celestial Body Discovery: Search for planets, moons, asteroids, comets, and other astronomical targets by name or type
  • Spacecraft & Platform Search: Locate spacecraft, rovers, landers, telescopes, and other instrument-carrying platforms
  • Scientific Instrument Lookup: Find cameras, spectrometers, detectors, and other scientific instruments used in space missions
  • Data Collection Exploration: Search and filter data collections by mission, target, instrument, or spacecraft relationships
  • Product Relationship Mapping: Discover connections between missions, targets, instruments, and data products
  • Detailed Product Information: Retrieve comprehensive metadata and details for specific PDS products using URN identifiers
  • Reference Data Access: Access categorized lists of target types, spacecraft types, instrument types, and mission types for filtering and discovery

Example Conversation

  1. Which instrument do seismic observations in the PDS?
  2. What is the identifier of the moon in the PDS?
  3. What data is collected from these instruments are targeting the Moon? (include URNs if need be)?
  4. What missions produced these observations?

Installation

  1. Clone this repository:
git clone https://github.com/NASA-PDS/pds-mcp-server.git
cd pds-mcp-server
  1. Install dependencies:

Requires Python 3.13+.

python3.13 -m venv {env-name}
source {env-name}/bin/activate
pip install -r requirements.txt

Usage

Running the Server Standalone

If you need to expose the MCP tools as a server, you can run it, standalone, as follows:

python3.13 pds_mcp_server.py

MCP Client Configuration (Claude Desktop, Cursor, or Custom MCP client)

{
  "mcpServers": {
    "pds-registry": {
      "command": "/path/to/{env-name}/bin/python3.13",
      "args": ["/path/to/pds_mcp_server.py"],
      "env": {}
    }
  }
}

Suggested Instructions

We recommend using these instructions in your MCP Client:

You are only allowed to make one tool call per request. In the returned search results, output the URNs (identifiers) as additional information alongside the result. After each message, you will propose to the user what next steps they can take and ask them to choose.

This creates a human-in-the-loop agentic search conversation: allowing the user to control how they want to search through the NASA Planetary Data System.

Example on how to set up in Claude Desktop.

Custom MCP Hosts

To go beyond 3rd party MCP Hosts (Cursor, Claude Desktop, etc.), we have an example of a custom MCP Host built on Gradio UI, HuggingFace smolagents, and the OpenAI SDK. More here.

Development

MCP Inspector (Debugging)

npx @modelcontextprotocol/inspector python src/main.py

More on MCP Inspector here.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Dependencies

Requires Python 3.13+. Library dependencies listed in requirements.txt.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For issues related to:

Other Resources

About

MCP server for connecting to NASA's Planetary Data System

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages