Skip to main content
Glama
HellenicStar Astrology MCP Server

HellenicStar Astrology MCP Server

calculate_time_lords

Read-onlyIdempotent

Computes Firdaria major and sub-periods plus annual profections from exact birth data and an as-of date, returning timing tables and lords for astrological time-lord analysis.

Instructions

Calculate Firdaria and annual profections for as_of: major periods through the configured age-100 horizon, sub-periods within the active major period, and profection years from one year before to three years after the current year, clipped to the available report. Use calculate_zodiacal_releasing for releasing from Fortune/Spirit instead. Requires exact local birth date/time, confirmed birthplace location_id and explicit house_system; missing prerequisites return needs_clarification. Returns timing tables and lords, not 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: annual_profections, as_of, firdaria. Use these exact names.
traditionNoFirdaria request name: abu_mashar (default), al_biruni or bonatti. This implementation maps al_biruni to abu_mashar rules (nodes last); bonatti moves the nodes after Mars for night births. Result tradition preserves the request; effective_tradition and tradition_note disclose the implemented rules. This alias is not a claim of historical equivalence. Profection house_system is independent.abu_mashar
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
house_systemNoRequired explicit choice: placidus or whole_sign. Selects the reported profection house system. Reuse a confirmed user choice; omission requests clarification.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields 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: annual_profections, as_of, firdaria. Use these exact names."
    • changedInput schema / properties / tradition / description
      Previous value: -"Firdaria tradition: abu_mashar (default), al_biruni or bonatti. Changes the Firdaria convention, not the selected profection house system."New value: +"Firdaria request name: abu_mashar (default), al_biruni or bonatti. This implementation maps al_biruni to abu_mashar rules (nodes last); bonatti moves the nodes after Mars for night births. Result tradition preserves the request; effective_tradition and tradition_note disclose the implemented rules. This alias is not a claim of historical equivalence. Profection house_system is independent."
  2. Changed10 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 / house_system / description
      Added value: +"Required explicit choice: placidus or whole_sign. Selects the reported profection house system. Reuse a confirmed user choice; omission requests clarification."
    • 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 / tradition / description
      Added value: +"Firdaria tradition: abu_mashar (default), al_biruni or bonatti. Changes the Firdaria convention, not the selected profection house system."
    • 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.4/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real context beyond them: precondition failures yield needs_clarification, server checks run before results are returned, output is timing tables and lords rather than event predictions, and detail_level/include truncation behavior is disclosed. However, it does not describe pagination, size limits, or error surface beyond the one clarification path, and the verification paragraph is more workflow instruction than behavior of this tool.

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?

Purpose and scope are front-loaded in the first clause, and each subsequent sentence carries distinct content about routing, prerequisites, output type, and verification. It is dense and runs long, with the verification/detail_level material packed into a single block that could be split or trimmed, but nothing is purely redundant.

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 12 parameters and no output schema, the description carries the burden of describing returns and does so ('timing tables and lords, not event predictions'), covers the prerequisite/clarification path, the verification loop, and the detail_level/include output shaping. An agent has everything needed to call it correctly and to know what it will and will not get back.

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 baseline is 3; the description still adds value by explaining the interaction between detail_level and include ('Omit both for the original full result') and that summary mode preserves scalar membership lists while marking truncation. It also clarifies that the tradition alias is not a claim of historical equivalence and that profection house_system is chosen independently, which the schema does not say.

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?

States a specific verb and two named resources (Firdaria and annual profections) plus the scope of each output (major periods to age-100, sub-periods in the active major, profection years -1/+3 clipped to the report). It explicitly distinguishes itself from the nearest sibling, calculate_zodiacal_releasing, so an agent can select without opening schemas.

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?

Names the alternative tool and the condition selecting it ('releasing from Fortune/Spirit'), lists prerequisites (exact local birth date/time, confirmed location_id, explicit house_system) and the failure mode (needs_clarification), and prescribes a follow-up step (call verify_calculation_claims with unchanged calculation_reference before interpreting). When-to-use, when-not, and downstream sequencing are all explicit.

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