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] [Endpoint: POST /v1/reports/ai/synastry-narrative] [Required: chart1, chart2] [Cost: 250 credits (Tier 5)] ⚠️ Heavy — confirm with user before invoking.

Input 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

NameRequiredDescriptionDefault
modelNo
tokensNo
narrativeNo
disclaimerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the mutation/regeneration profile is partly covered. The description adds material context the annotations do not: cost of 250 credits at Tier 5, the 'Heavy' flag, and the explicit instruction to confirm with the user first, which is exactly the kind of operational disclosure that matters.

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?

One front-loaded sentence gives the purpose, followed by a compact bracketed metadata block (group, endpoint, required, cost). No wasted prose, though the metadata is appended rather than integrated into the prose flow.

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 return values need not be explained. Required parameters, cost, heavy-invocation warning, and endpoint are all present, giving an agent everything needed to decide and call correctly.

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

Parameters3/5

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

Schema description coverage is 57%, and the description only enumerates chart1, chart2, language, tone, length by name without adding format, defaults, or semantic meaning. The nested chart-object details live entirely in the schema, so the description does not compensate for the coverage gap but the enumeration is a marginal help. Baseline 3 is appropriate.

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 output (long-form relationship narrative) with its basis (cross-chart aspects), which distinguishes it from the natal/transit/monthly/year-ahead narrative siblings. It does not, however, explicitly contrast itself with the closely-related astroway_reports_synastry or astroway_ai_interpret_synastry tools, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

The 'Heavy — confirm with user before invoking' warning plus the 250-credit cost is genuine usage guidance and the required params are listed. But there is no explicit when-to-use-vs-alternative routing (e.g. why this over astroway_ai_interpret_synastry), leaving the selection rationale implied.

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