Skip to main content
Glama
HellenicStar Astrology MCP Server

HellenicStar Astrology MCP Server

render_solar_arc_biwheel

Read-onlyIdempotent

Render a PNG biwheel with natal positions inside and true solar-arc directed positions outside to visualize one age. Provide exact birth date/time and a confirmed birthplace location_id.

Instructions

Render a PNG biwheel with natal positions inside and true solar-arc directed positions outside. Use for a visual at one age; use calculate_solar_arc for event tables or render_transit_biwheel for actual transits. Requires exact local birth date/time and a confirmed birthplace location_id. age takes precedence over the age derived from as_of; the selected age must be 0-80. Returns an inline MCP PNG after calculating and validating its source; no prior calculation call is required. stdio has no public image URL and the client must support image content. Missing inputs return needs_clarification without an image; invalid inputs or unavailable rendering return an error without an image.

Input Schema

NameRequiredDescriptionDefault
ageNoDirected age in years, 0-80 inclusive. Takes precedence over as_of for wheel positions. Omit to derive age from the reference date; out-of-range derived ages are rejected, not clipped.
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, default current UTC date at 12:00 UTC. Used to derive age only when age is omitted; if supplied it must be valid even with explicit age.
monthNoBirth month, 1-12, in the birthplace local civil calendar.
minuteNoExact birth minute, 0-59, in birthplace local civil time.
location_idNoConfirmed birthplace ID returned by search_birthplace or resolve_birth_coordinates; not a city name. Resolve ambiguous places before calling.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / age / description
      Added value: +"Directed age in years, 0-80 inclusive. Takes precedence over as_of for wheel positions. Omit to derive age from the reference date; out-of-range derived ages are rejected, not clipped."
    • addedInput schema / properties / as_of / description
      Added value: +"Reference date YYYY-MM-DD, default current UTC date at 12:00 UTC. Used to derive age only when age is omitted; if supplied it must be valid even with explicit age."
    • 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."
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond annotations: it returns an inline MCP PNG after calculating and validating its source, requires no prior calculation call, has no public image URL under stdio, requires image-capable clients, and returns clarification or error outcomes without an image. No behavior contradicts the read-only, idempotent annotations.

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?

The purpose and sibling alternatives are front-loaded, followed by prerequisites, precedence rules, return behavior, client requirements, and error modes. Every sentence adds operational value for a complex rendering tool, with no filler.

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?

Given nine parameters, complete schema coverage, no output schema, and read-only annotations, the description supplies the missing behavioral context: output format, calculation behavior, client requirements, and failure modes. An agent has enough information to call it correctly or route to an alternative.

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%, so the schema already documents all nine parameters in detail. The description reinforces exact birth data and age precedence, but those points are already covered by the schema's parameter descriptions, so it does not add significant new parameter-level semantics.

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 resource: renders a PNG biwheel with natal positions inside and true solar-arc directed positions outside. It also distinguishes itself from siblings by naming calculate_solar_arc and render_transit_biwheel as alternatives for different use cases.

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 says to use it for a visual at one age, then names alternatives for event tables and actual transits. It also covers prerequisites, age precedence, return behavior, client image support, and error outcomes, 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.