Skip to main content
Glama

AstroWay Astrology API (full catalogue)

AI Synastry Narrative

astroway_reports_ai_synastry_narrative

Long-form relationship narrative grounded in cross-chart aspects. Inputs: chart1, chart2, language, tone, length.

[Group: AI Reports] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toneNowarm
chart1YesBirth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
chart2YesBirth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
lengthNomedium
languageNouk
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNo
tokensNo
narrativeNo
disclaimerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false), so the bar is lower. The description adds a genuinely useful trait the annotations lack: the 250-credit Tier 5 billing cost and the explicit instruction to confirm with the user before invoking, which materially affects invocation behavior.

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?

Two front-loaded sentences followed by structured metadata tags (group, cost, warning). No padding; the purpose appears first and the heavy-cost caveat is placed for emphasis. Slight redundancy in listing inputs the schema already enumerates.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return format needn't be described, and rich nested chart schema plus annotations carry specification weight. However, for a complex, expensive, nested-input generation tool the description omits any usage context, prerequisites, or output character, leaving it adequate but thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 57% schema coverage, the description should compensate but instead only names five inputs (chart1, chart2, language, tone, length) without explaining any of them. It omits the two nuanced params -- 'fields' and 'precision' (compact mode) -- and adds no meaning beyond the schema, whose enum and nested descriptions already document tone/length/language. The input listing is essentially a restatement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Long-form relationship narrative grounded in cross-chart aspects,' which clearly identifies this as a synastry/compatibility report. It does not, however, differentiate this AI-narrative tool from sibling report tools like astroway_reports_synastry or astroway_reports_ai_natal_narrative, so the agent must infer the distinction.

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

Usage Guidelines2/5

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

The only guidance is the cost warning 'confirm with user before invoking,' which addresses authorization rather than tool selection. It never says when to pick this over the sibling synastry/love report tools or what preconditions apply, leaving the agent to infer usage.

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