NASA PDS Registry MCP Server
OfficialProvides access to the NASA Planetary Data System (PDS) Registry API for searching and exploring missions, celestial bodies, spacecraft, instruments, data collections, and product relationships.
Click on "Install 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 PDS Registry MCP ServerSearch for Mars rover Curiosity data products"
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 PDS Registry MCP Server
A Model Context Protocol (MCP) server that provides access to the NASA Planetary Data System (PDS) Registry API using FastMCP.
https://github.com/user-attachments/assets/1d6b7035-c07a-4ca3-8bd2-9c19d68c3d5c
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.
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
Which instrument do seismic observations in the PDS?
What is the identifier of the moon in the PDS?
What data is collected from these instruments are targeting the Moon? (include URNs if need be)?
What missions produced these observations?
Installation
Clone this repository:
git clone https://github.com/NASA-PDS/pds-mcp-server.git
cd pds-mcp-serverInstall dependencies:
Requires Python 3.13+.
python3.13 -m venv {env-name}
source {env-name}/bin/activate
pip install -r requirements.txtUsage
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.pyMCP 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.pyMore on MCP Inspector here.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
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:
PDS Registry API: Contact pds-operator@jpl.nasa.gov or open an issue here
This MCP Server: Open an issue in this repository
MCP Protocol: Check the MCP documentation or FastMCP documentation
Other Resources
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NASA-PDS/pds-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server