Skip to main content
Glama

Celestio

Compute a birth chart

compute_birth_chart
Read-onlyIdempotent

Calculates a birth chart (planets, signs, houses, rising sign, aspects) for anyone from their name, birth date, place and, if known, time. No account needed and nothing is saved. Returns the positions, a short summary and readingUrl, a link that opens the free written reading on celestio.ai with the details filled in. For a written reading inside the chat use get_birth_reading.

Input Schema

NameRequiredDescriptionDefault
dateYesBirth date, YYYY-MM-DD, between 1900-01-01 and 2100-12-31
nameYesName of the person, e.g. "Maya"
timeNoLocal birth time, 24-hour ("14:30") or 12-hour ("2:30 PM", "2:30 p.m.", "2pm"). Leave out when unknown: the chart then has no rising sign or houses
placeYesBirth place as "City, Country" or "City, Region, Country", e.g. "Sofia, Bulgaria"
latitudeNoOptional: exact latitude; with longitude and timeZone it overrides the place search
timeZoneNoOptional IANA zone, e.g. "Europe/Sofia"
longitudeNo

Output Schema

NameRequiredDescriptionDefault
nameYes
notesYes
placeYes
anglesYes
aspectsYes
planetsYes
summaryYes
timeKnownYes
readingUrlYes
houseSystemYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context — no account required, no persistence — and previews the return payload (positions, summary, readingUrl) and what the link does. It doesn't mention accuracy caveats or failure modes, keeping it short of a 5.

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?

Three sentences, each earning its place: what it computes, the privacy/account posture, and the return payload including the outbound link. The core purpose is front-loaded before any qualifications.

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?

An output schema exists, so the description doesn't need to enumerate return fields — it briefly does anyway. With high schema coverage and full annotations, an agent has enough to invoke correctly, including the sibling alternative.

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 86%, so the schema carries most parameter meaning. The description still adds value by framing time as optional ("if known") and stating the consequence of omitting it (no rising sign or houses), which reinforces the schema constraint at the call-decision level.

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 ("Calculates a birth chart") and enumerates exactly what is produced (planets, signs, houses, rising sign, aspects) plus the inputs it draws from. It also explicitly distinguishes itself from the sibling get_birth_reading, so an agent can pick it without reading 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?

Gives explicit when-to-use context (compute the chart here) versus when to use the alternative ("For a written reading inside the chat use get_birth_reading"), and notes the low-friction conditions: no account needed, nothing saved. The main routing decision an agent faces is resolved in the text.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources