MCP Server for astronomy data: ISS tracking, moon phases, NASA APOD, near-earth objects, exoplanets, sunrise/sunset, space weather — no API key required
Server has 8 well-named tools with clear verb-noun patterns (get_*, track_*, search_*). All tools have descriptions (avg ~100 chars, baseline 194). Input schemas are present with type definitions for all parameters. However, descriptions are consistently brief (under 100 chars), lacking WHEN/WHY context and recovery guidance. Parameter descriptions are minimal, most are 1-2 sentences without format constraints, ranges, or examples of valid values. Output schemas are not documented; LLMs cannot predict response structure. Error handling is minimal: only tool_get_moon_phase and tool_get_astronomy_picture_of_day show error returns, and those lack actionable recovery guidance. No tool declares idempotency, destructiveness, or read-only hints. Missing pagination for tools returning lists (tool_search_exoplanets, tool_get_upcoming_events). No per-tool security or permission declarations.
Get NASA's Astronomy Picture of the Day (APOD).
Get current moon phase or moon phase for a specific date.
Get near-Earth asteroids and comets approaching Earth (NASA NeoWs API).
Get current space weather: Kp-index, solar wind speed, aurora alerts, and solar activity.
Get sunrise, sunset, solar noon, and day length for any location.
Get upcoming astronomical events: meteor showers, eclipses, solstices, equinoxes, and planetary conjunctions.
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess field names and types. This breaks tool chaining and increases hallucination risk.
Parameter descriptions lack format constraints, ranges, and valid value guidance. E.g., 'date_str' says 'YYYY-MM-DD format' but does not specify min/max dates or what happens with invalid input. 'limit' in tool_search_exoplanets lacks min/max bounds.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Search for exoplanets by name, star name, or discovery method. Returns 5800+ confirmed exoplanets.
Track the International Space Station (ISS) current position and people aboard.
Tool descriptions are too brief (avg 65 chars vs baseline 194). Missing WHEN/WHY context. E.g., tool_get_space_weather (55 chars) does not explain when to call it vs other tools or what 'Kp-index' means to an LLM unfamiliar with space weather.
No pagination support for list-returning tools. tool_search_exoplanets returns '5800+ confirmed exoplanets' but accepts only 'limit' (max 100). No offset, cursor, or total_count. Returning 100 items per call wastes tokens; LLM cannot iterate efficiently.
Error handling is minimal and non-actionable. tool_get_moon_phase returns {'error': 'Invalid date'} with no guidance on valid format or recovery. tool_get_astronomy_picture_of_day returns rate-limit error but does not suggest retry delay or alternative.