AstroWay Core astrology
Server Details
Natal charts, planets, houses, aspects, dignities, rendering and the calendar.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 105 tools
Many tools have distinct purposes (aspects, calendar, geo, render, dignities), but several clusters overlap heavily: astroway_western_chart vs astroway_western_planets vs astroway_western_ephemeris vs astroway_calendar_aspects/houses, multiple ACG variants (acg, acg_best_places, acg_by_category, acg_line_report, acg_zones), and two Gantt-style timeline tools (aspect_bar, render_timeline). Descriptions help, but the 12 near-identical per-sign zodiac tools add avoidable noise.
Nearly everything follows a predictable astroway_<group>_<thing> snake_case pattern with stable group prefixes (aspects_, calendar_, geo_, render_, mcp_). Minor deviations exist where names are pure nouns (astroway_western_chart, astroway_geo_acg) or extremely long (astroway_zodiac_signs_per_sign_deep_zodiac_aquarius), but the convention is clear and consistent.
105 tools is an extreme mismatch for a single MCP server and far exceeds the practical selection range. Large blocks could be parameterized (12 per-sign tools could be one tool with a sign argument; the five ACG variants and multiple render tools could collapse). The count alone will overwhelm an agent's tool selection.
The astrology domain is covered broadly: natal charts, ephemeris, houses, aspects, dignities, astrocartography, horoscopes, eclipses, planetary hours, Vedic renderings, translation, and cost/account utilities. Gaps remain (no explicit progression or solar-return calculation endpoint, only rendered/geo variants), but most workflows are reachable.
Available Tools
105 toolsastroway_account_statusAccount StatusARead-onlyIdempotentInspect
Check current API key status: tier, credit balance, rate limits, monthly cycle reset. Run this BEFORE invoking expensive endpoints (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm the user has budget. Returns plain-text human-readable summary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. Description adds that it returns a 'plain-text human-readable summary' and clarifies the budget-checking purpose, providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences: purpose, usage guidance, and return format. Front-loaded with key information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description specifies the return format (plain-text human-readable summary). For a simple status check tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so schema coverage is 100%. Description does not need to explain parameters, and it adds value by hinting at the output format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Check' and the resource 'API key status' with specific attributes (tier, credit balance, rate limits, monthly cycle reset). It distinguishes itself from the many sibling astrology calculation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to run this tool BEFORE invoking expensive endpoints, providing credit thresholds (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm budget.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_agent_toolsAgent tool definitionsBRead-onlyIdempotentInspect
Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. format=openai (default) returns { type, function } objects you can spread straight into a chat completion; format=anthropic returns { name, description, input_schema }. The objects carry nothing of ours: how to call each t…
[Group: Agent Platform] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text filter applied within the selection, matched against path, summary, description and group. | |
| limit | No | How many tools to return. The ceiling is the OpenAI limit of 128 functions per request; models degrade well before it. Anything left out is counted in `totalMatched`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| format | No | Which vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`. | openai |
| select | No | What to hand over: `starter` (the curated set, the default), `all`, `group:<tag>` such as `group:Vedic`, or `paths:/chart,/synastry` for an explicit list. An unknown path is named in `notes` rather than dropped. | starter |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| notes | No | |
| tools | No | |
| format | No | |
| select | No | |
| executors | No | |
| truncated | No | |
| totalMatched | No | |
| totalAvailable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds the useful guarantee that the emitted schema is the schema the endpoint validates and that the objects carry no vendor-specific fields, but says nothing about cost, rate limits, or response size behavior beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The visible portion is front-loaded on what is returned and the two format shapes, with no filler. It is somewhat terse for a tool with six parameters and a listed default/select semantics, but every visible sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover the read-only/idempotent profile. The remaining gap is routing: nothing tells the agent when to choose this over astroway_mcp_tools_list or similar listing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the six parameters is already documented in the schema, including the format enum and the select/fields/precision semantics. The description restates the format option rather than adding new meaning, so the baseline 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: returning agent tool definitions generated from the live OpenAPI document, in either OpenAI or Anthropic shape. That is clear enough to differentiate it from report/chart tools in the namespace, but it never names the closest sibling (astroway_mcp_tools_list) or explains the distinction, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no stated alternative. The mention of `format=openai` as the default is parameter behavior, not a usage rule, and the agent is left to infer whether this is for building an agent, curated retrieval, or an MCP tool listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_antisciaAntisciaBRead-onlyIdempotentInspect
Calculate antiscia (mirror points along the Cancer/Capricorn axis) and contra-antiscia, plus their aspects to natal planets.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| aspects | No | |
| antiscia | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds the cost signal (20 credits, Tier 2), which is genuine behavioral context an agent would not get from the schema. However it discloses nothing about computational behavior, resolution, or precision beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core concept front-loaded, followed by brief group and cost tags. Nothing is wasted, though the parenthetical definition and metadata lines make it slightly more list-like than prose would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and annotations carry the safety profile. What is missing is usage context and any clarification of the 11 under-documented parameters for a tool that takes 15, leaving an agent able to understand the operation but not confident about invocation choices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% and the description adds no parameter meaning at all, so it does not compensate for the gap. Several parameters (cosmogram, zodiacType, houseSystem, ayanamsaId, name, city) are left undocumented in both places, and the reader must infer their roles from enum values alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and a well-defined resource (antiscia and contra-antiscia), and even parenthetically glosses the concept as mirror points along the Cancer/Capricorn axis, plus their aspects to natal planets. This distinguishes it in substance from siblings like midpoints or arabic_parts, though it never names an alternative, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use, no when-not-to-use, and no alternatives among the many sibling aspect tools. The [Group] and [Cost] tags are metadata, not guidance about selecting this tool over midpoints, parallel_aspects, or fixed_stars.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_arabic_partsArabic Parts (Lots)BRead-onlyIdempotentInspect
Calculate Arabic parts (Lots) from a natal chart. Returns positions for standard lots (Fortune, Spirit, etc.) and any custom formula.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom lot definitions; the built-in set is used when omitted. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description adds the credit cost (20, Tier 2) and that a built-in lot set is used when none is supplied, which is useful but modest additional context; it says nothing about formula syntax or error behavior for invalid custom formulas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus compact group/cost metadata; nothing is padded. The metadata lines are useful but arguably belong in structured fields rather than the description body.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description need not explain return values. Stating what is returned (standard lots plus any custom formula) and the credit tier is sufficient for an agent to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself richly documents body, timezone, houseSystem, fields and precision, so the schema carries parameter meaning. The description only implies that custom lots are optional via 'any custom formula', adding little beyond the schema's own 'built-in set is used when omitted' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate Arabic parts (Lots) from a natal chart') and lists outputs (Fortune, Spirit, custom formulas). It is clear on its own, but never distinguishes itself from the many sibling points/aspects tools such as astroway_aspects_midpoints or astroway_aspects_antiscia.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over sibling tools or what prerequisites exist beyond the generic '[Group: Aspects & Points]' tag and cost line. The agent must infer usage purely from the name and one sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_aspect_barAspect Bars (Gantt)BRead-onlyIdempotentInspect
Transform aspect timelines into Gantt-style bars grouped by transit planet. Each bar shows the duration an aspect is in orb, with exact dates marked. Useful for visual transit calendars.
[Group: Aspects & Points] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| maxOrb | No | ||
| endDate | Yes | ||
| stepDays | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes | ||
| planet1Ids | No | ||
| planet2Ids | No | ||
| aspectAngles | No | ||
| visiblePlanetIds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| bars | No | |
| rows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds genuinely useful context (bars show orb duration with exact dates; cost of 10 credits, Tier 1), but omits return format and any parameter-level behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with the output shape front-loaded, followed by compact group/cost metadata. No padding, though the cost/group tags add bookkeeping rather than task-relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists so return values need not be explained, and the description does convey the produced artifact. But with 10 parameters at 20% coverage and a near-twin sibling, the description leaves meaningful gaps an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only 'fields' and 'precision' are documented), across 10 parameters including maxOrb, stepDays, planet1Ids/planet2Ids, aspectAngles, and visiblePlanetIds. The description explains none of these, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource+output: it 'transforms aspect timelines into Gantt-style bars grouped by transit planet,' so the agent knows exactly what is produced. However, it does not distinguish this from the obvious sibling astroway_aspects_aspect_timeline, which the phrase 'aspect timelines' nearly collides with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for visual transit calendars' implies a usage context but gives no explicit when-to-use, when-not, or alternative. With a near-duplicate sibling (astroway_aspects_aspect_timeline) available, the description should route the agent but does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_aspect_timelineAspect TimelineCRead-onlyIdempotentInspect
Calculate a timeline of when two specific planets form an exact aspect within a date range, including enter/exact/leave dates.
[Group: Aspects & Points] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| maxOrb | No | ||
| endDate | Yes | ||
| stepDays | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes | ||
| planet1Ids | No | ||
| planet2Ids | No | ||
| aspectAngles | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| timelines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that results include enter/exact/leave dates, which is useful behavioral context, but says nothing about precision loss, orb defaults, sampling step behavior, or the 100-credit cost implications beyond the tier label.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the core computation front-loaded, followed by the required group and cost metadata. Nothing is wasted, though the single sentence is arguably too sparse for a 9-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 9-parameter tool with low schema coverage, the description is too thin: it omits how maxOrb, stepDays, aspectAngles and precision shape the returned timeline. The output schema covers return values, but the input side leaves an agent guessing at numeric ranges and defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22% across 9 parameters, so the description carries much of the burden and fails to. maxOrb, stepDays, aspectAngles, precision and planet1Ids/planet2Ids are undocumented in both places; the description only vaguely references 'two specific planets' and a 'date range' without parameters actually named startDate/endDate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: calculating when two planets form an exact aspect over a date range. It is clear what the tool produces, but it does not differentiate itself from similarly named siblings such as astroway_calendar_aspects or astroway_aspects_aspect_bar, so an agent still has to infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool computes but gives no when-to-use guidance, no exclusions, and does not name any alternative tool. The date-range and two-planet framing weakly implies usage but provides no routing information relative to the many other aspect tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_fixed_starsFixed StarsBRead-onlyIdempotentInspect
Calculate conjunctions between natal planets and fixed stars within a specified orb. Returns star details and aspect type.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the credit cost (Tier 2, 20 credits) and notes the response includes star details and aspect type, but says nothing about the missing orb control it advertises, nor about output volume or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core operation front-loaded, plus compact group and cost metadata. No filler, though the cost/group lines are boilerplate rather than definitional content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover safety. But with 15 inputs at 33% schema description coverage and no mention of the required birth-data parameters or sidereal/house options, an agent must reconstruct the calling contract almost entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters, so the description carries more burden than it does. It mentions 'specified orb' even though no orb parameter exists in the schema, and it never explains the required date/time/latitude/longitude quartet, zodiacType, houseSystem, or the ayanamsa options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Calculate conjunctions between natal planets and fixed stars within a specified orb,' which an agent can distinguish from the sibling astroway_aspects_fixed_stars_catalog (a star listing) without opening either schema. However, no sibling is named explicitly, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. 'Within a specified orb' hints at a narrowing input, but the description never says when this tool should be preferred over other aspect tools such as astroway_aspects_parallel_aspects or the fixed-star catalog.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_fixed_stars_catalogFixed star catalogueARead-onlyIdempotentInspect
The star names this API accepts, from Swiss Ephemeris fixstars.cat: traditional name, Bayer nomenclature, constellation and magnitude, with the 36-star astrological default set flagged. Optional ?maxMagnitude= trims to the bright end. Static lookup, no chart needed.
[Group: Aspects & Points] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| stars | No | |
| total | No | |
| source | No | |
| maxMagnitude | No | |
| defaultSetSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so safety and determinism are covered. The description adds useful context (static, no chart, 36-star default flagged, magnitude trimming) but doesn't cover pagination or response shape, which the output schema carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus a group/cost tag; front-loaded with the key noun. The bracketed metadata lines are boilerplate but consistent with the tool family and mildly useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a static reference lookup with an output schema, the description covers provenance, contents, the default flag, and a trimming filter. Nothing essential is missing; only the return-format note is left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (fields, precision) are fully documented in the schema. The description mentions maxMagnitude, a query-string option, adding a little signal, but the structured fields do the heavy lifting. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (fixed star catalogue) and its exact provenance (Swiss Ephemeris fixstars.cat), naming the fields returned. It is clearly distinguishable from the related astroway_aspects_fixed_stars, which computes star contacts rather than listing names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Static lookup, no chart needed" gives clear context for when to reach for it, and the maxMagnitude trimming note scopes a common use case. It does not explicitly route the agent to a sibling for the computed-star case, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_gauquelin_sectorsGauquelin SectorsBRead-onlyIdempotentInspect
Calculate Gauquelin sector positions (1–36) for all planets, indicating whether each planet is in a power zone.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sectors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds the credit cost (20 credits, Tier 2) and tool group, which is useful operational context, but says nothing about output shape, caching, or input sensitivity beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of substance, front-loaded with the verb and resource, followed by clearly separated group/cost metadata. No filler, though the very brevity is also the source of the missing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computation tool with 15 parameters and an output schema (so return values need not be explained), the description covers purpose and cost but omits input expectations and what distinguishes a 'power zone'. Adequate minimum but thin for the parameter surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description would need to compensate, but it adds nothing about the 15 parameters. It never mentions that date/time/latitude/longitude are required, nor how ayanamsa/zodiacType or timezone affect Gauquelin sector results — a real gap since sector positions depend on exact time and location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('Gauquelin sector positions (1–36) for all planets'), and adds the interpretive output ('whether each planet is in a power zone'). No close sibling overlaps (no other Gauquelin tool in the list), so differentiation is moot, but the description does not explicitly say how it differs from general aspects/point tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when a Gauquelin-sector analysis is preferable to other aspect/point tools, and no note of prerequisites such as needing a birth time. The agent is left to infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_midpointsMidpointsCRead-onlyIdempotentInspect
Calculate all planetary midpoints and their zodiac positions. Optionally include midpoint aspects to natal points.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| midpoints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint, idempotentHint, destructiveHint false, openWorldHint false), so the bar is lower. The description adds the cost/group metadata ('20 credits, Tier 2'), which is genuine behavioral context beyond the annotations, but says nothing about the response shape or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the core action, followed by compact group and cost tags. Nothing is padded or redundant, though the optional-aspects clause is doing little work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with only 33% schema coverage, the description omits any guidance on inputs or configuration even though an output schema covers return values. An agent has no help navigating the many optional parameters or distinguishing this from the midpoint_trees sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description is expected to compensate and does not. It never mentions the required date/time/latitude/longitude inputs or the many configuration knobs (ayanamsa, houseSystem, zodiacType, precision), leaving half the schema undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Calculate all planetary midpoints and their zodiac positions,' plus an optional mode ('midpoint aspects to natal points'). It is clear on its own but never distinguishes itself from the near-identical sibling astroway_aspects_midpoint_trees, so an agent cannot tell which one to reach for from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'Optionally include midpoint aspects to natal points,' which describes an internal option rather than when to choose this tool over astroway_aspects_midpoint_trees or other aspects tools. No preconditions, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_midpoint_treesMidpoint Trees (Uranian)BRead-onlyIdempotentInspect
Calculate Uranian midpoint trees and planetary pictures (symmetries) for each focal planet within a given orb.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the orb in degrees used for midpoint trees and symmetries. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| trees | No | |
| symmetries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description usefully adds billing behavior (20 credits, Tier 2), which is real context not present in structured fields, but says nothing about output shape, computational cost, or failure modes beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the key noun phrase front-loaded, followed by two short metadata tags. Nothing is redundant, though the bracket tags are boilerplate shared across the tool family rather than tool-specific value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and the nested birth-data schema is exhaustively documented. What remains missing is the routing information an agent needs to pick this tool over the near-identical midpoint sibling, leaving the definition only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 3 parameters, so the schema already carries the burden. The description mentions the orb and the focal-planet dimension, which maps loosely to the schema, but adds no format, default, or range detail beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (calculate) and a specific resource (Uranian midpoint trees / planetary pictures with symmetries), plus the scoping unit ('for each focal planet within a given orb'). It does not, however, distinguish itself from the sibling astroway_aspects_midpoints, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as astroway_aspects_midpoints or astroway_aspects_antiscia. The only selection signal is the credit tier, which tells the agent about cost but not about appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_parallel_aspectsParallel AspectsARead-onlyIdempotentInspect
Calculate parallel (same declination) and contra-parallel (opposite declination) aspects between all planets within orb.
[Group: Aspects & Points] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the declination orb in degrees. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parallels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds only the credit cost (20 credits, Tier 2) and the orb-scoped planet scope; it says nothing about response shape, errors, or limits beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating the operation plus two compact metadata tags; no filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the required birth data plus orb are covered by the schema. What remains thin is usage guidance, but nothing an agent needs to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the nested birth-data and orb fields fully documented, so the baseline is 3. The phrase 'within orb' loosely ties to body.orb but adds no format or default detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Calculate) and a precise resource (parallel and contra-parallel aspects by declination), and defines both terms, so an agent can distinguish it from ecliptic-aspect siblings like aspect_bar or midpoints. It does not explicitly name an alternative sibling, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope (all planets, within orb) implies when the tool applies, but there is no explicit when-to-use/when-not guidance or routing to sibling aspect tools. Usage must be inferred from the astronomical term alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_aspects_sabian_symbolsSabian SymbolsBRead-onlyIdempotentInspect
Return the Sabian symbol (Dane Rudhyar) for each given ecliptic longitude.
[Group: Aspects & Points] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| longitudes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds two useful operational facts beyond the annotations: the cost tier (10 credits, Tier 1) and that one symbol is produced per longitude. It says nothing about output content or limits, hence a middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence front-loads the purpose, followed by short group and cost tags. Nothing is padded, though the bracketed metadata is boilerplate rather than explanatory content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover the safety profile. For a simple per-longitude lookup the description plus structured fields give an agent enough to call it correctly; only usage context is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; the required `longitudes` array has no schema description. The description compensates by specifying these are ecliptic longitudes and that a symbol is returned per element, which is the essential semantic for the undocumented parameter. It still omits units/range detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the Sabian symbol (Dane Rudhyar) for each supplied ecliptic longitude. The resource is unique enough among the astroway_aspects_* siblings that an agent can identify it, but no sibling is named or contrasted, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. other symbol/point lookups). The phrase 'for each given ecliptic longitude' only hints at the input shape, which is already visible in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_algol_minimumAlgol MinimumBRead-onlyIdempotentInspect
Find the nearest minimum brightness moment of Algol (Beta Persei), the eclipsing variable star, within a date range.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| minima | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral fact beyond the annotations - the 10-credit (Tier 1) cost - but says nothing about return format, precision behavior, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words, and the bracketed group/cost metadata is compact. It is appropriately sized for a single-purpose lookup tool, though the metadata lines are formatting rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and annotations cover the safety profile. The remaining gaps are the undocumented 'longitude' parameter and the absence of any disambiguation from the very similar sibling tool, which matters given the crowded Calendar & Cycles namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: 'fields' and 'precision' are documented in the schema, while 'startDate' and 'endDate' have no descriptions and 'longitude' is entirely opaque. The phrase 'within a date range' partially compensates for the two date parameters, but 'longitude' remains unexplained in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find'), resource ('minimum brightness moment of Algol (Beta Persei), the eclipsing variable star') and scope ('within a date range'), so the operation is unambiguous. However, it does not distinguish itself from the near-identical sibling 'astroway_calendar_algol_minimum_nearest', which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no exclusions. Critically, it never routes the agent between this tool and the 'astroway_calendar_algol_minimum_nearest' sibling, leaving the choice entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_algol_minimum_nearestAlgol Nearest MinimumBRead-onlyIdempotentInspect
Find the single nearest Algol brightness minimum before or after a given date.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| longitude | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jd | No | |
| date | No | |
| time | No | |
| hoursUntil | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds the 'single nearest ... before or after' semantics, but omits tie-breaking (if the date sits equidistant between two minima) and any auth/cost behavior beyond the credit tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the core behavior, followed by compact Group and Cost tags. No padding or redundancy, though the metadata lines slightly dilute the one-line payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the core lookup is stated. But for a 4-parameter tool with an unexplained 'longitude' input and no clarity on how 'nearest' resolves ties, the definition is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage, the description carries real burden it does not meet: the 'longitude' parameter is entirely undocumented anywhere, and 'date' has only a pattern, not a stated meaning or timezone/format convention. The description adds nothing to clarify these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (find) and a precise resource (the single nearest Algol brightness minimum relative to a date), which is clear on its own. It does not, however, differentiate itself from the sibling astroway_calendar_algol_minimum, so an agent must infer which of the two Algol tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or mention of alternatives. The phrase 'before or after a given date' implies a proximity lookup, but nothing tells the agent when to prefer this over the plain Algol minimum tool or what input conditions apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_aspectsAspect MatrixBRead-onlyIdempotentInspect
Standalone aspect calculation: full inter-planetary aspect list with type / exactAngle / orb / isApplying. Uses per-pair astro.com orb matrix. Same calcAspects() as /chart but without planet positions / houses / midpoints overhead.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| aspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is low, and the description still adds real behavioral context: the orb model used (per-pair astro.com matrix) and the cost (10 credits, Tier 1). It omits any auth or rate-limit notes, but the orb provenance is meaningful added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the core purpose and then the differentiator, with group/cost metadata kept to bracketed tags. Nothing is padded, though the cost line is boilerplate rather than tool-specific guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the description does cover what the tool produces. The gap is on the input side: for a 15-parameter tool with 33% schema coverage, the description leaves most parameter meaning and several sidereal/house-system choices undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 33% schema description coverage, the description must compensate for the undocumented inputs, yet it names none of them (date, time, latitude, longitude, ayanamsa, houseSystem, zodiacType). The only field list it gives (type/exactAngle/orb/isApplying) describes the output, not the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (aspect calculation) and enumerates the returned aspect fields (type, exactAngle, orb, isApplying). It clearly distinguishes itself from the full chart endpoint, but does not differentiate itself from sibling aspect tools like astroway_aspects_aspect_bar or astroway_aspects_parallel_aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'same calcAspects() as /chart but without planet positions / houses / midpoints overhead' implies you should use it when you only need aspects, which is a usable hint. However there is no explicit when-to-use vs when-not-to-use statement and no mention of the many sibling aspect tools an agent could pick instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_cyclic_indexCyclic IndexBRead-onlyIdempotentInspect
Calculate the André Barbault Cyclic Index, sum of all outer planet separations, for a date range to indicate global crisis periods.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endYear | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startYear | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| count | No | |
| endYear | No | |
| startYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (read-only, idempotent, non-destructive, closed-world), so the description adds the cost tier (100 credits, Tier 4) and group, which is useful operational context. It does not disclose the computation basis for the outer planet pairs or any rate/side-effect nuance. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the computation, its formula, and its purpose, followed by compact group/cost tags. No wasted prose, though the bracketed metadata adds little beyond what tooling may already expose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a computation/analysis endpoint with an output schema and full annotations, both of which relieve the description of return-value and safety burden. However, the undocumented 'pairs' parameter and the missing contrast with sibling cycle tools leave meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% and the description compensates minimally, implying only the startYear/endYear date range. The 'pairs' parameter has no description anywhere, and 'fields'/'precision' compact-mode behavior is left entirely to the schema. For 5 parameters, the description does not fill the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: it computes the André Barbault Cyclic Index, defines it ("sum of all outer planet separations"), and scopes it to a date range. This is distinguishable from most siblings, though it does not explicitly contrast with close cousins like astroway_calendar_planetary_cycles or planetary_phases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "to indicate global crisis periods" implies the analytical purpose and gives some context for use, but there is no explicit when-to-use/when-not guidance and no named alternative among the many calendar tools. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_eclipsesEclipsesBRead-onlyIdempotentInspect
Find solar and lunar eclipses within a given year or multi-year range. Returns type, date, and geographic visibility data.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| yearsRange | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| eclipses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuine extra context — that results carry type, date, and geographic visibility data, and that the call costs 100 credits (Tier 4) — but says nothing about result volume, pagination, or whether the year/range inputs interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability stated first and the return contents second; the bracketed group/cost metadata is compact and skimmable. No filler, though the cost/group lines are boilerplate rather than description prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not strictly required, and the description does gesture at it. However, for a tool with a required-but-nullable year, an undocumented range cap, and two nearby eclipse siblings, the description leaves the agent short of what it needs to choose and call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'fields' and 'precision' are documented in the schema, while 'year' (nullable but required) and 'yearsRange' (max 20) are not. The description's 'year or multi-year range' hint loosely maps to those two params, but does not explain the required-but-nullable year, the 20-year cap, or how the two interact — so it only partly compensates for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Find') plus a precise resource ('solar and lunar eclipses') and scope ('within a given year or multi-year range'). It clearly distinguishes itself from generic calendar tools, but never acknowledges the close siblings astroway_geo_eclipse_analysis or astroway_render_eclipse_path, which an agent would reasonably confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'within a given year or multi-year range' implies when the tool applies, but there is no explicit when-to-use guidance, no exclusion of overlapping siblings, and no statement of prerequisites. Usage must be inferred from the purpose sentence alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_housesHouse CuspsARead-onlyIdempotentInspect
Standalone house calculation: 12 cusps + ascendant + MC + ARMC + vertex + co-asc + polar-asc. Supports Placidus, Koch, Regiomontanus, Campanus, Topocentric, Whole Sign, Equal, Porphyry, Morinus etc. Auto-fallback warning on |lat|>66.5° quadrant systems.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| houses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent safety, and the description adds real behavioral context beyond them: automatic fallback warning when |lat| > 66.5° for quadrant systems, plus the list of supported house systems. It does not mention cost implications or fallback target system, but the polar-latitude caveat is valuable and non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the first clause states what is computed, the second names systems, the third flags the edge case. No padding, and the group/cost tags are structured metadata rather than prose. Slightly compressed to the point of terseness but no wasted sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explanation is not required, and the description usefully enumerates the returned points anyway. However, for a 15-parameter tool at 33% schema coverage with no output-schema reliance for params, the description leaves several inputs (cosmogram, name/city, date/time handling) undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 15 parameters. The description names the house-system families (Placidus, Koch, Regiomontanus, etc.), which maps names onto the opaque enum codes, and its latitude caveat relates to the latitude parameter. But date/time/longitude, cosmogram, name and city go unaddressed in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Standalone house calculation') and enumerates exactly what is returned: 12 cusps, ascendant, MC, ARMC, vertex, co-asc, polar-asc. The word 'Standalone' signals it is distinct from the full-chart sibling (astroway_western_chart), though no sibling is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage only: 'Standalone' suggests reach for this when only houses are needed rather than a full chart, but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer the routing decision itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_ingressesPlanet IngressesBRead-onlyIdempotentInspect
Find all sign ingresses for a planet within a date range (including retrograde re-entries).
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planetId | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ingresses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: retrograde re-entries are included in the result set, and the call costs 100 credits (Tier 4), which is operationally relevant for an agent budgeting calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the core behavior, followed by short structured group/cost tags. Nothing is wasted, though the bracketed metadata is boilerplate rather than informative prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation. For a 5-parameter tool the description covers the essential inputs, the retrograde nuance, and cost, but omits any routing guidance among the many calendar siblings and says nothing about the compact-mode options, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: planetId, startDate, and endDate have no schema descriptions, and the description compensates by naming the planet and date range as the operative inputs. It says nothing about the two optional compact-mode parameters (fields, precision), though those are already documented in the schema, so the net compensation is adequate but not deep.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Find all sign ingresses for a planet within a date range') and adds a scope qualifier ('including retrograde re-entries') that clarifies the semantics of 'ingress'. It does not, however, distinguish itself from close siblings such as astroway_calendar_retrograde_periods or astroway_calendar_planetary_cycles, so an 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The agent is left to infer from the date-range/planet framing that this is a time-window scan, with nothing steering it away from overlapping tools like retrograde_periods or planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_lunar_calendarLunar CalendarARead-onlyIdempotentInspect
Calculate a lunar calendar for a given month: Moon sign per day, lunar phases, void-of-course windows, and perigee/apogee.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| month | No | |
| phases | No | |
| dailyInfo | No | |
| ingresses | No | |
| moonAspects | No | |
| voidPeriods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, openWorld=false, so safety is covered. The description adds genuinely useful non-annotation context: the 100-credit Tier 4 cost, which lets an agent weigh whether the call is worth it. Return-format detail is light but the output schema exists, so this is the right area to add value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, followed by compact bracketed metadata for group and cost. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-required-param aggregation tool with an output schema, the definition covers purpose, contents, and cost adequately. The only real gap is the absence of any usage/routing guidance, which is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the non-obvious params (fields, precision) are documented in the schema, while year/month are self-explanatory from their names. The description adds nothing beyond "given month" — no format hints, ranges, or defaults — so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Calculate") and resource ("a lunar calendar for a given month"), then enumerates the outputs (Moon sign per day, lunar phases, VOC windows, perigee/apogee). The enumeration implicitly distinguishes it from the single-purpose siblings astroway_calendar_moon_phase and astroway_calendar_moon_voc, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says "for a given month" — there is no when-to-use vs. when-not guidance and no routing to alternatives like the individual moon-phase or VOC tools. An agent must infer the aggregation-vs-single-purpose distinction entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_aspectsMoon AspectsBRead-onlyIdempotentInspect
Calculate all aspects the Moon makes within a date range (applying and separating), useful for electional and horary work.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety burden is off the description. The description adds that both applying and separating aspects are returned and discloses a 100-credit (Tier 4) cost, which is genuinely useful pre-call information, but says nothing about result volume, pagination, or lat/long input needs for this kind of calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of substance plus two bracketed metadata tags; the purpose leads and nothing is padded. Only minor drag from the metadata blocks, which are arguably infrastructural rather than descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and the core operation is stated. Still, in a namespace with dozens of calendar and aspect tools, the description does not supply the disambiguating detail (Moon-to-planet only? all aspect types? transit vs. natal?) that would let an agent pick this tool confidently over its near neighbors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: only fields and precision are documented, while the required year and month have no schema descriptions. The description's "within a date range" is the only hint about their meaning, and it is actually misleading since no day or time parameter exists in the schema, so the framing of a date range is never reconciled with the year+month inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate), a specific resource (aspects the Moon makes), and a scope (within a date range, including applying and separating). This is clearly narrower than the generic astroway_calendar_aspects, though it never names that sibling to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful for electional and horary work" gives a domain context, which implies when an agent would reach for it. However, there is no statement of when to prefer this over astroway_calendar_aspects, astroway_calendar_moon_voc, or astroway_aspects_aspect_timeline, all of which sit in the same decision space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_phaseMoon PhaseBRead-onlyIdempotentInspect
Current moon phase at a given moment: illumination %, age in days, elongation, waxing/waning, sun + moon zodiac signs. Geocentric Sun-Moon elongation per Meeus Ch.48.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No | |
| waxing | No | |
| ageDays | No | |
| sunSign | No | |
| moonSign | No | |
| phaseName | No | |
| majorPhase | No | |
| sunLongitude | No | |
| elongationDeg | No | |
| moonLongitude | No | |
| illuminationPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the algorithmic basis (Meeus Ch.48, geocentric) and the 10-credit consumption cost. It still says nothing about geographic sensitivity, caching, or rate limits, so it adds moderate rather than rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the computed outputs front-loaded, followed by a compact methodology note and bracketed metadata. No filler or redundancy, though the group/cost tags are appended rather than integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and the description correctly focuses on what is computed. However, with 15 parameters at 33% schema coverage and no usage guidance, the definition is incomplete for an agent trying to assemble a correct call — particularly around whether location is truly needed for a phase value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must carry more of the burden and does not. It never mentions the four required inputs (date, time, latitude, longitude), the timezone vs timezoneOffset interaction, ayanamsa/zodiacType choices, or the compact-mode fields/precision options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource and enumerates exactly what is computed: illumination %, age in days, elongation, waxing/waning, and sun/moon zodiac signs, plus the method (Meeus Ch.48 geocentric Sun-Moon elongation). An agent knows precisely what this produces. It does not, however, distinguish itself from closely named siblings such as astroway_render_moon_phase or astroway_calendar_lunar_calendar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (e.g. that latitude/longitude and a local date/time are mandatory), and no routing to alternatives like the moon-phase renderer or the lunar calendar. The bracketed group/cost tags are metadata, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_moon_vocMoon Void-of-CourseBRead-onlyIdempotentInspect
Find Moon void-of-course periods within a date range. The Moon is VOC from its last aspect until it enters the next sign.
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeDays | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent, non-destructive operation, so safety behavior is covered. The description adds the VOC definition and a credit cost tier, but says nothing about output shape, rate limits, or how periods are bounded/returned when none occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the concept definition front-loaded, plus compact bracketed metadata for group and cost. No filler, though the group/cost tags are somewhat boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and annotations cover the safety profile. Still missing are sibling differentiation and any explanation of the three undescribed parameters, leaving the agent with questions before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 57% — 'date', 'time', and 'rangeDays' have no schema descriptions at all. The description mentions only 'within a date range', which hints at rangeDays but does not explain the date/time format, the meaning of rangeDays, or how date+time+rangeDays combine. It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Find Moon void-of-course periods') and even defines the domain concept (last aspect until next sign ingress). However, it does not differentiate this from closely related siblings such as astroway_calendar_moon_phase, astroway_calendar_lunar_calendar, or astroway_calendar_moon_aspects, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use / when-not-to-use guidance and no mention of any alternative tool. The sibling set contains at least three other Moon-calendar tools, so the absence of routing information is a real gap; usage must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_cyclesPlanetary CyclesBRead-onlyIdempotentInspect
Find all conjunctions between two planets within a date range, defining the start of a new synodic cycle.
[Group: Calendar & Cycles] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planet1Id | Yes | ||
| planet2Id | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| conjunctions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful non-schema behavior: the cost (100 credits, Tier 4), which lets an agent budget. It says nothing about result volume, date-range limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded, followed by structured group and cost tags. Nothing is padded, though the bracket metadata is arguably presentation rather than description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and annotations cover the safety profile. The remaining gaps are the planet ID domain and any range/limit constraints, which are modest for a read-only query tool but still real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, and the two documented parameters (fields, precision) are the optional ones. The description compensates for the undocumented required parameters by conveying their meaning (two planets plus a date range), but it never explains what a planet ID actually is or its valid domain, which is the key ambiguity for the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find all conjunctions between two planets within a date range,' which tells an agent exactly what is computed. It adds the domain framing ('start of a new synodic cycle'), but it never distinguishes itself from close siblings such as astroway_calendar_aspects or astroway_aspects_aspect_timeline, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many calendar/aspect siblings. The phrase 'defining the start of a new synodic cycle' hints at the analytical intent but does not tell the agent when this tool is preferable to a generic aspect search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_hoursPlanetary HoursARead-onlyIdempotentInspect
Chaldean planetary hours for a date and place: 12 from sunrise to sunset and 12 from sunset to sunrise, so an hour is rarely 60 minutes. startHour and endHour are decimal local hours. Send atLocalHour (decimal local time, e.g. 15.2 for 15:12) to have the hour containing it marked isCurrent; without it no hour carries the field, because the answer is cacheable and a fla…
[Group: Calendar & Cycles] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| atLocalHour | No | Local time of day in decimal hours, e.g. 15.2 for 15:12. When sent, the hour containing it carries isCurrent: true and every other hour carries false. When omitted, no hour carries the field at all: it is not false, it is unasked. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| hours | No | |
| latitude | No | |
| sunTimes | No | |
| timezone | No | |
| dayOfWeek | No | |
| longitude | No | |
| dayRulerPlanetId | No | |
| dayRulerPlanetName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety load is largely carried. The description adds real behavioral context beyond that: the cacheable-result rationale for why isCurrent is omitted rather than false, and the note that hours are rarely 60 minutes long. It does not mention auth, rate limits, or credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by the structural detail and the parameter behavior. Sentences are dense but each carries information; the truncated trailing clause suggests the entry is tight rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover the safety profile. What remains — the purpose, the hour structure, and the isCurrent/atLocalHour contract — is all present, so an agent has what it needs to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, and the schema itself already documents atLocalHour, timezone, timezoneOffset, fields, and precision in detail. The description's atLocalHour explanation largely duplicates the schema, and startHour/endHour it references are outputs, not inputs, so net added parameter meaning is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource: 'Chaldean planetary hours for a date and place,' and even explains the 12+12 unequal-hour structure, so an agent immediately knows this is the planetary-hours calculator rather than a general calendar tool. It stops short of naming any sibling (e.g. moon_phase, hours vs. sun_times) to disambiguate within the dense calendar group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no routing to alternatives among the many calendar siblings. The only conditional logic explained is the internal atLocalHour toggle, which is about output shape, not about selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_planetary_phasesPlanetary PhasesBRead-onlyIdempotentInspect
Calculate the synodic phase of each planet relative to the Sun (new, crescent, first quarter, gibbous, full, disseminating, last quarter, balsamic).
[Group: Calendar & Cycles] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phases | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact not in the annotations — the 20-credit (Tier 2) cost — but says nothing about rate limits, whether results depend on the observer's location, or how the phase set is computed. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the operation, the scope ('each planet relative to the Sun'), and the full phase vocabulary, followed by compact group/cost metadata. Nothing is wasted, though the enumerated phase list could be trimmed since the output schema presumably carries the values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover safety. However, for a 15-parameter tool with only 33% schema coverage, the description omits why latitude/longitude are required for a planetary-phase calculation and how ayanamsa/zodiacType affect the result. Minimum viable, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, and schema description coverage is only 33% across 15 parameters. Several undocumented parameters (cosmogram, zodiacType, houseSystem) plausibly alter the computed phases, yet the description does not explain any of them. With coverage below 50%, the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Calculate the synodic phase of each planet relative to the Sun,' and enumerates the eight phase names so the agent knows exactly what output to expect. It is distinguishable from astroway_calendar_moon_phase by the phrase 'each planet,' but the description never names that sibling or otherwise explicitly differentiates itself from the surrounding calendar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. The only routing signal is the bracketed '[Group: Calendar & Cycles]' label, which is category metadata rather than usage guidance. An agent must infer from the tool name alone when this beats astroway_calendar_moon_phase or astroway_calendar_planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_calendar_retrograde_periodsRetrograde PeriodsBRead-onlyIdempotentInspect
Find all retrograde stations (direct, retrograde, stationary) for a planet within a date range.
[Group: Calendar & Cycles] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| planetIds | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds genuinely new context: the 50-credit Tier 3 cost and the Calendar & Cycles grouping, both useful for selection. It says nothing about output shape or the meaning of 'stations' beyond the three states, but the output schema covers returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single sentence followed by compact metadata lines for group and cost; nothing is bloated. It is efficient, though slightly terse given the parameter set it must cover.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations cover return values and safety, so the burden is reduced. What is missing is how to specify planetIds (opaque integer IDs with no description or enum) and no guidance for the date range, leaving an agent unsure how to construct a valid call for anything but default planets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%; planetIds and the two date params carry no schema descriptions. The description partially compensates by naming the planet concept and the date-range bound, mapping loosely to planetIds/startDate/endDate. It adds nothing about precision or fields, and gives no hint on planet ID enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: finding retrograde stations (direct/retrograde/stationary) for a planet over a date range. The scope is clear enough to distinguish from most siblings, but it never differentiates itself from near-neighbors like astroway_calendar_planetary_cycles or astroway_calendar_ingresses, which also return timed station/transition events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, no prerequisites. The description implies you supply a planet and a date range but never says when this tool is preferable to the other calendar tools that surface retrograde-adjacent events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_astroTranslate (astro-aware)ARead-onlyIdempotentInspect
Translate one text into any of 21 languages with astrology-domain glossary pinning. Source defaults to English; pass source_lang to override. Credits: 15 + ceil(chars/40). Max 3000 chars.
[Group: Content Localization] [Cost: 16 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| domain | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| source_lang | No | ||
| target_lang | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| chars | No | |
| domain | No | |
| credits | No | |
| provider | No | |
| translated | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely new behavioral facts: a concrete credit formula, a 3000-char ceiling, and glossary pinning as a translation behavior. No contradictions with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability, default, and limits front-loaded, followed by bracketed metadata. Minor redundancy between 'Credits: 15 + ceil(chars/40)' and '[Cost: 16 credits (Tier 1)]', but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and annotations carry the safety profile. Cost, limits, and the source default round out the picture; only the unexplained 'domain' parameter and the language-count mismatch keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate; it clarifies the source_lang default and the text length cap, which helps. However, the 'domain' parameter is never mentioned anywhere, and the stated '21 languages' does not match the 20-value enums for source_lang/target_lang, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Translate one text') and adds domain-scoping ('astrology-domain glossary pinning'), which is more than a restatement of the title. 'One text' implicitly separates it from astroway_content_localization_translate_batch, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a useful default rule ('Source defaults to English; pass source_lang to override'), but never says when to choose this over translate_batch (multiple texts) or translate_glossary_lang (glossary management). Usage is implied by 'one text' rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_batchTranslate batchARead-onlyIdempotentInspect
Translate up to 25 strings (≤2000 chars each, ≤20000 total) sharing one target language + domain. Credits: 15 + ceil(total_chars/40).
[Group: Content Localization] [Cost: 16 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| domain | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| source_lang | No | ||
| target_lang | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| chars | No | |
| count | No | |
| items | No | |
| domain | No | |
| credits | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: per-string and per-batch size limits plus an explicit cost formula (15 + ceil(total_chars/40)), which is exactly the kind of cost/rate information annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core constraints and cost in a single tight sentence; the group and cost tags are compact metadata lines. Every element earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. Still, for a 6-parameter tool the description omits source_lang entirely and gives no sibling routing, leaving notable gaps; it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (33%), so the description must compensate. It does add real meaning: items are bounded (≤25, ≤2000 chars, ≤20000 total) and must share one target language + domain. However, source_lang is never mentioned, and the compact-mode fields/precision parameters (only explained in the schema) sit oddly against a translation tool with no description-level context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Translate up to 25 strings') and adds precise scope limits (2000 chars each, 20000 total, one shared target language + domain). It is clear and self-contained, but never distinguishes itself from the sibling translate_astro / translate_glossary_lang / translate_languages tools, which an agent selecting among them would want.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance. The batch/shared-domain framing implies bulk use, but nothing tells the agent when to pick this over the astro or glossary translation siblings, or what the single-string alternative is. The constraints imply a use case but leave selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_glossary_langGlossary downloadBRead-onlyIdempotentInspect
Download the astrology glossary for a target language. Query: ?source= (default en), ?domain= (default generic). Free (0 credits).
[Group: Content Localization] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| lang | Yes | Target language code, one of the active locales. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| domain | No | |
| entries | No | |
| source_lang | No | |
| target_lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safe read profile is covered. The description adds cost behavior, but then contradicts itself: 'Free (0 credits)' followed by '[Cost: see your plan — endpoint not in the public credit manifest]', which leaves the agent unable to know whether this costs credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in one sentence, then the query defaults and cost. The group/cost metadata lines are boilerplate but short; nothing egregious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter coverage, return values need not be explained. However, the self-contradictory cost line and the absent guidance on how this glossary relates to the translate_* siblings leave gaps for a localization-family tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so lang, fields and precision are already well documented and baseline 3 applies. The description instead describes query parameters that do not exist in the schema (?source, ?domain), which adds marginal, mildly confusing context rather than clarifying the actual inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Download the astrology glossary for a target language' — an agent can tell this retrieves glossary content rather than translating astro text (translate_astro) or listing locales (translate_languages). It does not explicitly name the closest siblings, but the noun 'glossary' separates it adequately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the sibling translation/localization tools. It supplies default values for query options (source=en, domain=generic) and a cost note, but nothing about prerequisites or selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_content_localization_translate_languagesSupported languagesBRead-onlyIdempotentInspect
List the 21 supported language codes + names. Free (0 credits).
[Group: Content Localization] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| languages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's only added behavioral claim is cost ('Free (0 credits)'), but it is immediately followed by '[Cost: see your plan — endpoint not in the public credit manifest]', an internally inconsistent billing signal that an agent cannot resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short and front-loaded, but the two bracketed metadata footers are boilerplate that duplicate billing intent and contradict the 'Free (0 credits)' claim, adding noise rather than value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter lister with an output schema (so return values need not be explained), stating the count and payload shape plus the compact-mode availability is close to sufficient. Only the missing guidance on how this feeds the translate_* tools leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are generic compact-mode response shapers documented in the schema itself. The description adds nothing about them, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the 21 supported language codes + names') with a concrete count, so an agent knows exactly what comes back. It is distinguishable from the translate_* siblings by being a pure listing, though it never names those siblings to confirm the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and the obvious alternative use cases in the same Content Localization group (translate_astro, translate_batch, translate_glossary_lang) are never mentioned. The only usage-adjacent signal is 'Free (0 credits)', which is about billing, not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_cost_estimateCost EstimateARead-onlyIdempotentInspect
Estimate the credit cost of one or more endpoints WITHOUT invoking them. Returns total + per-endpoint breakdown with tier annotations. Useful when planning multi-step workflows: estimate first, ask user confirmation, then invoke. Cache TTL 5 min.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoints | Yes | Endpoint paths to estimate, e.g. ["/chart", "/synastry", "/reports/natal"]. Leading slash optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety bar is low; the description still adds real value by clarifying that endpoints are NOT invoked and that results are cached with a 5-minute TTL. It also discloses the return shape (total + per-endpoint breakdown with tier annotations), which is meaningful since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core capability and the non-invocation guarantee, followed by workflow guidance and the cache note. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains the return value, and the invocation-free and cache behaviors are covered. For a one-parameter, read-only estimator this is fully sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'endpoints' parameter is fully documented with examples and the leading-slash rule in the schema. The description only restates 'one or more endpoints' without adding format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Estimate the credit cost of one or more endpoints') and immediately pins the scope with 'WITHOUT invoking them', which no sibling tool does. An agent can distinguish this from the many invocation/report siblings at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit workflow guidance: 'estimate first, ask user confirmation, then invoke' for multi-step planning. This is clear when-to-use context, though it names no alternative tool or when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_almutenAlmuten FigurisBRead-onlyIdempotentInspect
Calculate the Almuten Figuris: the planet with the highest essential dignity score across the key chart positions.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chart | No | |
| almuten | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds the non-obvious cost context (20 credits, Tier 2), which is genuinely useful for planning, but says nothing about computation dependencies or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence defining the computation plus two compact metadata tags. No filler, no repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and inputs need no restatement. For a deterministic read-only computation this is close to sufficient; only the missing sibling differentiation keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including a rich description of the nested birth-data object, so the schema carries the parameter burden. The tool description adds no parameter meaning of its own, which is the baseline expectation here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Calculate') and resource ('Almuten Figuris') and defines the concept precisely as the planet with the highest essential dignity score across key chart positions. However, it does not distinguish itself from close siblings like astroway_dignities_essential_dignities or astroway_dignities_hyleg, which operate on overlapping dignity concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to choose this tool over its dignity siblings (essential_dignities, receptions, disposition_chains, hyleg), nor any prerequisites such as needing a full natal chart with houses. Only the group tag hints at domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_disposition_chainsDisposition ChainsBRead-onlyIdempotentInspect
Calculate planetary disposition chains: the recursive sequence of sign rulers leading to the final dispositor.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the dispositor mode (rulership or detriment) and the ruler set (classical or modern). | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| mode | No | |
| rulerMode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the cost tier ('20 credits (Tier 2)') and group, which is genuine value beyond structured fields, but says nothing about what the chain output looks like or any limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two compact metadata tags; nothing is wasted. It is arguably under-specified rather than over-long, but structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the core computation is stated. However, for a tool nested inside the dignities family with a layout variant sibling, the absence of routing guidance leaves the definition minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself richly documents body, mode/rulerMode, fields and precision. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate planetary disposition chains') and defines the concept ('the recursive sequence of sign rulers leading to the final dispositor'), which lets an agent distinguish it from siblings like almuten or essential_dignities. It stops short of naming or contrasting any sibling directly, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_dignities_disposition_chains_layout, which sounds like the closest sibling. The group tag hints at domain but gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_disposition_chains_layoutDisposition Chains LayoutARead-onlyIdempotentInspect
Return disposition chains with computed x/y layout coordinates for graph visualization.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the dispositor mode (rulership or detriment) and the ruler set (classical or modern). | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| mode | No | |
| bounds | No | |
| layout | No | |
| rulerMode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description adds a genuine behavioral fact beyond the schema: the 20-credit Tier 2 cost, which lets an agent budget calls. Output content (layout coordinates) is also noted, though the return shape itself is left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence captures purpose and differentiator, followed by compact group and cost tags. Every line earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining the return shape is not required, and the rich input schema covers the natal/mode parameters. What remains slightly thin is the relationship to the rendering tools and the non-layout sibling, but for a layout-variant tool this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the body, fields, and precision parameters thoroughly documented in the schema itself. The description adds nothing about parameters, so the baseline 3 for a fully-covered schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (disposition chains) plus the distinguishing feature: computed x/y layout coordinates for graph visualization. This implicitly separates it from the sibling astroway_dignities_disposition_chains, though it never names that sibling explicitly, so an agent must infer the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for graph visualization' hints at the use case, but there is no explicit when-to-use, when-not-to-use, or routing to the non-layout sibling. The agent has no guidance on why it would pick this variant over astroway_dignities_disposition_chains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_essential_dignitiesEssential DignitiesARead-onlyIdempotentInspect
Calculate the five Ptolemaic essential dignities (rulership, exaltation, triplicity, term, face) and debilities for each planet.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dignities | No | |
| totalScore | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds useful cost context (20 credits, Tier 2) but does not describe return behavior, authentication needs, or rate limits, and output schema covers results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence naming the calculation, followed by compact group and cost metadata. Every element earns its place, with no redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and the presence of an output schema, the description provides enough to understand the tool's output scope. The main missing element is usage guidance relative to other dignity tools, but the group label and precise calculation statement make it largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents the body, fields, and precision parameters thoroughly. The description adds no parameter-specific meaning beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Calculate'), resource ('essential dignities'), and the exact five Ptolemaic categories plus debilities. This clearly distinguishes it from sibling dignity tools such as almuten, disposition chains, hyleg, and receptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or comparison to alternative dignity tools. The [Group: Dignities & Receptions] label categorizes it but does not explain when an agent should choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_hylegHyleg & AlcocodenBRead-onlyIdempotentInspect
Calculate the Hyleg (apheta, giver of life) and Alcocoden (indicator of lifespan) using traditional Hellenistic method.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus the hyleg method and optional custom dignity tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hyleg | No | |
| alcocoden | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world behavior. The description adds genuinely useful non-schema context: the method tradition and the 20-credit Tier 2 cost, which lets an agent budget calls. It says nothing about dependencies on the body chart data or what the computation requires, so it is additive but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence carries the verb, resource and method, with the group and cost tags appended compactly. Front-loaded and waste-free, though the metadata lines add little beyond classification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the return values need no explanation, and the input schema is fully documented, so an agent can technically call it. The remaining gap is routing: nothing explains when hyleg/alcocoden analysis is the right dignity tool versus its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision in detail (including timezone handling and compact mode). The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and the exact resources (Hyleg/apheta, giver of life; Alcocoden, indicator of lifespan) plus the method (traditional Hellenistic). It is precise about what it computes, but never distinguishes itself from sibling dignity tools like astroway_dignities_almuten or astroway_dignities_essential_dignities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives are named. The [Group: Dignities & Receptions] and cost tags are metadata, not usage guidance. An agent has no signal for choosing this over almuten or disposition_chains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_dignities_receptionsMutual ReceptionsBRead-onlyIdempotentInspect
Find mutual receptions between planets: pairs where each planet is in a sign ruled, exalted, or in the dignity of the other.
[Group: Dignities & Receptions] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Natal chart plus optional custom terms and decans tables. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| mutual | No | |
| receptions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds the credit cost and tier, which is genuinely useful operational context absent from annotations, but says nothing about computation scope, planet set, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that defines the deliverable up front, followed by bracketed metadata for group and cost. Nothing is redundant and the operative definition is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover safety. The gap is the missing link between the tool and its required input: the agent is not told that a natal chart (date, time, latitude, longitude) must be supplied, nor how receptions rank against essential dignities output, which a sibling-heavy toolset makes non-obvious.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed natal-chart fields and compact-mode fields/precision, so the schema carries parameter meaning. The description adds no parameter information at all; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (find mutual receptions between planets) and then defines the concept operationally: pairs where each planet is in a sign ruled, exalted, or in the dignity of the other. An agent can tell what a result means. It does not, however, distinguish itself from nearby siblings such as astroway_dignities_essential_dignities or astroway_dignities_disposition_chains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over the other dignity tools, no prerequisites, and no exclusions. The only routing signal is the [Group: Dignities & Receptions] tag, which is a category label rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acgAstrocartography (A*C*G)CRead-onlyIdempotentInspect
Calculate ACG lines for all planets: the geodetic map lines where each planet was on an angle at birth.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld=false, and non-destructive, so the safety profile is covered. The description adds real value with the cost disclosure (50 credits, Tier 3), which matters for a metered tool, but says nothing about output shape or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus structured group/cost metadata; nothing is wasted. It is tight, though the brevity is partly what leaves the parameter story untold.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but a 15-parameter astrological calculation with 33% coverage and no guidance on sidereal vs tropical, ayanamsa selection, or date/timezone handling is under-specified for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fifteen parameters with only 33% schema description coverage, and the description mentions none of them. Critical choices such as zodiacType, ayanamsa, timezone vs timezoneOffset, and the compact-mode fields/precision have no guidance beyond terse schema text, and four required birth inputs are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (calculate A*C*G lines) and defines the concept (geodetic map lines where each planet was angular at birth). It is clearly the base ACG computation, but it never distinguishes itself from the many geo_acg_* siblings such as line_report, by_category, or best_places.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. With eight astroway_geo_acg_* siblings plus geo_geodetic, geo_relocation, and geo_local_space in the same family, an agent gets no help deciding when this raw calculation is preferable to the report/category/zone variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_best_placesBest places for a life categoryBRead-onlyIdempotentInspect
Rank cities against the astrocartography lines of a chart for one of the 19 life categories. Distance to a line is computed from the body hour angle and altitude rather than against a discretised polyline, so it is exact: the distance to a horizon line IS the altitude in degrees of arc, and a meridian line offset is the hour angle times cos(latitude). Supportive and challengin…
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data plus a life category. Birth coordinates are optional and unused for the ranking: astrocartography lines are a property of the birth moment, not of the birth place. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pool | No | |
| sort | No | |
| type | No | |
| count | No | |
| orbKm | No | |
| places | No | |
| dataset | No | |
| category | No | |
| attribution | No | |
| minSeparationKm | No | |
| suppressedAsTooClose | No | |
| maxPossibleSupportive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful algorithmic context by explaining that distance is computed exactly from hour angle and altitude rather than a discretised polyline, and that it ranks supportive versus challenging influences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, but the description then spends significant space on a technical formula and ends with a truncated phrase ('Supportive and challengin…'). It is not wasteful, but not tightly structured either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations, and full schema descriptions, the main missing piece is usage guidance relative to sibling tools. For a specialized ranking tool, the description is adequate but leaves routing decisions to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter already has documentation. The description mentions the 19 life categories and supportive/challenging ranking, but adds no syntax or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rank cities against the astrocartography lines of a chart for one of the 19 life categories.' That is clear and actionable, but it does not explicitly differentiate this tool from close siblings such as astroway_geo_acg_by_category or astroway_geo_acg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the name and sibling list whether this or another ACG endpoint is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_by_categoryA*C*G by Life CategoryBRead-onlyIdempotentInspect
ACG lines that govern one area of life, ranked by astrological weight and, when a point is supplied, by proximity to it. Returns curated interpretation text per line in 11 languages.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| lines | No | |
| point | No | |
| category | No | |
| language | No | |
| polarity | No | |
| radiusDeg | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the ranking logic, the curated-interpretation return, and the [Cost: 50 credits (Tier 3)] disclosure. It loses credit because it claims '11 languages' while the schema's language enum exposes 21, an internal inconsistency that could mislead an agent about coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences carry the core behavior, with the ranking rule front-loaded, followed by structured [Group] and [Cost] metadata lines that are easy to scan. Nothing is wasted, though the '11 languages' clause is inaccurate rather than merely brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return-value explanation is unnecessary. For a read-only geo tool sitting in a family of six similar astroway_geo_acg* tools, the description is adequate on behavior but incomplete on routing, which is the main thing an agent needs here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body schema already documents date/time/latitude/longitude, timezone handling, category, polarity, radiusDeg, and language in detail. The description's only parameter-adjacent contribution is the optional 'point' behavior for proximity ranking, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: A*C*G lines filtered to one life category, with a stated ranking rule (astrological weight, then proximity when a point is supplied). It does not, however, differentiate itself from close siblings such as astroway_geo_acg, astroway_geo_acg_categories, or astroway_geo_acg_line_report, so an agent cannot tell from the text alone which of the six geo_acg tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the conditional clause 'when a point is supplied, by proximity to it,' which hints that a location is optional but never states when to choose this tool over astroway_geo_acg or astroway_geo_acg_categories. There is no when-to-use, when-not-to-use, or prerequisite guidance, and the sibling list is crowded with near-duplicates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_categoriesA*C*G Life CategoriesARead-onlyIdempotentInspect
Reference taxonomy: 19 areas of life, each naming the planet-and-angle lines that govern it with a weight and a polarity. Free, cacheable, drives the two endpoints below.
[Group: Astro-Geography] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| language | No | |
| categories | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and openWorldHint=false, so the safety profile is covered. The description usefully adds that this call is free and cacheable and that it is a read-only reference rather than a computation, which is genuine value beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the substance (taxonomy, 19 areas, planet-and-angle lines), tail metadata kept short. Efficient, though the dangling "two endpoints below" reference and mixed bracketed tags add slight noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the tool has no required parameters. However, the description leaves the "two endpoints below" unreferenced and says nothing about how the taxonomy integrates with the category-based siblings, leaving an agent to bridge that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema fully documents both the fields projection syntax and the precision rounding, so baseline 3 is appropriate. The description adds nothing about fields or precision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource: a reference taxonomy of 19 life areas mapping planet-and-angle lines with weight and polarity. This clearly differentiates it as the static lookup table behind the ACG endpoints, distinct from computation tools like astroway_geo_acg or astroway_geo_acg_by_category. It falls short of a 5 only because it never names those endpoints explicitly ("the two endpoints below").
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Drives the two endpoints below" implies it is a lookup source rather than a computation, and "Free, cacheable" hints it is a cheap reference call, but no explicit when-to-use or when-not-to-use versus the ~15 astroway_geo_* siblings is given. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_countriesCountries available for rankingARead-onlyIdempotentInspect
Which countries the bundled city list can rank, and how many qualifying cities each has. Asking for a country with two cities and getting two results should not look like a bug.
[Group: Astro-Geography] [Cost: 5 credits (Tier ½)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| dataset | No | |
| countries | No | |
| attribution | No | |
| totalCities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and closed-world, so safety is covered. The description adds real value beyond that: it discloses the data source (bundled city list), the per-country city counts, and expectation-setting about sparse results, plus a cost tag. Return-format and pagination behavior are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with what it returns and followed by a caveat; the group and cost tags are short metadata. Nothing is wasted, though the second sentence is framed as reassurance rather than hard guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reference/lookup tool with an output schema, a full field-by-field explanation of return values is unnecessary. The description covers scope, source, and the sparse-result caveat, leaving only explicit routing guidance unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both params (fields, precision) are generic compact-mode controls unrelated to this tool's specific logic. The description adds no parameter meaning, so the baseline 3 for fully documented params applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the countries the bundled city list can rank) and what it returns (count of qualifying cities per country). It is a discovery/metadata tool, and an agent can distinguish it from ranking tools like astroway_geo_acg, though it never names a sibling to contrast with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'two cities and getting two results should not look like a bug' sentence implicitly signals this is a pre-flight sanity check before ranking, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. astroway_geo_acg_categories). Usage is inferred, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_line_reportA*C*G Line ReportARead-onlyIdempotentInspect
One line in full: its geometry, every life area it touches with weight and polarity, and the interpretation text for that planet-and-angle pair. Rising and setting curves arrive as several disjoint segments; all of them are returned.
[Group: Astro-Geography] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| line | No | |
| language | No | |
| categories | No | |
| interpretation | No | |
| requestedLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, idempotent, closed-world read, so the bar is lower; the description still adds two useful pieces of context: the 20-credit Tier 2 cost and the warning that rising/setting curves arrive as several disjoint segments that are all returned. What it does not cover is latency, result size, or whether an invalid planet/angle pair is rejected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and dense with signal, and the output-shape clause about disjoint segments earns its place. The bracketed Group/Cost tags are a house convention rather than prose waste, though they do dilute the front-loading slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, yet the description still characterizes the payload shape usefully. For a 3-parameter, single-line report tool it is nearly complete; the missing piece is routing context against the many geo_acg siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested birth-data object is heavily documented in the schema itself, so the schema does the heavy lifting. The description's phrase 'planet-and-angle pair' gestures at the two selector parameters but adds no syntax, accepted values, or defaults beyond what the schema already states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (a single A*C*G line) and enumerates exactly what comes back: geometry, life areas with weight and polarity, and the interpretation text for the planet-and-angle pair. It is clearly narrower in scope than sibling astroway_geo_acg, but it never names that sibling or states the relationship explicitly, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing tells the agent to pick this over astroway_geo_acg (the full map), astroway_geo_acg_by_category, or astroway_geo_acg_best_places, nor what precondition (e.g. a previously identified line) should trigger a call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_acg_zonesA*C*G Lines Near a PointARead-onlyIdempotentInspect
ACG lines passing within radiusDeg of one location, with the angular distance to each. The "what runs over this city" lookup.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| point | No | |
| radiusDeg | No | |
| nearbyLines | No |
TDQS
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 and determinism are covered structurally. The description adds the cost tier (50 credits, Tier 3), which is genuinely useful behavioral context not present in annotations, and describes the output as lines plus angular distance, but adds nothing on limits or radius semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: purpose first, then a memorable use-case tag, followed by compact group/cost metadata. No sentence is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the annotations plus a fully documented input schema carry most of the burden. What remains thin is the operational context around what counts as a line and how the radius filters results, but for a single-purpose geo lookup this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed inline documentation for body, fields and precision, so the baseline is 3. The description alludes to radiusDeg by name ('within radiusDeg') but adds no meaning beyond what the schema's min/max/default already convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource and scope: 'A*C*G lines passing within radiusDeg of one location, with the angular distance to each', which is a specific verb+resource rather than a restatement of the title. It stops short of distinguishing itself from the many geo_acg siblings (astroway_geo_acg, astroway_geo_acg_line_report, astroway_geo_acg_by_category), so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'The "what runs over this city" lookup' gives a clear situational framing for when the tool applies. However, it offers no when-not condition and never names an alternative sibling (e.g. the broader line report) that would be preferred for a different question, leaving the routing decision implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_ccg_analysisCCG AnalysisBRead-onlyIdempotentInspect
Analyse Cyclo-Carto-Graphy (CCG) lines: progressed ACG lines at a target date with mundane/local aspects and latitude crossings.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| mcShift | No | |
| mundaneAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behaviour, so the safety profile is covered. The description adds the group tag and the cost (100 credits, Tier 4), which is genuinely useful for an agent budgeting calls, but says nothing about output shape, size, or computation heaviness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence carrying the core scope, followed by two compact bracket tags for group and cost. No padding or restatement of the tool name, though the technical enumeration of aspects and crossings makes it slightly dense for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and the schema fully documents the input shape. However, for a niche progressed-lines technique with many astro-geography siblings, the definition lacks the situational context (progressed vs natal vs solar) an agent needs to route correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including rich notes on timezone, ayanamsa, houseSystem and the compact-mode fields/precision parameters. The description only echoes "target date" and adds no syntax or meaning beyond the schema, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Analyse") and a well-defined resource ("Cyclo-Carto-Graphy (CCG) lines"), then narrows the scope to "progressed A*C*G lines at a target date with mundane/local aspects and latitude crossings." The "progressed" qualifier implicitly separates it from natal or solar ACG tools, but no sibling is named, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick CCG analysis over the neighbouring astroway_geo_acg, astroway_geo_solar_acg, or astroway_geo_relocation tools, and no exclusions or prerequisites. The phrase "at a target date" only hints at temporal scoping; usage must be inferred from the technique name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_eclipse_analysisEclipse AnalysisBRead-onlyIdempotentInspect
Analyse the impact of upcoming eclipses on a natal chart: aspects to natal planets, house activations, and Saros series context.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eclipses | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds the credit cost (100 credits, Tier 4) and the analytical components (aspects, house activations, Saros series), but does not disclose prerequisites such as required natal birth data. With annotations covering the safety profile, this adds some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus two metadata lines; the purpose is front-loaded and every sentence earns its place. The cost line is relevant behavioral context, though the group line is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Purpose and output components are stated, and rich annotations plus a full output schema carry safety and return-value details. However, missing usage guidance and prerequisites (natal birth data required) leave a gap for correct tool selection in a crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the body, fields, and precision parameters are fully documented in the schema. The description mentions no parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Analyse', resource 'impact of upcoming eclipses on a natal chart', and scope items (aspects to natal planets, house activations, Saros series context) distinguish it from eclipse-listing (calendar_eclipses) and eclipse-path rendering (render_eclipse_path). No sibling tool is named, so it falls short of explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative tool guidance is provided. The description only states what the analysis contains, leaving the agent to infer context relative to astroway_calendar_eclipses or other geo tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_geodeticGeodetic EquivalentsCRead-onlyIdempotentInspect
Convert geographic coordinates to geodetic chart degrees (Sepharial method): each longitude maps to a zodiac degree on the Earth's surface.
[Group: Astro-Geography] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| method | No | sepharial | |
| latitude | Yes | ||
| longitude | Yes | ||
| obliquity | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| geodeticMC | No | |
| geodeticAscendant | No | |
| zodiacalLongitude | No |
TDQS
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 useful non-schema context: the credit cost (10 credits, Tier 1) and the conceptual mapping rule (each longitude maps to a zodiac degree on the Earth's surface). It does not mention determinism caveats or what the response contains, but with annotations present a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the conversion, with the technique named immediately; the metadata lines are short and clearly bracketed. No filler or repetition, though the bracketed tags are arguably separable metadata rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but for a 7-parameter conversion tool with 29% schema coverage the description omits the method alternatives, the role of obliquity/year, and any indication of when this is the right geo tool. It is materially under-specified for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% across 7 parameters, so the schema leaves latitude/longitude ranges, year, obliquity and method largely undocumented in prose. The description names only the 'Sepharial method' and never mentions the alternative 'johndro' enum value or what obliquity/year affect, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convert geographic coordinates to geodetic chart degrees') and names the technique (Sepharial), so the transformation is unambiguous. It does not differentiate itself from the many other geo siblings (geo_acg, geo_relocation, geo_zenith, geo_local_space), leaving the agent to 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this conversion versus other geo tools, nor any prerequisites. The bracketed group/cost lines are metadata, not usage guidance, so an agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_local_spaceLocal Space ChartBRead-onlyIdempotentInspect
Calculate local space chart: azimuth and altitude of each planet from a given geographic location at the birth moment.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| lines | No | |
| birthplace | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the scoping detail that the chart is anchored to the birth moment and discloses a cost tier (50 credits), which is genuine extra context, but says nothing about response shape or computation limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that front-load the core action and the output definition, plus bracketed metadata for group and cost. Every element is doing work, though the group/cost tag is boilerplate rather than tool-specific substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained. However, for a 15-parameter tool with low schema coverage, the definition is too thin on parameter behavior and sibling differentiation to be fully complete, even if it is adequate on the core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description carries a heavier burden to compensate. It adds no parameter meaning at all — nothing about required date/time/latitude/longitude, the sidereal option, house system, timezone handling, or the compact-mode fields/precision parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Calculate) and resource (local space chart), and defines the output precisely as azimuth and altitude of each planet from a geographic location at the birth moment. It does not, however, distinguish itself from the sibling astroway_geo_local_space_influence_zone or other geo tools, so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. With ~15 geo siblings (geo_acg, geo_relocation, geo_zenith, local_space_influence_zone), the description gives no hint about which geographic technique this is and when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_local_space_influence_zoneLocal Space Influence ZoneBRead-onlyIdempotentInspect
Calculate the local space influence zone lines for a chart relocated to a specific city: lines on the map showing planet directions from that location.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| azimuth | Yes | ||
| latitude | Yes | ||
| halfAngle | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| maxDistDeg | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| polygon | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful context beyond that: the group (Astro-Geography) and a cost of 50 credits (Tier 3), which helps an agent budget. It does not add deeper traits such as auth needs or rate limits, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words, and the bracketed group/cost tags are compact metadata. Slightly over-terse for the number of undocumented parameters, but structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover safety. However, four optional/required parameters (azimuth, halfAngle, maxDistDeg) are undefined anywhere, and there is no guidance on choosing this tool over its geo siblings, leaving real gaps for a 7-parameter cost-bearing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29%: only `fields` and `precision` are documented, while azimuth, latitude, longitude, halfAngle, and maxDistDeg have no descriptions. The description does not compensate, offering at most an indirect hint that latitude/longitude relate to 'a specific city' and nothing at all for azimuth, halfAngle, or maxDistDeg.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate') and resource ('local space influence zone lines'), plus a clarifying gloss ('lines on the map showing planet directions from that location'). This is clear enough to distinguish it from generic geo tools, but it does not explicitly contrast with the close sibling astroway_geo_local_space, leaving the agent to 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a chart relocated to a specific city' implies the scenario, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., astroway_geo_local_space vs astroway_geo_relocation). The agent must guess which geo tool applies to a given request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_paransParansBRead-onlyIdempotentInspect
Crossing points of two ACG lines: the places where two planets were simultaneously angular. Returns every planet-to-planet crossing with its coordinates.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| parans | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered by structured data. The description usefully adds the return shape ('every planet-to-planet crossing with its coordinates') and a cost figure (50 credits, Tier 3) that is not present in the annotations. It says nothing about latency, pagination, or how many crossings to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the definition and scope lead, and the return statement follows, with group/cost metadata appended compactly. Nothing is padded, though the second sentence restates part of the first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no further explanation, and the safety profile is carried by annotations. However, for a tool with 15 parameters and 33% schema coverage, the description leaves the agent without enough guidance on which inputs matter, which is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description supplies no parameter guidance at all — not for the four required inputs (date, time, latitude, longitude) nor for the many optional astrological switches (zodiacType, houseSystem, cosmogram). With a 15-parameter schema this is a significant uncompensated gap; an agent cannot tell which options actually affect paran output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete definition of the resource — 'crossing points of two A*C*G lines' where 'two planets were simultaneously angular' — and states the return content. The phrase 'planet-to-planet crossing' implicitly separates it from the sibling astroway_geo_parans_star, but that sibling is never named, so the differentiation requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus astroway_geo_acg, astroway_geo_acg_best_places, or astroway_geo_parans_star, and no prerequisites or exclusions are given. Usage is only implied by the '[Group: Astro-Geography]' tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_parans_starStar-planet parans (Brady)ARead-onlyIdempotentInspect
Latitudes where a fixed star and a planet are angular at the same moment, which is how Brady tabulates a paran: not a place, a latitude. Twelve event pairs per star and planet (rise, set, culminate, anticulminate, minus meridian against meridian, which is a shared right ascension rather than a paran). Each row carries the houses of the technique in plain form: which body does …
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth data for star-planet parans. Coordinates are not used: a paran is a latitude, and which latitudes exist depends on the moment, not on where the native was born. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gmst | No | |
| note | No | |
| type | No | |
| count | No | |
| stars | No | |
| parans | No | |
| horizon | No | |
| julianDay | No | |
| obliquity | No | |
| latitudeLimit | No | |
| starsWithNoParans | No | |
| requestedStarsNotFound | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuine domain context: what a paran is, that it is a latitude not a location, twelve event pairs, and the distinction that minus-meridian-against-meridian is a shared right ascension rather than a paran.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition before the technical elaboration. Some sentences are dense and philosophical ('not a place, a latitude'), but they earn their place by disambiguating the concept.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. The description adequately conveys the technique and its scope; the only gap is the absence of explicit sibling routing, which is minor against the otherwise complete conceptual framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields, and precision thoroughly. The description adds no parameter-level detail (syntax, defaults, units) beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes latitudes where a fixed star and a planet are angular at the same moment, and frames it as Brady's tabulation. This distinguishes the star-planet scope well, though it never names the sibling astroway_geo_parans to clarify which paran tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated. The phrase 'not a place, a latitude' implicitly separates this from place-based geo tools like astroway_geo_acg, but there is no explicit when-to-use, when-not, or named alternative for the agent to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_phase_returnPhase ReturnBRead-onlyIdempotentInspect
Find dates when a planet returns to its same synodic phase relative to the Sun (e.g. next Venus heliacal rising, next Mars retrograde station).
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| phase | No | |
| planet | No | |
| returns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description adds the cost tier (100 credits, Tier 4) and group, which is useful operational context, but says nothing about how far the year range can be searched, expected result volume, or whether a natal chart is required to anchor the phase.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus two structured metadata tags; no filler, no restatement of the title, and the core concept is delivered before the examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A rich input schema and an existing output schema carry most of the burden, so return values need no explanation. What remains unaddressed is the semantic link between the supplied birth data and the computed synodic phase, and how this differs from the sibling planetary-phases and retrograde-period tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents body, fields, and precision in detail. The description adds no parameter meaning beyond that baseline and notably never explains that the required 'body' is a full natal chart (date, time, latitude, longitude) plus a startYear/endYear search window, which is non-obvious for a date-finding tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find dates when a planet returns to its same synodic phase relative to the Sun', and the two examples (next Venus heliacal rising, next Mars retrograde station) make the abstract concept concrete. However, it does not differentiate itself from several near-identical siblings such as astroway_calendar_planetary_phases, astroway_calendar_planetary_cycles, and astroway_calendar_retrograde_periods, leaving genuine ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no when-not-to-use, and no named alternative, despite a crowded sibling space of phase/cycle/retrograde calendar tools. The examples imply the use case but give no routing guidance for an agent choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_relocationRelocation ChartARead-onlyIdempotentInspect
Recalculate a natal chart for a new geographic location (same birth moment, different lat/lng). Returns new houses and planet house positions.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Wrapper { natal: ChartInput } used by endpoints that take a base natal plus extra parameters in flat fields. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| delta | No | |
| natal | No | |
| relocated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds two genuinely new behavioral facts: the charged cost tier (50 credits) and what changes in the result ('new houses and planet house positions'). It omits any error/failure behavior, which keeps it off 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with zero waste: the operation, then the return. The group and cost tags are compact metadata rather than prose padding. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't enumerate return values, and annotations cover safety. What it does, its cost and its core output are all present. The remaining gap is peer differentiation within the crowded astro-geography family, which the description never addresses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents body/natal, fields and precision on its own. The description adds no parameter-level meaning beyond what the schema already provides, which matches the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Recalculate a natal chart for a new geographic location') and pins the exact concept with '(same birth moment, different lat/lng)'. This distinguishes the relocation chart from transit/return charts, though it never names a sibling geo tool (e.g. astroway_geo_local_space or astroway_geo_geodetic) to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the parenthetical: use it when you want the same birth moment relocated. There is no explicit when-to-use versus when-not, and no routing to the adjacent geo tools that also transform location data. Adequate but leaves the agent to infer the selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_solar_acgSolar A*C*GARead-onlyIdempotentInspect
Astrocartography for the solar return of a given year: the ACG map of the moment the Sun comes back to its natal longitude. Planet names carry an SR suffix.
[Group: Astro-Geography] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| lines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorldHint=false, so the safety profile is covered. The description adds a genuinely useful output convention ('planet names carry an SR suffix') and the cost tier, but says nothing about latency, response shape, or the year-based scoping behavior beyond the one clause.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first clause, followed by the definitional detail and the SR-suffix note. The [Group] and [Cost] tags are boilerplate metadata but earn their place by surfacing billing tier. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and annotations carry the safety profile. Combined with a 100%-documented schema, the description is sufficient for correct invocation, though it could do more to route the agent among the many A*C*G siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the rich body schema already documents date/time/latitude/longitude, timezone handling, house system letters and the compact-mode fields/precision params. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: astrocartography computed for the solar return of a given year, defined as the moment the Sun returns to its natal longitude. This distinguishes it conceptually from the natal A*C*G sibling (astroway_geo_acg) and the return family, though it never names the sibling it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'for the solar return of a given year' – an agent can infer it should be used when an SR-based map is wanted rather than a natal one. But there is no explicit when-to-use/when-not-to-use guidance and no alternative tool is named despite many close geo siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_geo_zenithZenithCRead-onlyIdempotentInspect
Find all geographic locations where a given planet is exactly at the zenith (MC) at the birth moment.
[Group: Astro-Geography] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| points | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the group and 50-credit cost, but it does not explain return behavior, output format, or any auth/rate-limit context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loads the core purpose in one sentence, followed by structured group and cost tags. It avoids waste, though the extreme brevity leaves important call details unstated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter astro-geography tool with an output schema, the description is far too sparse. It does not explain the required birth-moment inputs, the missing planet selection, or how to interpret the geography results, and it fails to help an agent invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description must compensate but does not. It mentions a 'given planet' without mapping to any schema parameter, and it omits required fields such as date, time, latitude, and longitude, leaving parameter semantics almost entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find all geographic locations where a given planet is exactly at the zenith (MC) at the birth moment.' It is clearly about astro-geography, but it does not differentiate this from many sibling geo_* tools, and it refers to a 'given planet' even though no planet parameter exists in the input schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the many astroway_geo_* siblings. The only contextual notes are the group tag and credit cost, which do not explain use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_compatibilityCompatibility HoroscopeBRead-onlyIdempotentInspect
Generate a relationship horoscope based on synastry between two charts: strengths, friction points, and themes for the next 30 days.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| sign1 | Yes | ||
| sign2 | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| summary | No | |
| language | No | |
| strengths | No | |
| challenges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint, so safety is covered. The description usefully adds the shape of the result and the '[Cost: 50 credits (Tier 3)]' charge, but says nothing about auth, rate limits, or response size behavior. Adequate-but-thin against annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence covering purpose and outputs, followed by compact group/cost metadata. No filler, though the bracketed metadata lines are boilerplate rather than description content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described. However, with 6 parameters, low schema coverage, and no usage guidance, the description leaves an agent guessing about language/disclaimer_inline and about when this tool beats its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: language and disclaimer_inline have no descriptions, and sign1/sign2 are bare enums. The phrase 'between two charts' loosely implies the two required sign parameters but adds no format, default, or interaction detail to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Generate a relationship horoscope based on synastry between two charts', with concrete outputs named (strengths, friction points, 30-day themes). The two-chart synastry scope implicitly distinguishes it from the single-sign time-period siblings (daily/monthly/weekly/yearly), but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, no prerequisites, and no routing to alternatives such as astroway_render_composite or astroway_horoscope_daily for period-based readings. Usage is only inferable from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_dailyDaily HoroscopeBRead-onlyIdempotentInspect
Generate a daily horoscope by zodiac sign, grounded in real ephemeris data (current Moon phase, transits). Multi-language. AI-written, not pre-generated content.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| horoscope | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world), and the description adds genuinely useful context beyond them: AI-written (not pre-generated), grounded in current Moon phase/transits, multi-language, and a 50-credit cost. These are behavioral traits an agent benefits from knowing before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear purpose sentence, followed by two brief supporting clauses and cost/group tags. Appropriately sized with no wasted prose, though the bracketed metadata adds minor clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and annotations cover safety. However, for a 6-parameter tool with low schema coverage, the description omits parameter-level guidance and any routing versus the horoscope siblings, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (date, sign, language, disclaimer_inline are undocumented), so the description carries more of the burden. It only alludes to the language parameter via 'Multi-language' and says nothing about date, precision, fields, or disclaimer_inline, leaving the coverage gap unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate') and resource ('daily horoscope') scoped by zodiac sign. The 'daily' cadence implicitly contrasts with siblings like weekly/monthly/yearly, but the description never names or explicitly differentiates itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternatives guidance. It describes what the tool is ('grounded in real ephemeris data', 'AI-written') but never tells the agent when to pick this over astroway_horoscope_weekly, _monthly, or _yearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_monthlyMonthly HoroscopeBRead-onlyIdempotentInspect
Generate a monthly horoscope with major transits, Moon phases, and personal-year themes (profections-aware).
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| language | No | |
| horoscope | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new context: the output composition (transits/Moon phases/profections) and the cost tier (50 credits, Tier 3), which matters for budget-sensitive planning. It does not mention auth or latency, keeping it from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence front-loads the deliverable and its components, followed only by compact group/cost metadata. No filler, nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and the cost/group tags help. But with 33% parameter coverage and zero guidance on choosing this over the other horoscope cadences, an agent still lacks enough to call it confidently in ambiguous cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 6 parameters, so the description is expected to compensate — it does not. It says nothing about 'date' (which drives the month), 'sign', 'language', or 'disclaimer_inline', leaving the only parameter hints to the schema's own 'fields' and 'precision' descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate a monthly horoscope') and enumerates the deliverable contents (major transits, Moon phases, personal-year themes, profections-aware). The 'monthly' scope implicitly separates it from astroway_horoscope_daily/weekly/yearly, but no sibling is named explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no routing to the daily, weekly, yearly, or compatibility siblings. The agent must infer the monthly cadence from the name alone; nothing tells it when this tool beats the neighboring horoscope tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_weeklyWeekly HoroscopeBRead-onlyIdempotentInspect
Generate a weekly horoscope (7-day window) with key transit events and themes. AI-written, ephemeris-grounded.
[Group: Horoscope] [Cost: 50 credits (Tier 3)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | No | |
| title | No | |
| weekEnd | No | |
| language | No | |
| weekStart | No | |
| keyTransits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely new behavioral context: the output is AI-written rather than purely computed, it is ephemeris-grounded, and it explicitly discloses a 50-credit Tier 3 cost that appears nowhere in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core purpose front-loaded, followed by compact group/cost metadata. Nothing is padded, though the bracketed metadata is administrative rather than agent-facing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and the generation intent is clear. However, for a 6-parameter tool with mostly undocumented optional parameters (language, fields, precision, disclaimer_inline), the description leaves an agent without enough context to drive those options correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (date, sign, language and disclaimer_inline have no schema descriptions), so the description was expected to compensate and does not — it never mentions language, fields, precision, or date semantics. The two documented params are covered only by the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate a weekly horoscope') and pins the scope with '(7-day window)', which implicitly separates it from the daily/monthly/yearly siblings. It stops short of naming those alternatives explicitly, so differentiation relies on the agent noticing the time-window wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over astroway_horoscope_daily, _monthly, or _yearly, and no prerequisites or exclusions. Usage is only implied by the word 'weekly'; the agent must infer the selection rule from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_horoscope_yearlyYearly HoroscopeBRead-onlyIdempotentInspect
Generate a year-ahead horoscope (12-month window) with major transit cycles, solar return chart context, and time-lord (profection) for the year.
[Group: Horoscope] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sign | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| disclaimer_inline | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | No | |
| year | No | |
| title | No | |
| language | No | |
| solarReturn | No | |
| profectionLord | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond annotations: the cost (100 credits, Tier 4) and the group membership. It does not mention auth requirements or any rate/consumption caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the core purpose, followed by structured group/cost tags. Nothing is padded. Slightly more could have been done with the available space given the tool's parameter surface, but there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. For a read-only, annotated tool the safety profile is covered, but with 6 parameters at 33% schema coverage and no usage routing, the definition leaves the agent to infer too much about argument selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (6 params, only fields and precision documented). The description adds no parameter meaning at all, so it fails to compensate for the undocumented date, sign, language, and disclaimer_inline parameters. It neither clarifies defaults nor explains the compact-mode interaction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Generate) plus resource (year-ahead horoscope) with an explicit scope qualifier, the 12-month window, which inherently separates it from the daily/weekly/monthly siblings. It also enumerates content (transit cycles, solar return context, profection). It stops short of naming a sibling, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. An agent choosing between astroway_horoscope_yearly, _monthly, _weekly, and _daily gets no routing rule; the 12-month window is inferable from the name but the description does not state a selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_agent_debateMCP Agent DebateCRead-onlyIdempotentInspect
2 personas debate a topic, multi-round transcript.
[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth 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. | |
| topic | Yes | ||
| agentA | Yes | ||
| agentB | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| rounds | No | ||
| language | No | en | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| transcript | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent and non-destructive behaviour, so the safety bar is low. The description adds genuinely useful operational facts the annotations do not carry: the tool is an MCP Advanced feature costing 100 credits (Tier 4). It still says nothing about how rounds affect runtime or output, or whether chart context is mandatory for a meaningful debate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the core purpose followed by group and cost metadata; there is no filler or repetition. The brevity is somewhat a result of under-specification rather than disciplined editing, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool: 8 parameters, a nested chart object with detailed validation rules, and an output schema. The description covers none of that complexity and omits the astrological framing entirely, leaving an agent to infer from the schema alone what inputs matter. Output format is covered by the output schema, so that omission is acceptable, but the rest is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38% and several parameters (topic, agentA, agentB, rounds, language) carry no schema description, so the description is expected to compensate — and it does not, adding no parameter meaning whatsoever. 'multi-round' only obliquely hints at the rounds parameter, and nothing explains what agentA/agentB strings should contain or how chart is consumed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and output ('2 personas debate a topic, multi-round transcript'), so an agent knows this produces a debate transcript rather than a single answer. However, it never differentiates itself from near-neighbours like astroway_mcp_ai_chat or astroway_mcp_multi_agent_coordinate, and it omits that the debate is anchored to an astrological chart, which the schema makes clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no statement of what situation calls for a two-persona debate over a single-shot chat, no prerequisites, and no mention of alternatives. The only extra text is group and cost metadata, which is billing context rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_agent_pool_statusMCP Agent Pool StatusCRead-onlyIdempotentInspect
8 personas with specialties.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | No | |
| personas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely new context by disclosing a 10-credit Tier 1 cost, but omits what the status payload represents or whether it reflects live pool state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the one substantive fact, but the first sentence is a dangling fragment rather than a complete statement of purpose, and the bracket tags read as metadata padding rather than description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover safety, so the description's remaining burden is small. It is still thin on what 'pool status' reports and when it should be invoked, leaving a minor gap for a zero-required-parameter status tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both optional compaction parameters (fields, precision) are thoroughly documented in the schema with examples. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '8 personas with specialties' is a noun fragment that hints at the returned content but never states what the tool does or what 'pool status' means. It does not distinguish this from siblings like astroway_agent_tools or astroway_mcp_tools_list, which also concern agent/persona inventory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many sibling agent/tools-listing tools, and no prerequisites or exclusions. The only guidance offered is the cost tag '[Cost: 10 credits (Tier 1)]', which helps budget decisions but says nothing about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_chatChart-grounded AI chatARead-onlyInspect
Chat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign. Carries up to 10 turns of history, replies in 21 languages, and takes four voices through persona. Send your own provider key and the turn costs 5 credits instead of the endpoint price.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| history | No | ||
| message | Yes | ||
| persona | No | astrologer | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| reply | No | |
| tokens | No | |
| persona | No | |
| language | No | |
| disclaimer | No | |
| duration_ms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, non-destructive, openWorld, non-idempotent), and the description usefully adds context beyond that: a 10-turn history cap, 21 supported languages, four persona voices, and a cost behavior where sending your own provider key drops the turn to 5 credits. It stops short of describing failure modes or what the chart object must contain to succeed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core differentiator ('answered from the positions we computed') before secondary facts about history, languages, and pricing. The trailing group/cost tags are metadata rather than prose, so there is minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the description covers the AI-behavioral surface (grounding, history, language, persona, cost). For a 7-parameter tool with nested objects and low schema coverage, it could say more about the chart input contract, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, so the description should compensate, and it partly does by explaining history (10 turns), language (21), and persona (four voices). However, it says nothing about the required `message`, the complex nested `chart`, or the compact-mode `fields`/`precision` parameters, leaving those to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — a chat grounded in computed chart positions rather than the model's sun-sign memory — which is clearly distinguishable from report-generation siblings. It does not explicitly name an alternative among the many AI siblings (explain_aspect, explain_transit, comparison_coach), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool is but never says when to reach for it versus the other AI siblings or the narrative-report tools. No prerequisites or selection conditions are given; the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_comparison_coachComparison CoachCRead-onlyInspect
Coach two charts on relationship dynamics.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart1 | Yes | Birth 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. | |
| chart2 | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | uk | |
| question | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coaching | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare a safe read-only, non-destructive, open-world operation. The description adds useful cost context (100 credits, Tier 4) and group membership, but does not disclose rate limits, auth requirements, or what the AI coach actually returns. With annotations covering safety, this partial extra context merits a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with cost and group metadata placed clearly after the core sentence. It wastes no words, although it is arguably too sparse for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with nested chart objects and multiple AI/synastry siblings, the description is far too thin. The output schema covers return values, but the description does not explain what 'coaching' entails or when to select this tool over alternatives, leaving a substantial contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description adds no parameter-level meaning beyond the schema. It says 'two charts' but does not clarify the role of the required question field, language, precision, or fields parameters, nor does it help compensate for the less-documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (two charts) and domain (relationship dynamics), but the verb 'Coach' is vague about what the tool actually produces. It does not distinguish this from sibling reports like astroway_reports_ai_synastry_narrative, leaving an agent unsure whether this is an interactive coaching session, a report, or something else.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description does not mention when this tool should be chosen over similar two-chart tools such as synastry reports or multi-chart context, nor are any preconditions or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_explain_aspectExplain AspectCRead-onlyInspect
Detailed explanation of an aspect between two planets.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| planet1 | Yes | ||
| planet2 | Yes | ||
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| aspectType | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| explanation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description's only added behavioral fact is the cost (100 credits, Tier 4), which is genuinely useful for an agent budgeting calls, but nothing is said about latency, auth, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the terseness here reflects under-specification rather than efficient communication. The metadata lines consume half the length without adding invocation help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no prose, but the description leaves key input questions open: how planets must be named, which chart object is required for a natal calculation, and what the aspectType enum means in context. For a 7-parameter tool with a nested birth-data object, this is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, and the undescribed parameters include the three required ones (planet1, planet2, aspectType). The phrase 'between two planets' loosely implies planet1/planet2 but gives no naming convention or accepted values, and aspectType, language, fields and precision get nothing despite the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: an explanation of an aspect between two planets. An agent can tell what it does, though it never contrasts itself with the sibling astroway_mcp_ai_explain_transit, which is the nearest alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as explain_transit or the report tools. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_ai_explain_transitExplain TransitCRead-onlyInspect
Explain a current transit hitting your natal chart.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| aspectType | Yes | ||
| natalPlanet | Yes | ||
| transitDate | Yes | ||
| transitPlanet | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| explanation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, openWorldHint=true and idempotentHint=false. The description adds genuinely useful operational context by disclosing the cost (100 credits, Tier 4) and the AI grouping, which helps an agent budget. It does not explain the non-idempotent nature of an AI-generated explanation or any latency/rate behavior, so it adds some but not rich value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence carries the core purpose, with the group and cost tags kept as structured metadata rather than prose. It is tight and waste-free, though its brevity edges into under-specification rather than model conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with a nested chart object and five required fields, the description omits routing guidance against several plausible siblings and says nothing about the transit inputs. The presence of an output schema excuses it from describing return values, but the selection and input story is still incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 38% and the five required parameters (chart, transitDate, transitPlanet, natalPlanet, aspectType) carry no schema descriptions at all. The description only obliquely implies a transit/natal pairing and says nothing about expected values or formats for those required fields, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Explain' applied to 'a current transit hitting your natal chart.' An agent can tell what the tool produces. It stops short of distinguishing itself from close siblings such as astroway_mcp_ai_explain_aspect or astroway_reports_ai_transit_narrative, so it is clear but not sibling-differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or named alternative. The sentence implies the context (a transit to your natal chart) but gives no condition that would route an agent here instead of the aspect explainer or the transit narrative report. This matches the 'no guidance' band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_multi_agent_coordinateMCP Multi-Agent CoordinateCRead-onlyIdempotentInspect
Run N personas in parallel + LLM synthesis.
[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth 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. | |
| agents | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | en | |
| question | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| synthesis | No | |
| individual | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description only needs to add context. It does add parallel execution and a 100-credit Tier 4 cost, which is useful. However, it omits latency implications from LLM synthesis, auth requirements, and any detail about valid agent choices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loads the core action before the group and cost tags. No sentence is wasted, though the brevity reflects under-specification rather than thorough contextual completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with a nested chart object, six parameters, required agent and question fields, and many sibling tools. The description explains almost none of that beyond a two-line summary and cost, leaving significant gaps even though an output schema exists for return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the description adds no parameter-level meaning for question, agents, chart, fields, language, or precision. In particular, the required 'agents' array and its 2-4 item constraint, as well as how 'chart' relates to the question, are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a high-level verb and resource ('Run N personas in parallel + LLM synthesis') but does not define what a persona is, what is being coordinated, or how this differs from siblings such as astroway_mcp_agent_debate. The [Group] and [Cost] tags are metadata rather than purpose clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The closest sibling, astroway_mcp_agent_debate, is not mentioned, and the cost tier alone does not tell an agent when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_multi_chart_contextMCP Multi-Chart ContextCRead-onlyInspect
Compact context for MCP agents working across multiple charts.
[Group: AI & MCP] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| charts | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| intent | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| intent | No | |
| summaries | No | |
| chartCount | No | |
| contextHash | No | |
| summaryString | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered elsewhere. The description adds only the cost tag (10 credits, Tier 1); it says nothing about batch limits, what the compact response excludes, or the idempotentHint=false implication that repeated calls may vary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence plus metadata tags are front-loaded and free of padding, so it is structurally clean. However, the brevity here is under-specification rather than conciseness: the sentence carries almost no callable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but for a tool with an enum-driven intent, a compact-mode fields selector and a 6-item batch cap, the description omits nearly everything an agent needs to choose and configure it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description is expected to compensate — and it does not. The compact-mode controls (fields, precision) and the intent enum are never mentioned in the description, leaving the agent to discover their meaning entirely from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Compact context for MCP agents working across multiple charts" restates the tool name (multi-chart context) without a concrete verb or resource for what is actually produced. It never says it computes natal chart data for multiple subjects, nor does it distinguish this tool from sibling report/chart tools like astroway_reports_natal or astroway_reports_synastry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the implied "working across multiple charts," from which an agent might infer batch multi-subject use. There is no explicit when-to-use, no exclusions, and no mention of when a single-chart or report sibling is preferable, despite ~40 alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_rag_searchMCP RAG SearchCRead-onlyIdempotentInspect
Keyword-tag scoring over chart chunks.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| topK | No | ||
| chart | Yes | Birth 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. | |
| query | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| total | No | |
| tokens | No | |
| matches | No | |
| results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent, closed-world, non-destructive operation. The description adds cost and group context, which is useful, but does not disclose any operational behavior such as result format, ranking details, or rate-limit implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is very short and front-loads the core phrase before the bracketed metadata. There is no wasted prose, though the concision contributes to the broader underspecification problem rather than being a structural flaw itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes five parameters including a nested chart object, exists among many siblings, and has an output schema. Despite that complexity, the description does not explain selection criteria, query semantics, or how this differs from report-generation tools, leaving it materially incomplete for agent routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is moderate at 60%, and the description adds no parameter meaning at all. It does not clarify what 'query' should contain, how 'topK' affects results, or how 'chart' is used, so key semantics remain dependent on the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Keyword-tag scoring over chart chunks,' which reveals the mechanism and resource type, but it never states the core action as a verb such as 'search' and does not distinguish this tool from the many sibling retrieval/report tools. An agent can infer it is a retrieval tool, but the purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives to consider. It only supplies group and cost metadata, leaving the agent with no routing signal among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_streamingMCP Streaming ChatBRead-onlyInspect
Server-Sent Events streaming chat completion with optional chart context.
[Group: AI & MCP] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| chart | No | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| message | Yes | ||
| language | No | uk | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world, non-idempotent). The description adds two genuinely useful behavioral facts beyond them: the response arrives as Server-Sent Events, and each call costs 100 credits (Tier 4). It says nothing about auth requirements, rate limits, or what the stream events look like, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that states the core capability, followed by two bracketed metadata tags. Very tight, though the group/cost tags sit after the payload rather than being folded in naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with a nested birth-chart object, no output schema, and only 60% schema description coverage, the definition is thin. It does not describe the streamed response shape, streaming lifecycle, or the required message parameter, and gives no guidance on how chart context should be formed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% and the nested chart object carries extensive inline documentation that the description does not repeat. The 'optional chart context' phrase confirms the chart parameter exists but adds no semantics for message, language, fields, or precision, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: an SSE streaming chat completion, with the chart-context option noted. It is clearer than a bare 'chat', but it never distinguishes itself from sibling astroway_mcp_ai_chat (presumably the non-streaming counterpart) or astroway_mcp_tool_call_stream, so the agent must guess which chat entry point to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The description notes that chart context is optional but never says when you should supply it or how it changes the answer, and it never mentions the sibling chat tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_tool_call_streamMCP Tool-Call StreamCRead-onlyIdempotentInspect
SSE-stream of a tool call envelope.
[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| tool | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| language | No | en | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description does add one genuinely useful behavioral fact not in annotations: the 10-credit Tier 1 cost. However, for a streaming tool it says nothing about stream termination, error semantics, or partial delivery, which is the behavior an agent most needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the core statement is front-loaded, so nothing is wasted. But the two bracketed metadata lines are boilerplate and the resulting length is too thin for the tool's complexity, so brevity here reads as under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters (including a nested arbitrary 'args' object), no output schema, and an opaque streaming return, the definition is far too thin: it never explains what the streamed envelope contains, how the stream ends, or how 'args' maps to the target tool. An agent must guess at most of the call contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: 'tool' (the sole required parameter) and 'args' carry no description, and 'language' has only an enum. The description supplies zero parameter guidance, so it fails to compensate for the coverage gap on a 5-parameter tool with a nested free-form object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It pairs a specific verb ('SSE-stream') with a resource ('tool call envelope'), which is more than a tautology, but 'tool call envelope' is unexplained jargon and the definition does nothing to separate it from close siblings like astroway_mcp_streaming or astroway_mcp_tools_list. An agent cannot tell from this text which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or what alternative exists for the same need. The only context is the group/cost tag, which tells the agent a price but not a use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_mcp_tools_listMCP Tools ListCRead-onlyInspect
Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).
[Group: AI & MCP] [Cost: see your plan — endpoint not in the public credit manifest]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| spec | No | |
| notes | No | |
| tools | No | |
| server | No | |
| toolCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds a spec version and notes that cost is not in the public credit manifest, which is useful behavioral context. However, it does not explain what the manifest contains, how it is scoped, or any other operational behavior beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads its main claim about being an auto-generated manifest. The bracketed group and cost lines add metadata without excessive verbosity. It is efficient, though the bracket metadata is only marginally useful for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and parameters do not need explanation in the description. However, the description remains thin on purpose and usage guidance, making it only minimally complete for an agent deciding whether to call this tool. The low complexity of the tool keeps it from being inadequate, but notable gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields and precision) are already fully documented in the schema. The description adds no parameter-level meaning beyond what is in the input schema. With complete schema coverage and no additional description detail, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it is an auto-generated tool manifest for MCP clients, which identifies the general resource but uses no action verb and does not explicitly state that it lists available MCP tools. It also does not distinguish this tool from nearby siblings such as astroway_agent_tools or the MCP-related tools. Purpose is therefore implied rather than clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context is the phrase 'for MCP clients,' which implies an audience but gives no guidance on when to call this tool versus alternatives. It does not mention prerequisites, exclusions, or sibling tools. This is the same level as a definition that provides only an implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_reference_natal_textsNatal texts (static)ARead-onlyIdempotentInspect
Edited interpretation texts for a chart, no AI at request time. keys is a comma list of up to 64: sun.aries (planet in sign, also chiron, ascendant), moon.h4 (planet in house), sun_moon.trine (major aspect between two of Sun..Pluto). lang is required; a text that does not exist in that language is listed in missing, never replaced by another language. Planet in…
[Group: Reference] [Cost: 10 credits (Tier 1)]
Keys with no text in the requested lang come back listed in missing, not in texts. Do not invent, translate or guess a replacement body for a key that comes back in missing; report it as unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Comma list of up to 64 distinct keys: `<body>.<sign>` (planet in sign, also `chiron`, `ascendant`), `<body>.h<1-12>` (planet in house), `<body>_<body>.<aspect>` (conjunction, sextile, square, trine, opposition between two of Sun..Pluto). | |
| lang | Yes | Language of the texts. No fallback: a text missing in this language is listed in `missing`. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lang | No | |
| texts | No | |
| missing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's key contribution is behavioral: no cross-language fallback, missing keys surface in `missing` rather than `texts`, and a direct instruction not to invent/translate replacements. This is real context beyond the structured fields, though it does not cover cost tiers or batching limits in the description body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and key grammar are front-loaded, which is good, but the text is marred by a truncated fragment ('Planet in…') and by stating the `missing`-vs-`texts` behavior twice (once inline, once in the trailing paragraph). The redundancy consumes space without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. For a four-parameter tool the description covers the required params, their formats, and the important edge case of unavailable texts, leaving only the compact-mode params (covered by the schema) undocumented in prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the full key grammar and enum for `lang`, so the schema already carries the parameter semantics. The description restates the key examples rather than extending them, which meets the baseline but adds no new meaning; `fields` and `precision` appear only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Edited interpretation texts for a chart') and adds a genuine differentiator: 'no AI at request time,' which separates it from AI-driven siblings like astroway_mcp_ai_explain_aspect. It does not name a specific sibling to contrast against, but the static/AI distinction lets an agent route it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the static, deterministic nature of the texts vs. AI tools is gestured at, and the `missing` semantics are explained, but there is no explicit when-to-use/when-not framework or named alternative. The agent can infer intent but must reason about it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_aspect_gridAspect Grid (SVG)BRead-onlyIdempotentInspect
Triangular aspect matrix: rows × columns = planets, each cell shows aspect glyph + orb. Standard textbook layout.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the credit cost and tier, which is genuine value beyond annotations, but it omits the behavioral distinction that passing a pre-computed chart costs 1 credit instead of 10.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the output shape, plus a compact cost tag. Nothing is wasted, though the [Group: Visualization] tag is largely redundant with the name prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and annotations cover safety. However, for a tool whose schema offers two very different input paths with different costs, the description says nothing about either, leaving the agent to discover the cheaper chart-replay route only by reading the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the schema itself is extremely detailed (birth-data vs chart union, labels, theme, format, precision). The description adds no parameter meaning at all, so it sits at the baseline for a partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific rendered artifact: a triangular aspect matrix where rows/columns are planets and each cell carries an aspect glyph plus orb, with a 'standard textbook layout' note. This is clear enough to separate it from siblings like astroway_aspects_aspect_bar or astroway_render_wheel_western, though it never explicitly says it produces an SVG (that is left to the title).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternative among the many sibling render/aspect tools. The only contextual signal is the cost tag (10 credits), which helps an agent budget but not choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_biorhythmBiorhythm (SVG)CRead-onlyIdempotentInspect
Three-curve sine plot of physical (23d), emotional (28d), and intellectual (33d) cycles since birth.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| rangeEnd | Yes | ||
| birthDate | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeStart | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds useful domain context (which cycles and their period lengths) and cost, but omits behaviorally relevant facts such as the output format defaulting to JSON rather than SVG despite the 'SVG' title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight content sentence with the cycle definitions front-loaded, followed by compact group/cost metadata. Nothing is wasted, though the metadata tags add little decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but for a rendering tool with six parameters and a JSON-by-default format the description is materially incomplete: it never explains that the default output is JSON, how the date range is interpreted, or what the options object controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across six parameters. The description only indirectly hints at birthDate via 'since birth' and says nothing about rangeStart/rangeEnd, the format enum, theme/css recolouring, fields projection, or precision, so it fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete output (a three-curve sine plot) and specifies the three cycles and their periods (23d/28d/33d), so an agent knows exactly what artifact it produces. It does not, however, distinguish itself from the many other astroway_render_* siblings, which is left to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives among the render family, and no stated prerequisites. The only routing signal is the implicit cost tier tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_bi_wheelBi-Wheel (SVG)CRead-onlyIdempotentInspect
Two concentric wheels: inner natal + outer ring with transit (or progression) planets. Standard bi-wheel layout.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the cost tier (10 credits, Tier 1), which is useful, but omits the significant behavioral fact that the body accepts either raw birth data or two precomputed charts (the latter at 1 credit), a distinction the schema alone carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus bracketed metadata, with the layout description front-loaded and no filler. The metadata tags are terse and scannable, though they carry cost/group rather than task-relevant guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with two distinct input modes, a cost difference between them, and a format option defaulting to json despite the 'Bi-Wheel (SVG)' title. The description says none of this, so an agent reading only the description could easily send the wrong body shape or expect SVG output by default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is a middling 67%, and the description contributes nothing about the three top-level parameters (body, fields, precision) or the dual-mode body union. It neither explains the birth-data vs precomputed-chart choice nor mentions compact mode, leaving the schema to do all the work with a real gap remaining.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Two concentric wheels: inner natal + outer ring with transit (or progression) planets') and identifies the layout convention. It does not, however, differentiate itself from close siblings such as astroway_render_tri_wheel, astroway_render_composite, or astroway_render_wheel_western, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(or progression)' hints at the comparison being drawn, but there is no statement of when to pick this over tri-wheel, composite, or a single western wheel, and no prerequisites or exclusions. An agent gets no routing guidance from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_compositeComposite Chart (SVG)BRead-onlyIdempotentInspect
Composite-chart wheel from two natal inputs. Computes midpoint composite then renders as Western wheel.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Pair of natal charts for relationship calculations: synastry, composite, davison. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10, Tier 1) and group tag, which is genuinely useful pre-call context, but says nothing about the surprising json default when the title advertises SVG.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose front-loaded, with cost/group metadata clearly bracketed at the end. No wasted prose, though the bracket tags sit slightly awkwardly inside a description field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and cost is disclosed. However, for a rendering tool with a large nested options object the description never resolves the json-vs-svg default tension implied by the SVG title, nor routes the agent among the many sibling render tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested chart1/chart2 and options fields are already documented in the schema. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: computes a midpoint composite from two natal inputs and renders it as a Western wheel. This is clear enough to separate it from siblings like astroway_render_bi_wheel or astroway_horoscope_compatibility, but it never names those alternatives explicitly, so the differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The schema mentions synastry/composite/davison as a family, yet the description does not say when a composite is the right choice versus a synastry or davison chart, nor when to prefer astroway_render_wheel_western for a single chart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_cosmogramCosmogram: Hamburg School 90° dial (SVG)CRead-onlyIdempotentInspect
Cosmobiology 90° dial. Plots planets at (longitude mod 90)° across 4 quadrants, Cardinal/Fixed/Mutable repeated.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds no behavioral context beyond the geometry — nothing about the SVG/JSON output, theming, size limits, or credit consumption beyond the bracketed cost tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler, followed by compact group/cost metadata tags. Nothing is wasted, though the extreme brevity is part of the guidance gap rather than a virtue in itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is exhaustively documented, so return values and parameters need no prose. However, for a render tool sitting among thirteen sibling renderers with a large options surface, the description does not supply the selection or usage context an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the deeply documented body, options, fields and precision parameters already carry all meaning. The description contributes nothing about any parameter, including the fact that output is JSON by default rather than SVG despite the title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Plots') and a well-defined resource ('Cosmobiology 90° dial'), then explains the distinguishing mechanic — longitudes reduced mod 90 and Cardinal/Fixed/Mutable repeated across four quadrants. That is enough to tell it apart from a plain Western wheel, though it never names or contrasts a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to pick this renderer over the other dozen astroway_render_* tools, no mention of when a cosmogram is the appropriate visualization, and no note on choosing format=svg vs json. The reader is left to infer everything from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_eclipse_pathEclipse Path Map (SVG)BRead-onlyIdempotentInspect
Equirectangular world graticule with caller-supplied eclipse track. Renders centerline + shaded band of given degree-width.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| title | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| bandWidthDeg | No | ||
| centerlinePoints | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds useful rendering context (equirectangular graticule, centerline plus shaded band of a given degree width) and a cost note, but says nothing about output format behavior beyond that, e.g. that json is the default format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus metadata tags; the rendering substance (projection, centerline, band width) is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 7 parameters, nested objects, and only 29% schema coverage, the description leaves major gaps: the relationship between the required `path` and optional `centerlinePoints`, item count limits (min 2 / max 500), and the visual/style controls. An output schema exists so return values need not be explained, but input-side completeness is still weak.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% on a 7-parameter tool. The description clarifies the intent of the band width and the notion of a supplied track, but it never explains the distinction between `path` and `centerlinePoints` (both lat/long arrays), nor the size/width/height/theme/format render options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: renders an equirectangular world map with centerline and a shaded band, which is a distinct rendering output versus computing siblings like astroway_geo_eclipse_analysis. It does not explicitly name or rule out those siblings, but the rendering scope is clear from the wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'caller-supplied eclipse track' implies the caller must already have the track data rather than computing it, but there is no explicit when-to-use, when-not-to-use, or pointer to the sibling that produces eclipse tracks (e.g. astroway_calendar_eclipses or astroway_geo_eclipse_analysis). An agent has to infer the precondition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_moon_phaseMoon Phase (SVG)BRead-onlyIdempotentInspect
Render the moon disk with its illuminated fraction at the given moment. Returns SVG plus illumination metrics.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| phase | No | |
| waxing | No | |
| elongationDeg | No | |
| illuminationFraction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond them: the output includes illumination metrics alongside the SVG, and the call costs 10 credits (Tier 1). It does not, however, mention the format/theme/size switch behavior that matters for a render tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences covering what is rendered and what is returned, followed by terse metadata tags. Nothing is padded or repetitive, though the metadata lines contribute no semantic guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Search is not needed: the description is complete for its scope. An output schema exists, so return values need not be detailed, and the description still notes SVG plus illumination metrics. The only true gap is sibling disambiguation, which is minor given the distinct 'render' namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including rich prose on timezone, coordinates, house system and the css theme, so the schema carries the parameter burden. The description only echoes 'at the given moment', adding nothing about date/time, precision, or fields beyond what the schema documents. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (the moon disk with its illuminated fraction) scoped to a moment in time. This is clear enough to distinguish it from most render siblings, but it never addresses the obvious near-neighbor astroway_calendar_moon_phase, which also deals with moon phase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_calendar_moon_phase for raw phase data versus this tool for a visual disk. The only usage-adjacent signal is the bracketed cost and group tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_star_mapStar Map (SVG)CRead-onlyIdempotentInspect
Stereographic projection of caller-supplied points (RA/Dec). Handles brightness magnitude scaling and labels.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| points | Yes | ||
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| zenithDecDeg | No | ||
| capAltitudeDeg | No | ||
| observerLatDeg | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety profile needs no restating; the description adds useful non-annotation context in the form of the 10-credit Tier 1 cost and the magnitude-scaling/label behavior. However, it omits a behavioral trap: the tool is titled SVG but the schema default format is json, and nothing here warns the agent to pass format explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus bracketed group/cost tags, with the core capability front-loaded. No filler or repetition; the only mild overhead is the boilerplate metadata lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but for an 8-parameter tool with a nested options object and projection geometry, the description leaves most inputs unexplained. The 25% schema coverage is not offset, leaving an agent without enough grounding to use the projection and rendering options correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 8 parameters, so the description is expected to compensate and largely does not. It hints at points (raDeg/decDeg), magnitude and name/labels, but says nothing about the projection parameters (observerLatDeg, zenithDecDeg, capAltitudeDeg), precision, fields, or the nested options block (size, theme, showAspects, showRetrograde).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific rendering capability — a stereographic projection of caller-supplied RA/Dec points with magnitude scaling and labels — which clearly separates it from the chart-driven siblings (render_wheel_western, render_bi_wheel, etc.) that take computed chart data. The SVG output itself is only implied by the title, not the description, so it is not a flawless 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the many other render_* siblings, no prerequisites, and no exclusions. The only non-purpose text is the group/cost metadata, which does not help an agent decide whether this or render_cosmogram, render_wheel_western, or render_aspect_grid is correct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_timelineTimeline (SVG)CRead-onlyIdempotentInspect
Gantt-style horizontal timeline of transit/aspect events over a date window. Caller supplies events array.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| options | No | ||
| rangeEnd | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| rangeStart | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the credit cost and that events are caller-supplied, but it does not disclose important behavior such as the default output format being json despite the SVG title, the 200-event cap, or the theme/css recolouring behavior; with annotations present, this partial coverage is a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences state the output and the key input requirement, followed by compact group/cost metadata. There is no padding or repetition, though the brevity leaves the structured gaps to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six top-level parameters, nested event objects, options with many fields, and only 33% schema description coverage, the description is not complete enough: it omits the output-format default, event structure, compact-mode fields/precision behavior, and option effects. The existence of an output schema removes the need to explain return values, but the input-side context is materially thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description mentions only the events array, leaving rangeStart, rangeEnd, fields, options, and precision unexplained. It also adds no syntax or shape detail for event objects beyond the schema's required label/start/end, so it does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output: a Gantt-style horizontal timeline of transit/aspect events over a date window, and says the caller supplies the events array. It is clearly a rendering tool rather than data computation, but it does not name the sibling data tool astroway_aspects_aspect_timeline or otherwise distinguish itself from the many other astroway_render_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides only the input prerequisite that the caller supplies events; it gives no when-to-use guidance, no when-not-to-use guidance, and no alternative for obtaining the event data. The Visualization group label implies a rendering context but does not route the agent between this and astroway_aspects_aspect_timeline or other render tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_tri_wheelTri-Wheel (SVG)BRead-onlyIdempotentInspect
Three concentric wheels: natal + progressed + transit. Used for advanced forecasting visuals.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| natal | Yes | Birth 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. | |
| outer | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| middle | Yes | Birth 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. | |
| options | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1), which is genuine operational context, but says nothing about what the rendering produces or how the three chart roles interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus group/cost tags, front-loaded with the visual layout. Nothing is wasted, though the brevity leaves meaningful gaps rather than being an ideal size for a 6-parameter render tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, but for a tool with three nested chart objects, an options block (format svg/json, theme, labels) and a compact-mode fields/precision pair, the description omits how the three wheels are configured and what options do; it is minimum viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline would be 3, but the description adds real meaning: the nested schema descriptions label natal, middle and outer identically as "Birth data for a single natal chart", so "natal + progressed + transit" is the only place that tells the agent middle=progressed and outer=transit, mapping the roles in order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource (render a tri-wheel) and describes its structure: three concentric wheels of natal, progressed and transit data. This is clear enough to distinguish a 3-ring wheel from the 2-ring bi_wheel sibling, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Used for advanced forecasting visuals" is the only usage cue. There is no statement of when to choose this over astroway_render_bi_wheel, astroway_render_composite, or astroway_render_wheel_western, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_eastVedic Wheel: East Indian (SVG)CRead-onlyIdempotentInspect
East Indian (Bengali) layout: square with diagonals + inner rotated square forming 12 sectors.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered outside the description. The description adds genuinely useful context in the cost/group tags (10 credits, Tier 1) and the layout style, but says nothing about output format control, size limits, or that rendering is deterministic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded lines with no filler; the layout description comes first and metadata tags second. It is efficient, though the tags are boilerplate rather than tool-specific insight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and the schema carries parameter detail. What is missing is the one thing the description should supply given the dense sibling set: how this wheel differs operationally from the north/south Indian variants and when to pick it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the rich nested birth-data schema documents body, fields and precision in detail. The description contributes no parameter-level information at all, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (East Indian/Bengali Vedic wheel layout, square with diagonals and rotated inner square) but never states the action verb — it never says it renders/produces an SVG chart. Combined with the name and title a reader can infer it, but the description alone describes a layout rather than an operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the obvious alternatives, astroway_render_wheel_vedic_north and astroway_render_wheel_vedic_south. An agent choosing between the three Vedic wheel styles gets the layout description but no explicit routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_northVedic Wheel: North Indian (SVG)BRead-onlyIdempotentInspect
North Indian diamond chart layout: 12 fixed positions, signs rotate per ascendant. Standard BPHS rendering.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the rendering convention (BPHS, fixed North Indian layout) and the 10-credit cost, which is useful operational context but does not disclose return format, SVG-vs-JSON default behavior, or other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is two front-loaded sentences followed by compact metadata tags. It is appropriately sized for a rendering tool and contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema, annotations, and output schema carry most of the burden, and the description identifies the chart style. However, in a catalog with multiple Vedic wheel variants, the absence of selection guidance leaves a meaningful gap for an agent choosing among siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the three top-level parameters are already richly documented in the schema. The description adds no parameter syntax, defaults, or constraints beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific chart layout (North Indian diamond chart) and its structural rule (12 fixed positions, signs rotate per ascendant), plus the BPHS standard. That is enough to distinguish it from at least the South Indian and Western wheel siblings, but it stops short of explicitly naming those alternatives or stating the rendering action as a verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this wheel over astroway_render_wheel_vedic_east, astroway_render_wheel_vedic_south, or astroway_render_wheel_western. The group and cost labels give operational context but do not tell the agent when this tool is the right selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_vedic_southVedic Wheel: South Indian (SVG)BRead-onlyIdempotentInspect
South Indian 4×4 grid layout (Pisces top-left, signs fixed). House numbers placed where lagna sign falls.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Birth 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. | |
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world. The description adds the cost tier (10 credits) and the fact it produces an SVG image, plus layout semantics. It doesn't mention the default output format (json per schema) or size/theme defaults, so there is some uncovered behavioral surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus grouped metadata lines. The layout constraint is front-loaded and nothing is wasted; slightly terse rather than bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a rendering tool with a full input schema, output schema, and read-only annotations, the essential call mechanics are covered elsewhere. However, the description omits key decision context: which chart the wheel is drawn for (natal data flows from body), how it differs from the East/North variants, and the default format being json rather than SVG despite the title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, fields and precision in detail. The description adds nothing parameter-specific, which is the correct baseline given the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (render) and resource (Vedic wheel, South Indian 4×4 grid), and describes the layout detail (Pisces top-left, signs fixed, house numbers where lagna falls). This clearly distinguishes it from the two sibling variants astroway_render_wheel_vedic_east and astroway_render_wheel_vedic_north, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this South Indian layout versus the East/North Indian siblings or the Western wheel. The layout convention is described but no routing guidance is given, leaving an agent to infer the choice from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_render_wheel_westernWestern Wheel (SVG)BRead-onlyIdempotentInspect
Render a Western natal wheel as SVG: signs ring, houses ring, planets, aspect lines. Pure server-side, no browser needed.
[Group: Visualization] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | No | |
| format | No | |
| byteLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so credit is due for the additions: server-side rendering with no browser and a 10-credit Tier 1 cost. However, it omits notable behaviors such as the two input modes with different costs (birth data at 10 credits vs. a pre-computed chart object at 1 credit) and the fact that 'format' defaults to json rather than the SVG the description advertises.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler, plus compact Group and Cost tags that are genuinely useful metadata. Everything present earns its place, though it is arguably too terse for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations relieve the description of return-format and safety disclosure, and it does state what is drawn and that rendering is server-side. It is nonetheless thin for a tool whose body supports two structurally different input modes (birth data vs. a pre-existing chart) that the description never hints at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes zero information about any of the three parameters, despite schema description coverage sitting at only 67%. It neither clarifies the body/fields/precision roles nor compensates for the undocumented third of the schema, so the schema carries the entire burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Render) and resource (a Western natal wheel as SVG) plus the concrete content it draws: signs ring, houses ring, planets, aspect lines. The 'Western' qualifier implicitly separates it from the Vedic wheel siblings, but it never names or contrasts against other Western renderers such as bi_wheel, tri_wheel, or composite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives, even though the sibling list contains several closely competing renderers (bi_wheel, tri_wheel, composite, cosmogram, aspect_grid). 'Pure server-side, no browser needed' is an environment note, not a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_chartNatal ChartARead-onlyIdempotentInspect
Calculate a full natal chart: planets, house cusps, aspects, sect, and angular data for a given birth moment. When the birth time is unknown, send timeUnknown: true instead of time and the response carries planets and aspects with houses, angles and sect set to null, plus a timeUnknown block giving the range the Moon covers that day. With ?lang= the response adds localized: pl…
[Group: Core] [Cost: 20 credits (Tier 2)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | No | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timeUnknown | No | ||
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| input | No | |
| houses | No | |
| aspects | No | |
| planets | No | |
| antiscia | No | |
| chartSect | No | |
| julianDay | No | |
| localized | No | |
| houseAspects | No | |
| siderealTime | No | |
| antisciaAspects | No | |
| parallelAspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral detail beyond them: the exact degradation when time is missing (houses, angles, sect set to null) plus a timeUnknown block reporting the Moon's range for the day, and the ?lang= localization effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then the single most important edge case, with no filler. The text is visibly truncated mid-sentence ('adds localized: pl…'), which prevents judging whether the tail is as economical as the head.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 re-explained, and the description does cover the key null-time branch. But for a 16-parameter astrological tool at 31% schema coverage, the many unexplained configuration parameters (house system codes, zodiac type, sidereal school, cosmogram, compact fields/precision interplay) leave real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31%, so the description needs to compensate and only partly does: it explains timeUnknown and lang, while parameters like zodiacType, houseSystem, cosmogram, city, name, ayanamsaId and the enum codes receive no explanation in either place. The schema does carry decent prose for fields, ayanamsa, timezone, precision and timezoneOffset, which supports a baseline 3 but no higher.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate a full natal chart') and enumerates exactly what is produced (planets, house cusps, aspects, sect, angular data), so the agent knows the payload without opening the schema. It does not, however, differentiate itself from close siblings such as astroway_western_planets or astroway_western_ephemeris, which keeps it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use branch: when the birth time is unknown, send timeUnknown: true instead of time, with a clear statement of the resulting response shape. It provides no guidance on choosing this tool over the other natal/ephemeris siblings or on when each house system or zodiac type applies, so it stops short of explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_ephemerisEphemeris RangeBRead-onlyIdempotentInspect
Return planet positions for a date range with configurable step (min 0.01 days). Max range: 1 year for sub-day steps, 5 years otherwise. Optionally filter by planetIds.
[Group: Core] [Cost: 100 credits (Tier 4)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| endDate | Yes | ||
| stepDays | No | ||
| planetIds | No | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ephemeris | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent profile, so the bar is lower. The description adds genuinely useful operational limits not present in structured data: minimum step of 0.01 days and the range caps (1 year for sub-day steps, 5 years otherwise). The stated cost tier further informs budget-conscious callers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences that lead with purpose before the operational constraints, with no filler. The group/cost tags are compact metadata rather than prose padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and the key behavioral constraints are covered. But routing ambiguity against the many sibling ephemeris/chart tools and the undocumented date format leave gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description is expected to compensate. It adds meaning for stepDays ('configurable step, min 0.01 days') and planetIds ('optionally filter by planetIds'), but stays silent on the date format and stepDays' default/units, leaving the sparse schema to carry the rest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return planet positions for a date range') with the configurable step, which is clearly distinguishable from a single-moment tool. However, it never contrasts itself with close siblings like astroway_western_planets or the calendar ephemeris tools, leaving the agent to infer which one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides constraints (max range, optional planetIds filter) but no explicit when-to-use guidance or named alternatives. An agent cannot tell from this text when to reach for the ephemeris range versus astroway_western_planets or astroway_calendar_planetary_cycles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_planetsPlanet PositionsARead-onlyIdempotentInspect
Calculate raw planet longitudes for a given date/time without full chart context (no houses, no aspects).
[Group: Core] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| ayanamsa | No | Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| cosmogram | No | ||
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| ayanamsaId | No | ||
| zodiacType | No | ||
| houseSystem | No | P | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| planets | No |
TDQS
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 value beyond them by disclosing cost ('10 credits (Tier 1)') and the Group: Core classification, which matters for budgeting. It does not discuss rate limits, caching, or determinism, so it falls 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence plus two bracketed metadata tags, with the core purpose and the scope exclusion front-loaded. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations carry the safety profile. Still, for a 15-parameter tool the description says nothing about how zodiacType/ayanamsa change the returned longitudes or what houseSystem does, leaving real gaps for an agent assembling a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, while schema description coverage is only 33% across 15 parameters. Although the schema documents the trickiest inputs (timezone, timezoneOffset, ayanamsa, fields, precision), others such as houseSystem's single-letter enum, zodiacType, and cosmogram are undocumented anywhere, and the description does nothing to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate raw planet longitudes') plus the input context ('for a given date/time'), and scopes it by what it excludes ('without full chart context (no houses, no aspects)'). That exclusion implicitly separates it from astroway_western_chart, so an agent can pick between the two without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this is the right call: a lightweight longitude-only computation for a date/time. It never names an alternative tool or states a hard when-not rule, so the agent must infer that houses/aspects needs route elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_western_sun_timesSun TimesARead-onlyIdempotentInspect
Calculate sunrise, sunset, twilight times, and day length for a given date and geographic location.
[Group: Core] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| latitude | Yes | ||
| timezone | No | IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known. | |
| longitude | Yes | ||
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. | |
| timezoneOffset | No | Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dawn | No | |
| dusk | No | |
| sunset | No | |
| sunrise | No | |
| dayLength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful cost metadata (10 credits, Tier 1) and group context, but does not disclose timezone defaults, coordinate conventions, or other operational behavior beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states exactly what is calculated and for what inputs, followed by only compact metadata tags. Every element is purposeful and there is no redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and annotations cover the safety profile. The description is sufficient for selection and invocation, though it does not mention timezone behavior or coordinate conventions that the schema handles in detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%; the four optional parameters have detailed schema descriptions, while the three required ones lack schema descriptions. The description compensates conceptually by naming date and 'geographic location,' but adds no format, range, or unit detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Calculate,' and names exact resources: sunrise, sunset, twilight times, and day length, scoped to a date and geographic location. This uniquely distinguishes it from other astrological sibling tools, which cover charts, calendars, horoscopes, and renderings rather than solar time events for a location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no exclusions, and no alternatives to compare against. The phrase 'for a given date and geographic location' supplies context but not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_aquariusAquarius: Fixed AirCRead-onlyIdempotentInspect
Communal innovation, futurist detachment. Saturn + Uranus. I KNOW.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds genuinely useful operational context in the metadata blocks — cost of 10 credits at Tier 1 and the tool group — which an agent needs before spending credits, but it says nothing about response size, caching, or what content depth 'deep' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the three cryptic fragments and 'I KNOW' consume space without conveying actionable information, while the structured cost/group lines carry the real payload. Nothing is bloated, but little of the prose earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, but the description never tells an agent what this tool produces (sign essay, interpretation text, data) or when to call it. For a content tool whose only purpose is the payload it returns, that omission leaves the definition inadequate for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('fields' and 'precision') carry detailed descriptions with examples, so the schema does the heavy lifting. The description adds no parameter guidance at all, which is acceptable at this coverage level but earns no credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description offers evocative keywords for the Aquarius archetype ('Communal innovation, futurist detachment. Saturn + Uranus. I KNOW.') but never states what the tool does or returns. It reads as content about the sign, not a statement of a verb+resource, and it does not distinguish this tool from the eleven sibling per-sign tools beyond the sign name already in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling per-sign tools, and no indication of prerequisites or context in which an agent should pick Aquarius over another sign. Only the bracketed group label implies a category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_ariesAries: Cardinal FireCRead-onlyIdempotentInspect
Pioneering will, raw initiation. Ruler Mars. I AM signature.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and non-openWorld, so the safety profile is covered. The description usefully adds the cost dimension ('10 credits (Tier 1)'), which is genuine behavioral context an agent needs for budgeting, but it says nothing about what content is returned or any rate/auth considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and free of padding, but it front-loads thematic flavor text rather than function, and the only operationally useful elements (group, cost) are tucked into trailing brackets. Brevity is good; information ordering serves the agent poorly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full parameter coverage, return format and argument details are legitimately omitted. However, for a content-retrieval tool the description never says what the tool actually delivers or how it differs from its eleven siblings, leaving the core selection question unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two optional parameters (fields, precision), both fully documented in the schema itself. The description adds no parameter-level information, so the baseline 3 applies — the schema carries the semantics entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's main sentence ('Pioneering will, raw initiation. Ruler Mars. I AM signature.') describes the astrological character of Aries rather than what the tool does or returns. It never states a verb+resource such as 'returns deep per-sign content for Aries.' Only the name, title, and bracketed group label identify the function, making this close to a thematic restatement rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives. The '[Group: Zodiac Signs (Per-Sign Deep)]' tag situates it in a family but does not explain when an agent should pick this over the other eleven sign tools or the general western chart tools. Nothing states what input, if any, this content tool expects or when it is appropriate to spend the 10 credits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_cancerCancer: Cardinal WaterCRead-onlyIdempotentInspect
Protective nurture, tidal memory. Ruler Moon. I FEEL.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered structurally. The description adds a genuinely useful behavioral fact, the 10-credit Tier 1 cost, but says nothing about output size, content depth, or what 'deep' means relative to other sign tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, which is good, but the leading poetic line carries no functional information and the only useful content is the Group/Cost tag block. Front-loading favors atmosphere over the detail an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full parameter coverage mean return-value detail is not required, but a paid content tool should still explain what depth of Cancer material it produces and how it differs from siblings. That framing is absent, leaving the agent to guess from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (fields, precision) are compact-mode controls fully documented in the schema. The description contributes nothing about them, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states an action verb or what the tool returns; it is a poetic restatement of Cancer's traits ('Protective nurture, tidal memory. Ruler Moon. I FEEL.'). The bracketed '[Group: Zodiac Signs (Per-Sign Deep)]' tag is the only element that hints at the resource class, so an agent can infer the shape of the output but the tool's actual function is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the eleven sibling per-sign tools or versus broader chart tools such as astroway_western_chart. The only actionable context is the cost line, which tells price but not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_capricornCapricorn: Cardinal EarthCRead-onlyIdempotentInspect
Disciplined mastery, long-view structure. Ruler Saturn. I USE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so safety is covered. Beyond that the description adds genuinely useful operational context: cost (10 credits, Tier 1) and group membership. It does not describe return behavior, but an output schema exists, so this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the cost/group metadata is cleanly bracketed, but the leading flavor sentence consumes the front-loaded position without telling an agent what the tool produces. Size is fine; the content mix is not optimized for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations, a full input schema, and an output schema cover most of the agent's needs, and cost is disclosed. Still, the description never says what the 'deep' per-sign output actually contains, leaving a gap for a content-retrieval tool whose value proposition is unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (fields, precision) are fully documented in the schema, so the baseline is 3. The description adds nothing about the compact-mode fields/precision options, but it is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The body is flavor prose about the sign ('Disciplined mastery, long-view structure. Ruler Saturn. I USE.') rather than a statement of what the tool does or returns. Only the bracketed '[Group: Zodiac Signs (Per-Sign Deep)]' tag hints at the function, so the description essentially restates the name/title theme instead of giving a verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not, or alternative guidance. The 11 sibling per-sign tools make sign selection fairly self-evident, but the description never says to pick this over another sign tool or when this deep profile is warranted versus lighter horoscope tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_geminiGemini: Mutable AirCRead-onlyIdempotentInspect
Curious connection, plural perspectives. Ruler Mercury. I THINK.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful cost context ('10 credits (Tier 1)') and a group label, but does not describe other behavioral traits such as output characteristics or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the first sentence is poetic filler that does not help tool selection, and the functional metadata (group and cost) is relegated to tags below it. It is under-specified rather than concisely informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema and annotations, the description does not clarify what this per-sign deep Gemini tool provides or how it differs from the many sibling zodiac-sign tools. Cost and group tags are present, but purpose and selection context are substantially missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema fully documents both optional parameters. The description adds no parameter meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives poetic Gemini traits ('Curious connection, plural perspectives. Ruler Mercury. I THINK.') but no action verb or resource statement. It identifies the sign indirectly and tags a group, yet does not say what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no named alternatives among the many sibling sign tools. The cost tier and group tag give minor context but do not tell an agent when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_leoLeo: Fixed FireCRead-onlyIdempotentInspect
Radiant generosity, theatrical authority. Ruler Sun. I WILL.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the credit cost (10 credits, Tier 1) and group membership, which is useful behavioral context, but it does not describe output content or any other operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and the tag structure is efficient, but the opening sentence is poetic rather than front-loaded with purpose. For tool selection, the first line does not earn its place as functional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a per-sign deep-dive tool with an output schema and safety annotations, the description fails to state what the tool returns or how it differs from other per-sign deep tools. The name and title give some context, but the description itself is too incomplete for an agent to confidently select it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fields and precision) are fully documented in the schema. The description adds no parameter meaning. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description consists of astrological keywords for Leo ('Radiant generosity, theatrical authority. Ruler Sun. I WILL.') rather than a functional statement of what the tool does. It never says it returns a deep interpretation of the Leo zodiac sign, leaving only the title and group tag to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling per-sign deep tools (e.g., aquarius, aries) or other zodiac tools. The description provides only a cost tag, not usage context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_libraLibra: Cardinal AirCRead-onlyIdempotentInspect
Partnership, aesthetic balance, mediation. Ruler Venus. I BALANCE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds useful cost and grouping context (10 credits, Tier 1), but does not describe return behavior or any additional operational traits beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads Libra attributes before the group and cost tags. It contains no filler, though the thematic keywords are not the most functional use of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description does not need to explain return values. However, it omits any functional action or usage context, leaving the agent to infer the tool's purpose entirely from the name, title, and group tag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for both optional parameters (fields and precision), explaining compact mode and rounding. The description adds no parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives thematic keywords about Libra but no functional verb or resource statement such as 'retrieve deep zodiac analysis for Libra.' The group tag indicates 'Zodiac Signs (Per-Sign Deep),' which helps, but the tool's action remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus sibling sign tools or other zodiac content. The description only states cost, with no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_piscesPisces: Mutable WaterCRead-onlyIdempotentInspect
Oceanic compassion, dissolving boundaries. Jupiter + Neptune. I BELIEVE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description genuinely adds cost metadata not present in structured fields ('10 credits (Tier 1)') plus the group membership, but says nothing about what the payload contains or how large it is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is brief and not padded, and the group/cost tags are efficiently placed. However, the leading sentences are poetic branding rather than front-loaded functional information, so the space is spent on material that does not help tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and the tool requires no inputs. Still, for a paid content-retrieval tool the description never confirms it returns a textual/interpretive deep dive for Pisces, leaving an agent to rely entirely on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two optional parameters (fields, precision) are fully documented in the schema with examples. The description adds nothing beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is evocative flavor text ('Oceanic compassion, dissolving boundaries. Jupiter + Neptune. I BELIEVE.') that never states what the tool does or returns. The name, title and '[Group: Zodiac Signs (Per-Sign Deep)]' tag carry the entire functional load, so the description essentially restates the resource identity rather than clarifying purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use, and no reference to the sibling sign tools (aries, taurus, etc.) despite there being eleven equivalents in the toolset. An agent must infer from the name alone that this returns Pisces-specific deep content and that the other signs have their own entries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_sagittariusSagittarius: Mutable FireCRead-onlyIdempotentInspect
Philosophical quest, frank expansion. Ruler Jupiter. I SEE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description's one genuine addition beyond structured data is the credit cost and tier, which is useful behavioral context; it says nothing about return volume, latency, or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is compact and front-loaded, and the bracketed group and cost lines are high-value metadata. The opening flavor line is decorative for selection purposes, but the whole thing is short enough that nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile, so the definition is close to adequate. However, an agent still cannot tell from the text what this returns beyond the group tag, and no differentiation from the other sign tools is offered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both optional parameters (fields, precision) are fully documented in the schema, including the compact-mode dotted-path syntax. The description adds no parameter meaning at all, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The prose ('Philosophical quest, frank expansion. Ruler Jupiter. I SEE.') is thematic content about Sagittarius rather than a statement of what the tool does. The only functional signal is the '[Group: Zodiac Signs (Per-Sign Deep)]' tag, which lets an agent infer it returns deep per-sign content, but no verb or resource is stated and the sign itself is already carried by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the eleven sibling per-sign tools that are the obvious alternatives. The '[Cost: 10 credits (Tier 1)]' note implies budget relevance but does not tell the agent when this call is warranted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_scorpioScorpio: Fixed WaterCRead-onlyIdempotentInspect
Penetrating depth, transformation. Mars + Pluto. I DESIRE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context: the cost (10 credits, Tier 1), which the agent cannot get from structured fields. It says nothing else beyond thematic keywords.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the cost tag earns its place, but the poetic keyword lines (Mars + Pluto, 'I DESIRE') carry no selection value for an agent and are essentially content flavor. Not bloated, but not every line contributes to correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and all params are optional with full schema coverage. For a simple content-lookup tool the definition is minimally adequate, but it never clarifies what the deep per-sign response contains, which is the main gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both optional params (fields, precision), so the schema documents them fully. The description adds no parameter meaning, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a set of evocative keywords for the sign ("Penetrating depth, transformation. Mars + Pluto. I DESIRE.") rather than a statement of what the tool does. The agent must infer from the name/title and the '[Group: Zodiac Signs (Per-Sign Deep)]' tag that this returns deep astrological content for Scorpio; there is no verb+resource statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given beyond the group tag and cost line. There is no differentiation from the twelve sibling per-sign tools (when to pick Scorpio vs Sagittarius), though the sign-specific name makes selection mostly mechanical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_taurusTaurus: Fixed EarthCRead-onlyIdempotentInspect
Embodied stability, sensory wealth. Ruler Venus. I HAVE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful operational context in the form of cost (10 credits, Tier 1) and group classification, which are not present in the annotations. However, it does not describe what kind of deep content is returned or any other behavioral traits beyond cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the opening sentence is not operationally useful for selecting or invoking the tool. The bracketed metadata is helpful and compact, but the primary text does not front-load what the tool does. Space is spent on evocative sign keywords rather than practical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, zero-required-parameter content retrieval tool with an output schema, the description is minimally adequate. It supplies group, cost, and sign identity context, and the output schema covers return values. It is missing usage guidance and a clear statement of what deep Taurus content is, but those gaps are partially mitigated by the tool name and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself fully documents the optional 'fields' and 'precision' parameters. The description adds no parameter-level detail, which is acceptable under the rubric when the schema does the heavy lifting. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not state a verb or resource; it offers Taurus-themed keywords ('Embodied stability, sensory wealth. Ruler Venus. I HAVE.') that read like a content excerpt or tagline. An agent can infer from the tool name that this is Taurus deep-dive content, but the description itself never says what the tool does. It is closer to a poetic restatement of the sign than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling tools include near-identical per-sign deep-dive tools, yet the description never explains that this one should be selected for Taurus content specifically. It lists a group and cost, but neither tells the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_zodiac_signs_per_sign_deep_zodiac_virgoVirgo: Mutable EarthCRead-onlyIdempotentInspect
Discerning service, refined craft. Ruler Mercury. I ANALYZE.
[Group: Zodiac Signs (Per-Sign Deep)] [Cost: 10 credits (Tier 1)]
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response. | |
| precision | No | Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sign | No | |
| cohort | No | |
| decans | No | |
| source | No | |
| degreeRange | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's genuine addition is the 10-credit cost tier, which is useful behavioral context, but it says nothing about what content is returned or whether any prerequisites apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, and the group/cost tags are cleanly bracketed. However, the three flavor sentences consume the entire description without helping an agent select or invoke the tool, so they do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the tool takes no required parameters. Still, for a content-retrieval tool the description never states that it returns a deep interpretive profile for Virgo, leaving the agent to reconstruct that from the name and sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters ('fields', 'precision') are documented at 100% schema coverage with examples and defaults, so the schema carries the full burden. The description adds no parameter meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description body ('Discerning service, refined craft. Ruler Mercury. I ANALYZE.') is thematic flavor about Virgo, not a statement of what the tool does or returns. The only structural signal is the '[Group: Zodiac Signs (Per-Sign Deep)]' tag, which categorizes but does not describe an action; the actual purpose must be inferred from the tool name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The '[Cost: 10 credits (Tier 1)]' tag is the only selection-relevant fact, and it says nothing about when this per-sign deep tool should be chosen over its eleven per-sign siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
105 tool updates
- First observed
astroway_account_status - First observed
astroway_agent_tools - First observed
astroway_aspects_antiscia - First observed
astroway_aspects_arabic_parts - First observed
astroway_aspects_aspect_bar - First observed
astroway_aspects_aspect_timeline - First observed
astroway_aspects_fixed_stars - First observed
astroway_aspects_fixed_stars_catalog - First observed
astroway_aspects_gauquelin_sectors - First observed
astroway_aspects_midpoint_trees - First observed
astroway_aspects_midpoints - First observed
astroway_aspects_parallel_aspects - First observed
astroway_aspects_sabian_symbols - First observed
astroway_calendar_algol_minimum - First observed
astroway_calendar_algol_minimum_nearest - First observed
astroway_calendar_aspects - First observed
astroway_calendar_cyclic_index - First observed
astroway_calendar_eclipses - First observed
astroway_calendar_houses - First observed
astroway_calendar_ingresses - First observed
astroway_calendar_lunar_calendar - First observed
astroway_calendar_moon_aspects - First observed
astroway_calendar_moon_phase - First observed
astroway_calendar_moon_voc - First observed
astroway_calendar_planetary_cycles - First observed
astroway_calendar_planetary_hours - First observed
astroway_calendar_planetary_phases - First observed
astroway_calendar_retrograde_periods - First observed
astroway_content_localization_translate_astro - First observed
astroway_content_localization_translate_batch - First observed
astroway_content_localization_translate_glossary_lang - First observed
astroway_content_localization_translate_languages - First observed
astroway_cost_estimate - First observed
astroway_dignities_almuten - First observed
astroway_dignities_disposition_chains - First observed
astroway_dignities_disposition_chains_layout - First observed
astroway_dignities_essential_dignities - First observed
astroway_dignities_hyleg - First observed
astroway_dignities_receptions - First observed
astroway_geo_acg - First observed
astroway_geo_acg_best_places - First observed
astroway_geo_acg_by_category - First observed
astroway_geo_acg_categories - First observed
astroway_geo_acg_countries - First observed
astroway_geo_acg_line_report - First observed
astroway_geo_acg_zones - First observed
astroway_geo_ccg_analysis - First observed
astroway_geo_eclipse_analysis - First observed
astroway_geo_geodetic - First observed
astroway_geo_local_space - First observed
astroway_geo_local_space_influence_zone - First observed
astroway_geo_parans - First observed
astroway_geo_parans_star - First observed
astroway_geo_phase_return - First observed
astroway_geo_relocation - First observed
astroway_geo_solar_acg - First observed
astroway_geo_zenith - First observed
astroway_horoscope_compatibility - First observed
astroway_horoscope_daily - First observed
astroway_horoscope_monthly - First observed
astroway_horoscope_weekly - First observed
astroway_horoscope_yearly - First observed
astroway_mcp_agent_debate - First observed
astroway_mcp_agent_pool_status - First observed
astroway_mcp_ai_chat - First observed
astroway_mcp_ai_comparison_coach - First observed
astroway_mcp_ai_explain_aspect - First observed
astroway_mcp_ai_explain_transit - First observed
astroway_mcp_multi_agent_coordinate - First observed
astroway_mcp_multi_chart_context - First observed
astroway_mcp_rag_search - First observed
astroway_mcp_streaming - First observed
astroway_mcp_tool_call_stream - First observed
astroway_mcp_tools_list - First observed
astroway_reference_natal_texts - First observed
astroway_render_aspect_grid - First observed
astroway_render_bi_wheel - First observed
astroway_render_biorhythm - First observed
astroway_render_composite - First observed
astroway_render_cosmogram - First observed
astroway_render_eclipse_path - First observed
astroway_render_moon_phase - First observed
astroway_render_star_map - First observed
astroway_render_timeline - First observed
astroway_render_tri_wheel - First observed
astroway_render_wheel_vedic_east - First observed
astroway_render_wheel_vedic_north - First observed
astroway_render_wheel_vedic_south - First observed
astroway_render_wheel_western - First observed
astroway_western_chart - First observed
astroway_western_ephemeris - First observed
astroway_western_planets - First observed
astroway_western_sun_times - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_aquarius - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_aries - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_cancer - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_capricorn - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_gemini - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_leo - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_libra - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_pisces - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_sagittarius - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_scorpio - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_taurus - First observed
astroway_zodiac_signs_per_sign_deep_zodiac_virgo
Related MCP Connectors
Birth charts, transits, moon phases and more from precise astronomical calculations. Natal Compass.
Swiss Ephemeris astrology: natal charts, transits, synastry, solar returns and astrocartography.
Astrology charts, Maya calendar and tarot maths, computed on real engines, cited in every answer.
Western natal charts, horoscopes, transits and synastry for AI agents, verified vs NASA JPL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceCalculates astrological birth charts including planetary positions, house placements, and aspects based on birth date, time, and location.3,073 npm1MIT
- FlicenseAqualityDmaintenanceProvides astronomical calculations using the Swiss Ephemeris library, including planetary positions, houses, chart points, and asteroids for any date and location.49-
- AlicenseAqualityDmaintenanceCalculates astrological natal charts with high precision using Swiss Ephemeris, supporting multiple house systems and location inputs.214 npm5AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceIt provides deterministic modern Western astrology natal-chart calculations using JPL-Horizons-verified ephemeris, with honest handling of unknown birth times and Chinese-first output.39 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.