Skip to main content
Glama
HellenicStar Astrology MCP Server

HellenicStar Astrology MCP Server

render_sky_chart

Read-onlyIdempotent

Render a 720px PNG tropical Placidus sky wheel for a chosen moment and confirmed location, calculating chart positions to minute precision without birth data.

Instructions

Render a 720px PNG tropical Placidus wheel for one moment and selected place, with chart positions calculated to minute precision. No birth data is needed. Use calculate_sky_chart for structured chart data, get_current_sky for sky positions without local houses, or render_transit_biwheel to compare the sky with a natal chart. Requires confirmed location_id; moment defaults to now. 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
momentNoChart instant in ISO 8601 with timezone offset, for example 2026-10-25T12:00:00+08:00 or a Z suffix. Omit for now; chart calculation uses local time truncated to the minute.
location_idNoRequired confirmed chart-place ID from search_birthplace or resolve_birth_coordinates, not a city name. Supplies coordinates and timezone for Placidus houses; need not be a birthplace.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.3
    • addedInput schema / properties / location_id / description
      Added value: +"Required confirmed chart-place ID from search_birthplace or resolve_birth_coordinates, not a city name. Supplies coordinates and timezone for Placidus houses; need not be a birthplace."
    • addedInput schema / properties / moment / description
      Added value: +"Chart instant in ISO 8601 with timezone offset, for example 2026-10-25T12:00:00+08:00 or a Z suffix. Omit for now; chart calculation uses local time truncated to the minute."
  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?

Goes well beyond the readOnly/idempotent annotations: it discloses that the return is an inline MCP PNG, that stdio has no public image URL, that the client must support image content, and how failure modes behave (needs_clarification without an image for missing inputs; error without an image for invalid inputs or unavailable rendering). This is unusually rich behavioral context for a rendering 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?

The core capability is front-loaded in the first sentence, and the remaining sentences each carry distinct information (alternatives, prerequisites, return channel, failure modes). It is a dense single paragraph rather than a structured list, which slightly hurts scanability, but no sentence is 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?

There is no output schema, and the description compensates fully by describing the returned inline PNG and the stdio limitation. Combined with alternatives, prerequisites, and error semantics, an agent has everything needed to call this correctly on the first attempt.

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 baseline is 3; the description adds meaning on top by stating that location_id must be 'confirmed' even though the schema marks it optional (required parameters: 0), and by noting the moment default. The ISO/millisecond truncation detail lives in the schema, so no further credit is warranted.

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 plus concrete output attributes: 'Render a 720px PNG tropical Placidus wheel for one moment and selected place, with chart positions calculated to minute precision.' That level of specificity (format, size, zodiac, house system, precision) lets an agent distinguish it from calculate_sky_chart and render_transit_biwheel immediately.

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 routes the agent: calculate_sky_chart for structured data, get_current_sky for sky positions without local houses, render_transit_biwheel to compare against a natal chart. It also states prerequisites ('Requires confirmed location_id; moment defaults to now') and that no prior calculation call is needed, which is exactly the guidance an agent needs before invoking.

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