@pipeworx/exoplanet-archive

Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/exoplanet-archive’s. Install: one-click buttons

Connect to just the @pipeworx/exoplanet-archive pack

https://gateway.pipeworx.io/exoplanet-archive/mcp — only @pipeworx/exoplanet-archive’s own tools, nothing else in the catalog.

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 6

NASA Exoplanet Archive MCP — ~6,451 confirmed exoplanets + candidates + light curves. Keyless TAP service.

A row-grain trap: ps vs pscomppars

The archive publishes two planet tables with different row grains, and mixing them up silently over-counts planets by ~6x:

  • ps (Planetary Systems) — one row per published parameter solution. A planet re-measured across several papers gets several rows, so COUNT(*) FROM ps counts solutions, not planets (40,350 rows for 6,451 confirmed planets, 2026-10-16).
  • pscomppars (Planetary Systems Composite Parameters) — one row per confirmed planet. This is the right table for “how many confirmed exoplanets” and for any per-planet listing.

Use confirmed_planet_count or composite for planet counts/listings. If you query ps directly (via planets or tap), filter default_flag = 1 or count DISTINCT pl_name to get one row per planet; every response from this pack names its row unit so this can’t be missed silently.

Tools

  • tap(query, format?) — ADQL TAP query against the archive (default table: ps). A raw COUNT(*) FROM ps without default_flag/DISTINCT comes back with a warning field, not a bare number.
  • planets(query?, limit?) — per-solution search against the ps table; every response carries a unit field naming the row grain
  • composite(query?, limit?) — query the composite planet parameter table pscomppars (one row per confirmed planet)
  • confirmed_planet_count(query?) — count of confirmed exoplanets from pscomppars, with its unit and the date of the live query; optional WHERE-clause filter (e.g. disc_year = 2023)
  • kepler_candidates(query?, limit?) — Kepler Object of Interest (KOI) table (unconfirmed candidates)
  • microlensing(query?, limit?) — microlensing event table

Data source

NASA Exoplanet Archive, TAP service.

Tools

  • tap — ADQL TAP query. For “how many confirmed exoplanets” or any per-planet count,
  • planets — Per-solution search against the ps (Planetary Systems) table — one row per
  • composite — Composite planet parameter table pscomppars — one row per confirmed planet. Use
  • confirmed_planet_count — Count of confirmed exoplanets — from the composite parameter table pscomppars
  • kepler_candidates — Kepler Object of Interest (KOI) candidate table — unconfirmed candidates, not
  • microlensing — Microlensing event table — detection events, not a planet count.

Tools

  • composite — Composite planet parameter table `pscomppars` -- one row per confirmed planet. Use
  • confirmed_planet_count — Count of confirmed exoplanets -- from the composite parameter table `pscomppars`
  • kepler_candidates — Kepler Object of Interest (KOI) candidate table -- unconfirmed candidates, not
  • microlensing — Microlensing event table -- detection events, not a planet count.
  • planets — Per-solution search against the `ps` (Planetary Systems) table -- one row per
  • tap — ADQL TAP query. For how many confirmed exoplanets or any per-planet count,

Regenerated from source · build October 30, 2026