Skip to main content
Glama

Lunonis Astrology

Natal chart

natal_chart
Read-onlyIdempotent

Calculate a real natal (birth) chart from a birth date, optional birth time and a city. Returns the Sun, Moon and rising signs, every planet with sign, degree and house, the five tightest aspects, an element and modality summary, and a link to the free full chart with the wheel on lunonis.com. Calculated in-house with an ephemeris (tropical zodiac, Placidus houses); nothing is stored. If the city name matches several places it returns status "ambiguous_place" with candidates: ask the user which one, then call again with that id as place.

Input Schema

NameRequiredDescriptionDefault
dateYesBirth date, YYYY-MM-DD (1900-2100)
langNoLanguage of the returned links (site language code). Default en.
timeNoBirth time, 24-hour HH:MM local time. Omit if unknown: the rising sign and houses are then left out, never guessed.
placeYesBirth city name (e.g. "Lviv" or "Lviv, Ukraine"), or a place id from search_places. A name shared by several cities returns candidates to choose from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark this read-only and idempotent, but the description adds substantive context: in-house ephemeris calculation, tropical zodiac and Placidus houses, and that 'nothing is stored'. It also discloses the ambiguous_place response branch, which the annotations cannot express. No contradiction with the read-only/idempotent hints.

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 the return inventory, then the ambiguous-place rule. The return enumeration is long but each item is meaningful; slightly dense, though nothing 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?

No output schema exists, so the description carries the burden of describing returns, which it does comprehensively (signs, planets, aspects, element/modality summary, link). Combined with the ambiguity workflow and the unknown-time rule, an agent has everything needed to call and handle results correctly.

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 earns extra by explaining that omitting 'time' suppresses rising sign and houses rather than guessing, and that 'place' accepts either a city name or an id from search_places. Minor gap: it never mentions the lang parameter or its effect on returned links.

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 ('Calculate a real natal (birth) chart') plus the exact inputs, then enumerates return contents so an agent knows precisely what it gets back. It is clearly distinct from the sibling search_places (which only resolves locations) and compatibility (which is never confused with chart calculation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit operational guidance: omit time when unknown (houses/rising omitted, 'never guessed'), and on status "ambiguous_place" ask the user and re-call with the chosen id as 'place'. It does not explicitly contrast with the compatibility sibling, so it stops short of full when/when-not routing.

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