Skip to main content
Glama

Lunar phase calendar

astro_moon_phases
Read-only

Every new moon, quarter and full moon in a window (or the next few from a date): each with its exact instant, distance, apparent size, supermoon classification under both competing definitions, traditional full-moon name, and any eclipse falling on it. Use for "when is the next full moon" and phase calendars. For the Moon's state right now use astro_moon.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzNoIANA timezone like "Europe/Lisbon" to render event times in local time. Optional; a resolved place supplies its own timezone.
endNoLast day of a window. ISO 8601 UTC date or datetime, e.g. "2026-08-06" or "2026-08-06T21:00:00Z". Omit for the current moment. Years 1700 to 2200 only; outside that range the API refuses with DATE_OUT_OF_RANGE because the ephemeris is not reliable there.
latNoLatitude in decimal degrees, north positive. Send lat and lon together.
lonNoLongitude in decimal degrees, east positive (Lisbon is about -9.14). Send lat and lon together.
dateNoAnchor date; the next phases follow it. ISO 8601 UTC date or datetime, e.g. "2026-08-06" or "2026-08-06T21:00:00Z". Omit for the current moment. Years 1700 to 2200 only; outside that range the API refuses with DATE_OUT_OF_RANGE because the ephemeris is not reliable there.
countNoHow many phase events to return from the anchor date.
placeNoPlace name instead of lat/lon, as "City" or "City,CC" with an ISO country code, e.g. "Lisbon,PT". Resolved server-side; the response then carries a required GeoNames CC BY 4.0 credit in its attribution field, which must be preserved when shown.
startNoFirst day of a window (use with end). ISO 8601 UTC date or datetime, e.g. "2026-08-06" or "2026-08-06T21:00:00Z". Omit for the current moment. Years 1700 to 2200 only; outside that range the API refuses with DATE_OUT_OF_RANGE because the ephemeris is not reliable there.
cursorNoOpaque pagination cursor from a previous result's next_cursor. Send it with the same start/end arguments as the first page.
phasesNoOptional filter of phase kinds. Omit for all four. Example: ["full_moon"] for full moons only.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesNew, first quarter, full and last quarter moons in a date range.
rightsNoEither unrestricted, or attribution_required when third-party place data was used. When attribution_required, the attribution line must be shown.
warningsNoMachine-readable notices about this answer. Present only when non-empty. Never changes whether the call succeeded.
attributionNoThe credit line to display verbatim when rights is attribution_required.
next_cursorNoPresent only when more rows exist. Send it back with the SAME start/end arguments as the first call to get the next page.
not_computedNoData this API deliberately does not serve, and why. Present only when the question touched such a field. An absence named here is information: treat it as "withheld", never as "none exists".

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include readOnlyHint=true and openWorldHint=false, so the description only needs to add context beyond that. It adds meaningful detail about what each event includes: exact instant, distance, apparent size, supermoon classification under both definitions, traditional full-moon name, and any eclipse. This enriches the behavioral understanding without contradicting the read-only hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the tool's scope and output details, the second gives usage guidance and an alternative. It is front-loaded, information-dense, and contains zero filler. Perfectly concise for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 10-parameter schema and output schema, the description covers the essential decision points: window vs. next-few-from-date, supermoon definition nuance, eclipse inclusion, and the relationship to astro_moon. It omits pagination and date-range constraints, but those are documented in the parameter schemas and output schema, so the description remains a complete high-level guide.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with detailed descriptions, so the description doesn't need to repeat parameter semantics. Its mention of 'in a window (or the next few from a date)' aligns with start/end and date/count parameters, but adds no additional parameter-specific meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource structure: it lists every new moon, quarter, and full moon in a window or next from a date, with exact instants and associated details (distance, supermoon classification, eclipse). It clearly distinguishes itself from sibling tool astro_moon by stating 'For the Moon's state right now use astro_moon.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Use for "when is the next full moon" and phase calendars.' It also provides an explicit alternative for the Moon's current state (astro_moon), giving clear direction and a contrast.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct observational need: dark windows, eclipses, geocoding, moon state, phase calendar, planet overview, planet events, precise positions, rise/set times, broad snapshot, and solar day. Cross-references among descriptions prevent ambiguity despite overlapping data like rise/set times appearing in several tools.

Naming Consistency4/5

All tools share the astro_ prefix and use snake_case, creating a predictable pattern. The naming is mostly noun-based (the object of interest), but astro_find_place and astro_rise_set break the pure-noun pattern, introducing a slight inconsistency.

Tool Count5/5

With 11 tools, the server covers the major areas of practical astronomy without redundancy. Each tool provides a distinct calculation or data set, and the count fits the expected scope for an astronomy API.

Completeness4/5

The tool set covers solar, lunar, planetary, eclipse, positional, and visibility needs comprehensively. However, there is no explicit tool for equinoxes and solstices, which would be a natural inclusion for a cycle-focused astronomy server, creating a minor gap.

Resources