Skip to main content
Glama
HellenicStar Astrology MCP Server

HellenicStar Astrology MCP Server

calculate_progressed_lunation

Read-onlyIdempotent

Compute secondary progressed Sun-Moon lunation phases and a lifetime timeline through age 100, including transiting Saturn's natal-house context, from exact birth data.

Instructions

Calculate the secondary progressed Sun-Moon lunation cycle: current and next phase on as_of, eight 45-degree phases, and a timeline through age 100 with progressed positions and transiting Saturn natal-house context. Use for progressed lunar phases; use calculate_secondary_progressions for broader progressed positions and contacts, or get_current_sky for actual sky positions. Requires exact local birth date/time and confirmed birthplace location_id. Missing birth inputs return needs_clarification. Returns calculation data, not life-event predictions. Server checks run before successful results are returned. Before interpreting this data, call verify_calculation_claims with its unchanged calculation_reference and draft source-field claims. Correct contradicted facts and reverify before the final answer. Psychological interpretations are not checked. Optional detail_level=summary previews object/nested rows (up to five), preserves complete scalar membership lists, and marks truncation; include selects top-level content fields. Omit both for the original full result. Verification references always identify the complete checked calculation.

Input Schema

NameRequiredDescriptionDefault
dayNoBirth day of month, valid for the supplied year and month in the birthplace local civil calendar.
foldNoFor a repeated local time at a DST rollback, ask the user to choose 0 (first occurrence) or 1 (second). Otherwise omit; never guess.
hourNoExact birth hour, 0-23, in birthplace local civil time; do not substitute noon for an unknown time.
yearNoBirth year in the Gregorian calendar, using local civil time at the confirmed birthplace. Required for calculation; do not guess missing birth data.
as_ofNoReference date YYYY-MM-DD; omission uses the current UTC date. Evaluated at 12:00 UTC, not at local midnight.
monthNoBirth month, 1-12, in the birthplace local civil calendar.
minuteNoExact birth minute, 0-59, in birthplace local civil time.
includeNoOptional 1-30 top-level content field names, each 1-80 characters. Omit to return all content. Control/provenance fields remain; unknown or control field names return invalid_input with available_fields. Known selectable fields: as_of, phase, timeline. Use these exact names.
location_idNoConfirmed birthplace ID returned by search_birthplace or resolve_birth_coordinates; not a city name. Resolve ambiguous places before calling.
detail_levelNofull returns complete calculation content. summary previews up to five object/nested rows per list, preserves scalar membership lists, and reports omitted counts. References still identify the full calculation.full

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.7
    • changedInput schema / properties / include / description
      Previous value: -"Optional 1-30 top-level content field names, each 1-80 characters. Omit to return all content. Control/provenance fields remain; unknown or control field names return invalid_input with available_fields."New value: +"Optional 1-30 top-level content field names, each 1-80 characters. Omit to return all content. Control/provenance fields remain; unknown or control field names return invalid_input with available_fields. Known selectable fields: as_of, phase, timeline. Use these exact names."
  2. Changed8 schema fields changedv0.1.3
    • addedInput schema / properties / as_of / description
      Added value: +"Reference date YYYY-MM-DD; omission uses the current UTC date. Evaluated at 12:00 UTC, not at local midnight."
    • addedInput schema / properties / day / description
      Added value: +"Birth day of month, valid for the supplied year and month in the birthplace local civil calendar."
    • addedInput schema / properties / fold / description
      Added value: +"For a repeated local time at a DST rollback, ask the user to choose 0 (first occurrence) or 1 (second). Otherwise omit; never guess."
    • addedInput schema / properties / hour / description
      Added value: +"Exact birth hour, 0-23, in birthplace local civil time; do not substitute noon for an unknown time."
    • addedInput schema / properties / location_id / description
      Added value: +"Confirmed birthplace ID returned by search_birthplace or resolve_birth_coordinates; not a city name. Resolve ambiguous places before calling."
    • addedInput schema / properties / minute / description
      Added value: +"Exact birth minute, 0-59, in birthplace local civil time."
    • addedInput schema / properties / month / description
      Added value: +"Birth month, 1-12, in the birthplace local civil calendar."
    • addedInput schema / properties / year / description
      Added value: +"Birth year in the Gregorian calendar, using local civil time at the confirmed birthplace. Required for calculation; do not guess missing birth data."
  3. Changed2 schema fields changed
    • addedInput schema / properties / detail_level / description
      Added value: +"full returns complete calculation content. summary previews up to five object/nested rows per list, preserves scalar membership lists, and reports omitted counts. References still identify the full calculation."
    • addedInput schema / properties / include / description
      Added value: +"Optional 1-30 top-level content field names, each 1-80 characters. Omit to return all content. Control/provenance fields remain; unknown or control field names return invalid_input with available_fields."
  4. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, closed-world safety, but the description adds operational behavior: exact birth data is required, missing birth inputs return needs_clarification, results are calculation data rather than life-event predictions, server checks precede results, and interpretation requires verify_calculation_claims. These are meaningful disclosures beyond the annotations and do not contradict them.

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

Conciseness4/5

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

The description front-loads purpose and alternatives, then prerequisites and verification, which is the right ordering for an agent. It is dense and useful, but still long; several workflow sentences, especially around server checks and verification references, add helpful but nonessential detail.

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

Completeness5/5

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

With no output schema, the description supplies the essential return scope—calculation data, current/next phase, eight phases, and timeline—plus the prerequisites and verification workflow needed to use results correctly. Given the annotation coverage and 100% schema coverage, no critical agent-facing context is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all 10 parameters and the description mostly echoes those entries. It adds some cross-parameter value by explaining how detail_level=summary and include interact and that omitting both yields the original full result, but it provides little additional syntax or per-parameter meaning beyond the schema.

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 first sentence names a specific verb and resource—secondary progressed Sun-Moon lunation—and enumerates the outputs: current/next phase, eight 45-degree phases, and an age-100 timeline with progressed positions and Saturn house context. It also directly distinguishes the tool from calculate_secondary_progressions and get_current_sky, so an agent can select it without opening either schema.

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?

It gives an explicit when-to-use statement ('Use for progressed lunar phases') and names two alternatives with their scopes. It also states required inputs, the missing-input outcome, and a required verification follow-up, leaving little to inference.

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