Skip to main content
Glama

Next Lunar Phase

ephemeris_next_lunar_phase
Read-onlyIdempotent

Find the exact UTC date and time of the next new, full, first-quarter, or last-quarter moon, or list multiple upcoming occurrences.

Instructions

Use this when the user asks 'when is the next full moon', 'when is the next new moon', 'what date is the next quarter moon' or 'list the next 3 full moons'. Returns the exact UTC time of each upcoming occurrence of the phase.

CREDIT COST: 2 credits per occurrence; count max 12.

Input Schema

NameRequiredDescriptionDefault
countNo1–12, 2 credits each. Default 1.
phaseYesPhase to find.
after_dateNoISO 8601 date; default today (UTC).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv4.29.0
    • changedInput schema / properties / after_date / description
      Previous value: -"ISO 8601 date to search from (e.g. '2026-06-01'). Defaults to today (UTC) if omitted."New value: +"ISO 8601 date; default today (UTC)."
    • changedInput schema / properties / count / description
      Previous value: -"Number of upcoming occurrences to return (1-12, 2 credits each). Default 1."New value: +"1–12, 2 credits each. Default 1."
    • changedInput schema / properties / phase / description
      Previous value: -"The lunar phase to find. 'new_moon' = conjunction (0° Sun-Moon, start of cycle). 'full_moon' = opposition (180°). 'first_quarter' = 90° waxing. 'last_quarter' = 270° waning."New value: +"Phase to find."
  2. Changed1 schema field changedv4.24.2
    • changedInput schema / properties / count / description
      Previous value: -"Number of upcoming occurrences to return (1-12). Default 1."New value: +"Number of upcoming occurrences to return (1-12, 2 credits each). Default 1."
  3. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description only needs to add cost and output shape — and it does: 2 credits per occurrence, max 12, returning exact UTC timestamps. It does not mention whether the search window is unbounded or how the results are ordered beyond chronological implication.

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 short blocks with zero filler: the invocability guidance and example queries come first, followed by a one-line cost constraint. Nothing is repeated needlessly across sentences.

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?

For a three-parameter, non-destructive read with no output schema, the description covers purpose, triggers, cost ceiling, and the returned value (UTC times). Minor gaps — result ordering and whether after_date is inclusive — are low-risk but present.

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?

Schema coverage is 100% and already documents the count range, per-occurrence cost, phase enum, and after_date default. The description's credit-cost sentence restates what the schema already says rather than adding new semantics, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific resource and operation — returning the exact UTC time of each upcoming occurrence of a named lunar phase — and anchors it with four concrete user phrasings. It implicitly separates itself from snapshot-style siblings like ephemeris_moon_phase (upcoming occurrences vs. current/any-moment state) but never names an alternative.

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

Usage Guidelines4/5

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

The quoted example queries give clear positive guidance on when to invoke it, including the multi-occurrence case ('list the next 3 full moons'). There is no explicit when-not guidance or named alternative for single-moment phase lookups, which are covered by siblings.

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