@pipeworx/esa-gaia

Connect: https://gateway.pipeworx.io/esa-gaia/mcp · Install: one-click buttons

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: 3

ESA Gaia DR3 — positions, parallaxes (hence distances), proper motions, photometry and astrophysical parameters for 1.8 billion stars, queried over the ESA archive’s TAP service.

Tools

  • gaia_cone_search(ra, dec, radius_arcmin?, max_magnitude?, min_parallax_mas?, limit?) — every star inside a radius of a sky position, nearest first, with distances derived from parallax.
  • gaia_source_by_id(source_id) — one star’s full astrometric and photometric record.
  • gaia_adql_query(query, limit?) — an arbitrary read-only ADQL SELECT against the archive, row-capped at 2,000.

Auth

Keyless — the synchronous TAP endpoint needs no account.

Data sources

Things the next person would otherwise rediscover

  • TAP answers a REJECTED query with HTTP 200 and a VOTable <INFO> element carrying the error, so a naive caller books a failure as an empty result. A JSON body with no data array is therefore treated as an error and the <INFO> text surfaced.
  • Parallax is in milliarcseconds and can be NEGATIVE. It is a measurement with noise, not a distance: roughly a fifth of faint sources have a negative value. 1000/parallax is a distance in parsecs only when the parallax is positive and well determined, so distance_pc is null — with a distance_note saying why — for a negative parallax or a signal-to-noise below 5. Inverting it anyway produces a confident-looking number that means nothing.
  • source_id is a 64-bit integer. JSON.parse has already lost precision above 2^53 by the time the body is parsed, so ids are re-rendered as strings on the way out and accepted as strings on the way in.
  • source_id values are release-specific — a DR2 id does not resolve in DR3.
  • The anonymous sync endpoint caps results at 2,000 rows and truncates a larger TOP silently, so the cap is applied here explicitly rather than trusted to the server.
  • Gaia is dense. A 1-degree cone in the galactic plane is millions of stars; radius_arcmin defaults to 3 and is capped at 60 for that reason.

Tools

  • gaia_cone_search — “What stars are within 6 arcminutes of this position?” / “find the stars in the Pleiades core” — search ESA Gaia DR3, the 1.8-billion-star reference catalogue, for every star inside a radius of a sky
  • gaia_source_by_id — Look up one star in ESA Gaia DR3 by its source_id and return its full astrometric and photometric record: position, parallax with its uncertainty, derived distance in parsecs and light years, proper m
  • gaia_adql_query — Run a read-only ADQL (SQL-like) query against the ESA Gaia archive — the full DR3 catalogue plus its cross-match and variability tables — for questions a cone search cannot express: colour-magnitude c

Tools

  • gaia_adql_query — Run a read-only ADQL (SQL-like) query against the ESA Gaia archive — the full DR3 catalogue plus its cross-match and variability tables — for questions a cone search cannot express: colour-magnitude c
  • gaia_cone_search — What stars are within 6 arcminutes of this position? / find the stars in the Pleiades core — search ESA Gaia DR3, the 1.8-billion-star reference catalogue, for every star inside a radius of a sky posi
  • gaia_source_by_id — Look up one star in ESA Gaia DR3 by its source_id and return its full astrometric and photometric record: position, parallax with its uncertainty, derived distance in parsecs and light years, proper m

Regenerated from source · build September 18, 2026