An MCP server that calculates the phase of the moon for a given date and time using astronomical calculations
Single tool with adequate naming and schema but weak description quality. The 'moonphase' tool has a clear verb-noun structure and properly defined input schema with type information. However, the description lacks detail about when to use the tool, what it returns, and operational context. The parameter description states it's 'optional' but the code actually defaults to current time silently, this dependency is not clearly documented. No output schema is documented for the LLM, forcing it to infer the response structure. The tool is read-only and simple, which helps, but does not meet production baseline for descriptions (194 chars average; this one is only 67 chars).
Calculate the phase of the moon for a given date and time
Tool description is too terse (67 chars vs. 194 char baseline). Lacks context: does not state WHAT is returned, WHEN to call this vs. alternatives, or operational notes.
No output schema documented. LLM cannot see the response structure (age, illumination fields) and must infer it.
Parameter 'datetime' marked optional in description, but code silently defaults to current time (targetTime = time.Now()). This dependency is not explicitly documented for the LLM, risking silent misuse.
Parameter description does not specify the RFC3339 format constraint clearly enough for an LLM. Should state: 'ISO 8601 / RFC3339 format (e.g., 2025-01-15T10:30:00Z). If omitted, defaults to current UTC time.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | 2024-11-05+ | v1 |