# NASA Exoplanets MCP

> Uses NASA’s Exoplanet Archive to query confirmed worlds beyond our solar system. Filter for planets in the habitable zone, analyze global discovery statistics, or search specifically for transiting exoplanets from Kepler and TESS missions.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** astronomy, exoplanets, planetary-science, database-query, scientific-data

## Description

You've got direct access to NASA's Exoplanet Archive, which means you can query the biggest database of confirmed planets outside our solar system. This isn't some vague overview; it pulls real orbital data and discovery records straight from the source.

If you need to know about a specific world, `query_confirmed_planets` lets you search for confirmed worlds by name, or narrow your focus using criteria like the facility that found it (say, Kepler), the year of detection, or even the method used—whether that was Radial Velocity or Imaging. When you run this, you get key orbital specs right away: things like the planet's mass and its radius.

Need to find worlds where liquid water might actually exist? You can use `get_habitable_zone`. This tool filters out everything else; it only pulls exoplanet candidates located in the habitable zone—that specific range of orbital distance that suggests liquid surface water is possible. It's a huge help for finding prime targets.

For deep dives into discovery techniques, you can isolate planets using `get_transit_planets`. This function filters the database specifically to show only exoplanets discovered via the transit method, pulling data primarily from missions like Kepler or TESS. That's one of the most common ways we find these things.

When you need context on how exoplanet science has grown, `get_planet_stats` pulls global statistics. You can get total counts and see yearly trend data to map out how different discovery methods have contributed over time. It gives you a comprehensive view of the field's growth curve.

So, whether you’re checking specific planetary records by name or year using `query_confirmed_planets`, filtering for potential water worlds with `get_habitable_zone`, isolating Kepler/TESS finds with `get_transit_planets`, or pulling global trend data with `get_planet_stats`, you've got the tools to build a serious profile on these distant worlds. You don't have to jump between different scientific databases; it's all here.

## Tools

### get_habitable_zone
Retrieves a list of exoplanet candidates that are located within the habitable zone, suggesting potential for liquid water.

### get_planet_stats
Pulls global statistics on exoplanet discovery, providing total counts and yearly trend data.

### get_transit_planets
Filters the database to show only exoplanets discovered using the transit method from Kepler or TESS missions.

### query_confirmed_planets
Searches confirmed planets by name, discovery method (Radial Velocity, Imaging, etc.), facility, or year, returning key orbital data like radius and mass.

## Prompt Examples

**Prompt:** 
```
How many exoplanets have been discovered?
```

**Response:** 
```
🪐 **Exoplanet Discovery Stats**

Total confirmed: **5,748** planets

By method:
- Transit: 4,234 (73.7%)
- Radial Velocity: 1,081 (18.8%)
- Imaging: 72 (1.3%)
- Microlensing: 214 (3.7%)

Peak year: 2016 (1,518 planets — Kepler batch)
Active missions: TESS, JWST
```

**Prompt:** 
```
Show me planets in the habitable zone
```

**Response:** 
```
🌍 **Habitable Zone Candidates**

| Planet | Radius (R⊕) | Temp (K) | Method | Year |
|--------|------------|----------|--------|------|
| TRAPPIST-1 e | 0.92 | 251 | Transit | 2017 |
| TRAPPIST-1 f | 1.05 | 219 | Transit | 2017 |
| Kepler-442 b | 1.34 | 233 | Transit | 2015 |
| TOI-700 d | 1.19 | 268 | Transit | 2020 |

Rocky planets (< 2 R⊕) with 200-320K equilibrium temperature.
```

## Capabilities

### Search for confirmed worlds
You can filter the database by planet name, discovery method, facility (like Kepler), or year to pull specific planetary records.

### Identify water-potential candidates
The server filters exoplanets to show only those located in the habitable zone—the range where liquid surface water is possible.

### Analyze discovery trends
You pull global statistics on exoplanet finds, including totals and how different methods contribute over time.

### Filter by transit method
The server isolates planets discovered using the transit method (Kepler/TESS data), which is one of the most common discovery techniques.

## Use Cases

