Skip to main content
Glama
saikrmet

nasa-exoplanet-mcp

by saikrmet

search_planets

Read-onlyIdempotent

Search for exoplanets in NASA's Exoplanet Archive with flexible filters. Find confirmed planets by mass, radius, orbital period, discovery method, and more.

Instructions

Search for exoplanets in NASA's Exoplanet Archive with flexible filters. Returns matching planets from the Planetary Systems Composite Parameters table (one row per confirmed planet, best-available measurements).

This is the primary tool for most exoplanet questions. All filter parameters are optional and can be combined. If no filters are given, returns the most recently discovered planets.

For single-planet lookups by exact name, use get_planet instead. For complex queries needing GROUP BY, JOIN, spatial/cone searches, or querying tables other than the main planet catalog, use run_query instead.

If a name-based search returns no results, the name may need resolving — try resolve_name first to find the canonical archive name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoPlanet name to search for. Supports partial matching (e.g., 'Kepler-22' matches 'Kepler-22 b'). For exact single-planet lookup with full details, use the get_planet tool instead.
limitNoMaximum results to return (1-500, default 25).
offsetNoNumber of results to skip, for pagination.
columnsNoColumns to return. Defaults to a curated set of key properties. Use list_columns to discover all 300+ available columns.
facilityNoDiscovery facility or mission name (e.g., 'Transiting Exoplanet Survey Satellite (TESS)', 'Kepler', 'W. M. Keck Observatory'). Partial match supported.
hostnameNoHost star name (e.g., 'TRAPPIST-1', 'Kepler-442'). Returns all planets in that system.
max_massNoMaximum planet mass in Earth masses.
min_massNoMinimum planet mass in Earth masses. Earth=1.0, Neptune~17.1, Jupiter~317.8. Uses best-available mass (true mass if known, otherwise minimum mass M*sin(i)).
order_byNoColumn to sort by. Prefix with '-' for descending order. Examples: 'sy_dist' (nearest first), '-sy_dist' (farthest first), '-disc_year' (most recent first), 'pl_rade' (smallest first), '-pl_rade' (largest first), '-pl_bmasse' (most massive first), '-pl_eqt' (hottest first), 'pl_eqt' (coolest first), '-pl_orbeccen' (most eccentric first), '-pl_dens' (densest first).
year_maxNoLatest discovery year (e.g., 2025).
year_minNoEarliest discovery year (e.g., 2020).
max_periodNoMaximum orbital period in days.
max_radiusNoMaximum planet radius in Earth radii.
min_periodNoMinimum orbital period in days. Earth~365.25, Jupiter~4333.
min_radiusNoMinimum planet radius in Earth radii. Earth=1.0, Neptune~3.9, Jupiter~11.2.
max_distanceNoMaximum distance from Earth in parsecs.
min_distanceNoMinimum distance from Earth in parsecs. 1 parsec ~ 3.26 light-years.
max_temperatureNoMaximum equilibrium temperature in Kelvin.
min_temperatureNoMinimum equilibrium temperature in Kelvin. Earth~255K. Habitable zone roughly 200-320K.
discovery_methodNoHow the planet was detected. One of: Transit, Radial Velocity, Microlensing, Imaging, Transit Timing Variations, Eclipse Timing Variations, Orbital Brightness Modulation, Pulsar Timing, Astrometry, Disk Kinematics, Pulsation Timing Variations.
min_planets_in_systemNoMinimum number of planets in the system. Use 2+ for multi-planet systems.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds useful context: the data source table, one row per confirmed planet with best-available measurements, and default behavior of returning most recently discovered planets when no filters are given. This goes beyond the structured annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured into four concise paragraphs: overview, primary usage, alternatives, and an edge-case hint. Every sentence carries meaningful information without padding, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 21 optional parameters, an output schema, and multiple sibling tools, the description fully covers what the tool does, when to use it, how it behaves by default, and how to recover from empty name searches. The existence of an output schema means return-value details are not necessary here, so no significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter has a detailed description with examples, so the baseline is 3. The description adds extra semantic guidance by stating that all filter parameters are optional and combinable, and by noting that no filters returns recent discoveries. This enriches parameters as a group even though individual parameter details live in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Search for exoplanets in NASA's Exoplanet Archive with flexible filters') and identifies the exact data table returned. It clearly distinguishes itself from siblings by calling itself 'the primary tool for most exoplanet questions' and pointing to get_planet and run_query for alternative use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when/when-not guidance is provided: use for general exoplanet searches, use get_planet for single-planet exact lookups, use run_query for complex queries, and try resolve_name when name searches fail. This goes beyond vague usage hints and names specific alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/saikrmet/nasa-exoplanet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server