Skip to main content
Glama
HellenicStar Astrology MCP Server

HellenicStar Astrology MCP Server

render_composite_chart

Read-onlyIdempotent

Render a 720px PNG wheel of two people's midpoint composite chart from complete local birth data and confirmed birthplace IDs. Shows geometric midpoint positions, not compatibility scores.

Instructions

Render the midpoint composite chart of two people as a 720px PNG wheel. Use for geometric midpoint positions; use calculate_relationship_charts for structured composite/synastry data or render_davison_chart for a physical time-space midpoint chart. Supply two complete BirthInput objects with exact local birth dates/times and separately confirmed birthplace IDs. This chart does not score compatibility or predict relationship outcomes. 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
person_aNoFirst person: year, month, day, hour (0-23), minute (0-59) in birthplace local civil time, plus confirmed location_id from search_birthplace or resolve_birth_coordinates. All six are needed; fold is 0/1 only for a user-confirmed repeated DST time. Do not guess missing fields.
person_bNoSecond person: complete year, month, day, hour (0-23), minute (0-59) and their own confirmed birthplace location_id, using local civil time. Request fold 0/1 for an ambiguous repeated DST time. Do not copy the first person's location by default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / person_a / description
      Added value: +"First person: year, month, day, hour (0-23), minute (0-59) in birthplace local civil time, plus confirmed location_id from search_birthplace or resolve_birth_coordinates. All six are needed; fold is 0/1 only for a user-confirmed repeated DST time. Do not guess missing fields."
    • addedInput schema / properties / person_b / description
      Added value: +"Second person: complete year, month, day, hour (0-23), minute (0-59) and their own confirmed birthplace location_id, using local civil time. Request fold 0/1 for an ambiguous repeated DST time. Do not copy the first person's location by default."
  2. 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 only declare it as a safe, idempotent read; the description adds substantial context beyond that: no prior calculation call is required, stdio yields no public image URL, the client must support image content, and the three outcome paths (needs_clarification without image, error without image, inline PNG on success) are each spelled out.

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?

Front-loaded with the core action, then alternatives, then requirements, then return/error behavior — a sensible ordering. It is a dense paragraph with some stacking of caveats, but nearly every clause carries actionable information.

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?

For a two-parameter rendering tool with no output schema, the description covers everything an agent needs: input prerequisites, whether a prior calculation call is needed, the return medium, transport limitations, and both failure modes.

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 already 100%, so the baseline is 3; the description goes further by insisting on complete BirthInput objects with exact local civil times and separately confirmed birthplace IDs, and explicitly warns not to copy person A's location to person B. The only minor gap is that the required/optional status is not restated (all fields default to null in 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?

Opens with a specific verb and resource: 'Render the midpoint composite chart of two people as a 720px PNG wheel.' It immediately distinguishes itself from the two nearest siblings (calculate_relationship_charts for structured data, render_davison_chart for the time-space midpoint), so an agent can pick it without opening a 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?

Explicit positive trigger ('use for geometric midpoint positions') plus two named alternatives with their selection conditions. It also sets a negative boundary ('does not score compatibility or predict relationship outcomes'), which prevents a plausible misuse.

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