NASA Exoplanet Archive — ~5600 confirmed exoplanets + candidates
This server has critical gaps in parameter descriptions and output schema documentation. All 5 tools have basic input schemas with types, but 3 of 5 tools (composite, kepler_candidates, microlensing) lack descriptions for their 'query' and 'limit' parameters. Tool names are generic (planets, composite, kepler_candidates) rather than action-verb-prefixed (search_planets, query_composite, list_kepler_candidates), reducing clarity for LLM tool selection. No output schemas are documented, LLMs cannot predict what fields to expect from results. Error handling is minimal: runQuery() throws generic errors without recovery guidance. The 'planets' tool description is adequate (72 chars), but 'composite', 'kepler_candidates', and 'microlensing' descriptions are too terse (20-30 chars), violating the 10-1024 char baseline. No pagination support despite the TAP API potentially returning thousands of exoplanet records.
Composite planet parameter table `pscomppars`.
Kepler Object of Interest (KOI) candidate table.
Microlensing event table.
Quick planet search against the `ps` (planetary systems) table.
ADQL TAP query.
Three tools (composite, kepler_candidates, microlensing) have descriptions under 20 characters, violating the 10-1024 char baseline and providing insufficient context for LLM tool selection.
No output schemas documented. LLMs cannot predict result structure (field names, types, pagination). This forces agents to guess what data is available and how to chain downstream calls.
Tool names lack action verbs. 'planets', 'composite', 'kepler_candidates', 'microlensing' are nouns, not verb_noun patterns. Should be 'search_planets', 'query_composite_parameters', 'list_kepler_candidates', 'search_microlensing_events' for clarity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Parameter descriptions missing for 'query' and 'limit' in composite, kepler_candidates, and microlensing. LLMs cannot infer what WHERE clause syntax is valid or what limit range is acceptable.
No pagination support. tableQuery() hardcodes TOP limit but does not return total count or next_cursor. Large result sets will blow context windows without offset/limit iteration.