### Assessing a new target for water life
Astrobiologist finds a promising planet name. Instead of searching general literature, they run `query_confirmed_planets` by the name and then immediately pass those results to `get_habitable_zone`. This quickly confirms if the world is even physically viable for liquid water before writing any grant proposal.

### Building a historical overview of exoplanet detection
A science communicator needs content on how far our knowledge has come. They use `get_planet_stats` to get the total count, then run `query_confirmed_planets` by year (e.g., 2015) and compare it with earlier years to show the exponential growth of detection methods.

### Comparing different discovery techniques
A researcher needs to prove that one method is more productive than another. They run `get_transit_planets` for TESS discoveries and then compare those results (radius, mass) against general results pulled from the broader `query_confirmed_planets` toolset.

### Validating a specific class of planet
You suspect a certain type of mission found unique worlds. You use `get_transit_planets` to gather all Kepler/TESS data points, and then feed those into your agent with the goal of finding planets that are both small (low radius) and in the habitable zone.

## Benefits

- Quickly narrow down targets: Instead of sifting through thousands of records, use `get_habitable_zone` to filter results instantly for planets where liquid water could exist. It saves hours of manual cross-referencing.
- Contextualize your findings: Run `get_planet_stats` whenever you need a baseline understanding. This tool shows global discovery totals and methods, putting any single planet finding into proper scientific context.
- Isolate key data sets: If your research focuses on transit detection, use `get_transit_planets`. It isolates the massive amount of Kepler and TESS data, making it easy to analyze that specific population of worlds.
- Deep-dive searching: Need a planet from a certain year or using a specific method? `query_confirmed_planets` lets you filter by facility (like Keck) or method—giving you precise control over the dataset.
- Structured analysis: The tools don't just dump data; they provide structured outputs like orbital period, radius, and mass. This allows your AI client to perform calculations right away.

## How It Works

The bottom line is you use structured queries to filter millions of data points down into actionable lists of candidates and metrics.

1. Start with `query_confirmed_planets` to define a broad set of candidates using specific criteria like method or facility.
2. Pass those filtered results through `get_habitable_zone` to narrow the list down to planets that meet the basic liquid water potential requirements.
3. Finally, run `get_planet_stats` on the final candidate pool to get context, showing total numbers and global discovery trends.

## Frequently Asked Questions

**How do I check if an exoplanet is potentially habitable using get_habitable_zone?**
You pass the planet's known parameters (like radius and orbital period) to `get_habitable_zone`. This tool compares those values against the criteria needed for liquid water, giving you a yes/no candidate status.

**I want to find all planets found by Kepler or TESS. Which tool should I use?**
Use `get_transit_planets`. This tool specifically filters the database for worlds discovered via the transit method, pulling data from those major missions.

**How can I find planets using a specific discovery method or year? Use query_confirmed_planets.**
Run `query_confirmed_planets` and specify your criteria—for instance, filtering by 'Radial Velocity' as the method or setting '2015' as the year. You get back detailed metrics like mass and equilibrium temperature.

**What is the best way to see how exoplanet science has grown?**
Run `get_planet_stats`. This tool pulls global discovery statistics, giving you totals over time, which helps show trends across different methods and years.

**What specific data fields does `query_confirmed_planets` return?**
The tool provides orbital period, radius, mass, and equilibrium temperature. This gives you four key physical metrics for comparing exoplanet candidates.

**If I only want to check planets found by a specific facility (like Keck), how do I use `query_confirmed_planets`?**
You must pass the facility name directly into the `query_confirmed_planets` function. This narrows your search results specifically to that discovery source.

**Do I need to run both `get_transit_planets` and then filter those results with `query_confirmed_planets`?**
No, you don't. While transit planets are included in the general archive, using `get_transit_planets` is faster if your only goal is to gather Kepler/TESS data.

**What kind of input parameters should I use when running `get_habitable_zone`?**
The function requires specific planet identifiers or a defined radius range. You can't pass general text; stick to measurable astronomical parameters for valid results.

**What is the habitable zone?**
The habitable zone ('Goldilocks zone') is the range of distances from a star where liquid water could exist on a planet's surface — not too hot, not too cold. We filter for equilibrium temperatures between 200-320K and rocky sizes (< 2 Earth radii).