NASA PDS Registry MCP Server

NASA PDS Registry MCP Server

Provides access to the NASA Planetary Data System Registry API, enabling human-in-the-loop search and exploration of planetary data products, missions, celestial bodies, and instruments.

Category
Visit Server

README

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.

<img width="512" height="322" alt="image" src="https://github.com/user-attachments/assets/55d3b3ce-2ac2-4359-a23f-1b1d55efd648" />

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured