AstroWay Psychological astrology
Server Details
Archetypes, Jungian typology, shadow work and the relationship-style readings.
- Status
- Healthy
- Uptime
- 97.7% over 25 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 45 tools
The surface is riddled with literal duplicates: the astroway_psya_*, astroway_psyg_*, astroway_psyr_* tools are explicitly documented as aliases for the astroway_psychological_modern_* tools hitting the same endpoints, so an agent cannot tell which to pick. Additionally, the chat-oriented tools (ai_chat, streaming, agent_debate, multi_agent_coordinate, comparison_coach) overlap in 'ask a persona a question' territory.
Multiple unrelated prefix schemes coexist: astroway_mcp_*, astroway_psychological_modern_<school>_<name>, the abbreviated astroway_psya/psyg/psyr aliases, plus one-offs like astroway_account_status, astroway_agent_tools, and astroway_cost_estimate. No predictable verb_noun pattern; the same operation is exposed under three different name styles.
45 tools is far past a healthy scope, and roughly a third are pure aliases duplicating other entries rather than adding capability. This bloats the surface without earning the extra entries, forcing the agent to disambiguate near-identical options.
Coverage of psychological-astrology schools (Arroyo, Greene, Rudhyar) plus cost/account/tooling utilities is broad, so few domain gaps exist. However, the heavy reliance on aliases and chat variants suggests padding rather than a cleanly scoped, complete lifecycle surface.
Available Tools
45 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 definitionsARead-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 tool lives in a separate executors map keyed by tool name, because an unexpected key inside a vendor tool object is a 400 at their end.
[Group: Agent Platform] [Endpoint: GET /v1/agent/tools] [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 cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds genuine behavioral context beyond them: executors are kept out of the vendor objects because an unexpected key causes a 400 on the vendor side, and cost is flagged as not in the public credit manifest. That is real operational 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?
Roughly three sentences, front-loaded with the purpose before the format and executor caveats. It is dense but each sentence carries information, though the format explanation partially duplicates the schema's own enum 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 and full annotation coverage, the description need not explain return values, and it appropriately focuses on the vendor-shape contract and the executors/400 gotcha. It is nearly complete, with the only gap being sibling disambiguation rather than missing operational 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 100%, so the schema already documents every parameter in depth (limit ceiling rationale, select values, precision semantics). The description only restates format and its default, adding no parameter meaning the schema lacks. Baseline 3 is 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 clearly states what the tool returns: tool definitions for an agent framework, generated from the live OpenAPI document. It is specific about the resource and the vendor-shape variants (openai vs anthropic objects). However, it never distinguishes this from the near-identical sibling astroway_mcp_tools_list, which an agent would plausibly 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?
There is no explicit when-to-use, when-not-to-use, or alternative-naming guidance. The mention that openai objects 'spread straight into a chat completion' implies a use case, but the agent is left to infer when this endpoint is preferable to astroway_mcp_tools_list or the MCP tool-call streaming siblings.
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_mcp_agent_debateMCP Agent DebateCRead-onlyIdempotentInspect
2 personas debate a topic, multi-round transcript.
[Group: MCP Advanced] [Endpoint: POST /v1/mcp/agent-debate] [Required: topic, agentA, agentB] [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 declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely useful operational context — cost (100 credits, Tier 4), the required-parameter set, and the endpoint. It stays silent on runtime behavior an agent might care about, such as whether the multi-round debate is long-running, streamed, or bounded in output size. The POST endpoint is not a contradiction of readOnlyHint, but it is worth noting.
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?
Tight and well front-loaded: the core operation comes first, then compact bracketed metadata. Every line carries information (endpoint, required fields, cost) rather than filler. Its brevity is a virtue, though it edges into under-specification.
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 chart object, aless-than-40% coverage, and a cost of 100 credits, the description leaves critical gaps — most importantly the semantics of agentA/agentB and the effect of rounds/language.
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%, so the description carries a heavier burden, and it does not meet it. It restates the three required parameters that the schema already marks as required, but never explains what agentA/agentB actually are (persona strings? model IDs?) or what topic expects. Optional params like rounds, language, and fields get no mention.
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?
Uses a specific verb-and-resource phrasing: '2 personas debate a topic, multi-round transcript.' An agent can grasp the operation immediately. However it does not differentiate itself from close siblings such as astroway_mcp_multi_agent_coordinate, astroway_mcp_ai_chat, or astroway_mcp_ai_comparison_coach, which plausibly overlap.
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 named alternative. The bracketed metadata lists required fields and cost but never says when this debate tool is preferable to multi-agent coordination or AI chat. The [Group: MCP Advanced] tag is organizational, not decision-supporting.
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] [Endpoint: GET /v1/mcp/agent-pool-status] [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, destructiveHint false, and openWorldHint false. The description adds useful behavioral context in the form of the cost (10 credits, Tier 1) and HTTP method (GET), but does not describe what the status output contains or any auth/rate-limit 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 text is short but poorly structured: a vague fragment followed by bracketed metadata lines. It is under-specified rather than concise, and the opening line does not front-load a clear purpose.
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?
Although an output schema exists and annotations cover the safety profile, the description still leaves the agent without a clear statement of what the tool does or when to call it. For a status endpoint in a large sibling set, this is a significant omission.
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 itself. The description adds no parameter meaning beyond the schema, 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 only a fragment, '8 personas with specialties,' which hints at pool composition but never states that this tool returns agent pool status or what that status contains. It lacks a clear verb and resource, and does not distinguish itself from siblings like astroway_mcp_multi_agent_coordinate or astroway_agent_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 guidance on when to use this tool, when not to use it, or which sibling tool is the alternative. The description contains only metadata tags, not usage instructions.
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] [Endpoint: POST /v1/ai/chat] [Required: message] [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 read-only, non-destructive, open-world behavior, so the bar is lower; the description still adds real behavioral facts beyond them — a 10-turn history ceiling, 21 output languages, four selectable voices via persona, and a concrete pricing rule (5 credits with your own provider key vs. the endpoint price). It stops short of stating auth requirements or what happens when the history limit is exceeded. No contradiction with 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 tight sentences: the differentiator first, capabilities second, pricing last, followed by a compact metadata block (group, endpoint, required param, tier cost). Every clause carries new information and nothing is 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?
With an output schema present the description needn't explain return values, and annotations cover the safety profile, so what remains — what the tool is for, its capability envelope, and its cost model — is covered. The main gap is that nothing tells an agent when this endpoint should be picked over the other AI/agent 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?
Top-level schema description coverage is only 43% (chart, fields and precision documented; message, persona, language and history not), so the description must compensate and partially does — it explains persona (four voices), history (~10 turns) and language (21 options). It says nothing about chart, fields compact-mode paths, or precision, though the nested chart schema does carry unusually rich self-documentation for those.
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 AI chat answered from computed natal-chart positions rather than the model's prior knowledge of a sun sign — and quantifies scope (10 turns, 21 languages, 4 personas). It clearly implies a different product from sibling AI utilities such as astroway_mcp_ai_explain_aspect or astroway_mcp_ai_comparison_coach, but never names them, so the differentiation is by tone rather than explicit 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?
Usage context is implied rather than stated: the credit-price note ('send your own provider key and the turn costs 5 credits instead of the endpoint price') hints this is a paid, higher-tier call, and 'chart-grounded' hints the input needs birth data. There is no explicit when-to-use-it, when-not-to, or routing rule against the other chat/agent endpoints in the sibling list.
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 CoachBRead-onlyInspect
Coach two charts on relationship dynamics.
[Group: AI & MCP] [Endpoint: POST /v1/ai/comparison-coach] [Required: chart1, chart2, question] [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?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful operational context (the 100-credit Tier 4 cost and the POST endpoint), but says nothing about the fact that an LLM-backed coach may return non-deterministic prose, what latency to expect, or what deprecates the idempotentHint=false signal.
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 four lines are tight and the purpose sentence is front-loaded ahead of the bracketed metadata block. Nothing is padded, though the metadata 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 the cost/endpoint block is present. But for a six-parameter AI tool embedded among dozens of similar compatibility siblings, the description lacks any hint of what the coaching output contains or what makes a good 'question', leaving the agent to guess at scope.
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 nested chart objects carry extensive inline documentation (formats, rejected short names, timezone semantics, houseSystem letters), so the schema does the heavy lifting. The description only restates the required parameters (chart1, chart2, question), adding no meaning for question, language, fields or precision. 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 names a specific verb (coach), the resources (two charts) and the domain (relationship dynamics), so the agent knows this produces interpretive guidance rather than raw chart data. It does not, however, distinguish itself from the many sibling compatibility tools (ashtakoot, dashakoota, compatibility_full) or from astroway_mcp_ai_chat, so sibling 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 or when-not-to-use guidance, and no alternative is named. A reader cannot tell whether to reach for this AI coach versus the deterministic Vedic compatibility endpoints or multi_chart_context. The only constraints given are required parameters and cost, which are 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_mcp_ai_explain_aspectExplain AspectBRead-onlyInspect
Detailed explanation of an aspect between two planets.
[Group: AI & MCP] [Endpoint: POST /v1/ai/explain-aspect] [Required: planet1, planet2, aspectType] [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, openWorldHint=true and idempotentHint=false, so the safety profile is covered without the description. The description does add genuinely useful operational context not present in the annotations: the credit cost (100 credits, Tier 4) and the endpoint. However it never explains why a read-only operation is flagged non-idempotent (repeated calls likely yield differently worded narrative), which is the one behavioral trait an agent would most want 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?
The purpose sentence is front-loaded and the payload is small. The '[Required: planet1, planet2, aspectType]' line duplicates the schema's required array, but the cost and endpoint lines justify their 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?
An output schema exists, so return values need not be described. But for a 7-parameter tool with a nested chart object and LLM-backed generation, the description omits the valid domain for planet1/planet2, any usage guidance versus explain_transit, and any hint about generation latency or variable output.
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 lists the three required parameters, but schema coverage is only 43% and planet1/planet2 carry no description, no enum and no example anywhere in the schema, so the agent must guess the accepted form (planet names such as 'Mars'?). The description does not compensate for that gap, which is the weakest part of the definition.
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 and resource: 'explanation of an aspect between two planets.' An agent can tell it apart from the sibling astroway_mcp_ai_explain_transit by the resource alone, but the description never makes that contrast explicit nor states what kind of explanation is produced.
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 the sibling explain_transit as an alternative. The only contextual cues are bracketed metadata (endpoint, required fields, credit cost), which tell the agent what it costs but not when it should be chosen.
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 TransitBRead-onlyInspect
Explain a current transit hitting your natal chart.
[Group: AI & MCP] [Endpoint: POST /v1/ai/explain-transit] [Required: chart, transitDate, transitPlanet, natalPlanet, aspectType] [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=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds the cost (100 credits, Tier 4) and the endpoint, which annotations do not provide. It does not explain why idempotentHint is false for a read-only call, nor what the AI explanation entails.
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 the purpose before the bracketed metadata. The bracketed group/endpoint/required/cost lines are slightly noisy but each carries compact information, so there is little 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 described. But for a 5-required-parameter tool with a near-twin sibling, the description omits the disambiguation, parameter usage, and cost implications an agent needs before committing. It is minimally adequate 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 description coverage is only 38%, so the description should compensate, but it merely restates the five required parameter names that the schema already marks required and says nothing about what transitPlanet, natalPlanet, aspectType accept or how the optional fields/precision/language parameters behave. It adds no meaning 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?
States a specific verb and resource: 'Explain a current transit hitting your natal chart.' An agent can grasp the purpose immediately. However, it never distinguishes itself from the close sibling astroway_mcp_ai_explain_aspect, leaving the borderline case ambiguous.
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 comparison to the near-identical sibling astroway_mcp_ai_explain_aspect. The '[Required: ...]' and '[Cost: ...]' lines are metadata, not routing guidance. The agent gets no help deciding between this and other AI tools.
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] [Endpoint: POST /v1/mcp/multi-agent-coordinate] [Required: question, agents] [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 readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered structurally. The description usefully adds the cost (100 credits, Tier 4) and the endpoint/group, but says nothing about latency, response shape of the synthesis, or how many personas are permitted (schema caps at 4).
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 operative sentence, followed by compact bracketed metadata; there is no filler prose. The brevity is close to under-specification rather than pure conciseness, keeping it out of the top band.
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 cost is disclosed. However, for a tool whose whole contract is choosing personas and a question, the description never explains what the agents array should contain, leaving the most decision-relevant input undocumented across both description 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 coverage is only 50% and the description adds no meaning beyond listing the two required names. Critically, the 'agents' array is the defining parameter and neither the schema nor the description explains what identifiers it accepts, and 'question' semantics are equally 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?
States a specific verb (Run), resource (N personas) and mechanism (parallel + LLM synthesis), which is more informative than a tautology. It does not name or distinguish itself from the obvious sibling astroway_mcp_agent_debate, so the agent must infer the difference between coordinated parallel personas and a debate.
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 despite several closely related siblings (agent_debate, multi_chart_context, ai_chat). The '[Required: question, agents]' line just restates the schema's required array rather than telling 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_mcp_multi_chart_contextMCP Multi-Chart ContextCRead-onlyInspect
Compact context for MCP agents working across multiple charts.
[Group: AI & MCP] [Endpoint: POST /v1/mcp/multi-chart-context] [Required: charts] [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 and destructiveHint=false, so safety is covered. The description adds genuinely useful non-annotation behavior: a 10-credit (Tier 1) cost and the POST endpoint. It says nothing about what the operation returns or how it behaves across the 1-6 chart array, so it earns only partial credit.
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-loads the one-sentence purpose, with well-organized bracketed metadata. But that metadata is machine-oriented boilerplate (group/endpoint/required) and the prose line is largely redundant with the title, so the brevity reflects under-specification as much as discipline.
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 for a tool taking up to six nested chart objects with four intent modes and compact-mode fields/precision, the description is far too thin. It gives an agent no way to know what a "compatibility" vs "forecast" run produces or why to pick it over the many neighbouring multi-chart 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?
The only parameter content is "[Required: charts]", which merely repeats the schema's required array, adding zero meaning. The description says nothing about `fields`, `precision`, or the four `intent` modes — the latter has no schema description at all despite being the main selector. At 50% schema coverage this is a real gap it fails to fill.
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" largely restates the name/title (multi-chart context) without naming an action or an output. The word "context" is undefined — it never says whether this computes cross-chart aspects, comparison summaries, or group forecasts. Only the bare notion "multiple charts" distinguishes it from the many single-chart 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?
There is no when-to-use guidance at all: no trigger conditions, no prerequisites, and no routing against the large sibling set (e.g. astroway_mcp_multi_agent_coordinate or astroway_mcp_ai_comparison_coach). The `intent` enum (compatibility/family/group/forecast) suggests several distinct use cases, but the description never explains when to choose which.
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] [Endpoint: POST /v1/mcp/rag-search] [Required: query, chart] [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?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely useful context the annotations do not: the endpoint, the 10-credit Tier 1 cost, and the group. It does not disclose result ordering, chunk granularity, or hit limits, so it stops short of 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?
Four short, front-loaded lines with no prose padding; the core purpose statement leads. The "Required" line is redundant with the schema, which is the only real 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?
For a tool taking a deeply nested chart object plus three tuning parameters, the description is thin: no sense of ranking/scoring semantics, no indication of what the chunks are drawn from, and no guidance on choosing topK. An output schema exists so return format need not be explained, but the retrieval behavior itself is left entirely 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 a middling 60%. The description adds no parameter meaning at all — it only echoes the two required names already enforced by the schema — and says nothing about topK's default/range, the fields compact projection, or precision, the parameter most likely to be misused.
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 the mechanism (keyword-tag scoring) and the corpus (chart chunks), which goes beyond simply restating the tool name. However, it never says what the tool returns or what a "chunk" is, so an agent cannot tell whether this is a document retriever over interpretive text or a query over computed chart data.
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-adjacent line is "[Required: query, chart]", which merely restates the schema's required list. There is no statement of when to reach for this tool rather than a direct retrieval sibling (e.g. astroway_mcp_multi_chart_context), and no 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_mcp_streamingMCP Streaming ChatBRead-onlyInspect
Server-Sent Events streaming chat completion with optional chart context.
[Group: AI & MCP] [Endpoint: POST /v1/mcp/streaming] [Required: message] [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 declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds genuinely non-derivable behavior: the response is delivered as an SSE stream rather than one payload, crediting at 100 credits (Tier 4), and the concrete endpoint. It omits auth requirements and why idempotentHint=false, which keeps it out of 5 territory.
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?
Short and front-loaded: the core capability leads, with bracketed metadata (group, endpoint, required param, cost) following compactly. Every line carries information, though the template-style [Group:]/[Endpoint:] format is more machine header 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?
For a streaming tool with no output schema and a nested chart parameter, the definition covers the essential facts (SSE transport, required message, optional chart, cost). It does not describe what the stream emits or how chart context influences the completion, leaving gaps an agent would notice mid-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 60%, with the nested chart object heavily documented in the schema itself (timezone, houseSystem letters, lat/lon full names, ayanamsa). The description adds only 'optional chart context', which restates the schema's required list. Baseline 3 is appropriate when the schema does most of the work.
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+mechanism: 'Server-Sent Events streaming chat completion with optional chart context.' An agent can tell this is a streaming chat tool rather than a static computation. It does not explicitly name or contrast with the closest sibling astroway_mcp_ai_chat, 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?
No when-to-use or when-not-to-use guidance. Nothing tells the agent to prefer this over astroway_mcp_ai_chat (non-streaming chat) or astroway_mcp_tool_call_stream; the streaming qualifier implies a context but the choice is left 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_mcp_tool_call_streamMCP Tool-Call StreamCRead-onlyIdempotentInspect
SSE-stream of a tool call envelope.
[Group: MCP Advanced] [Endpoint: POST /v1/mcp/tool-call-stream] [Required: tool] [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 readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds two genuinely useful behavioral facts annotations cannot express: delivery is server-sent events rather than a single response, and the call costs 10 credits (Tier 1). It still omits stream termination, error-over-stream behavior, and whether partial results can be replayed.
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: one sentence of purpose followed by structured metadata brackets. Nothing is wasted, though the single sentence is so compressed that the core mechanics of the tool are never actually spelled out.
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 free-form args object, a free-text tool selector, compact-mode options, and no output schema, this is under-specified. An agent cannot tell what the stream emits, how to consume it, or what valid values for tool are (presumably must match astroway_mcp_tools_list entries), all of which are load-bearing 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 only 40% across 5 parameters, and the description adds nothing beyond confirming that tool is required. args (arbitrary nested object forwarded to the target tool), language, and the compact-mode interplay of fields/precision are left entirely to the schema; the description should explain that args are passed through verbatim to the named 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?
"SSE-stream of a tool call envelope" names a delivery mechanism and an artifact, so the agent knows this is a streaming wrapper that executes a named tool. However, "tool call envelope" is opaque jargon and the definition never states the key fact that this proxies/executes another MCP tool by name, nor how it differs from the sibling astroway_mcp_streaming or astroway_mcp_tools_list.
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 cue is the bracketed "[Required: tool]" — there is no when-to-use, no when-not-to-use, and no routing to an alternative despite multiple plausible siblings (astroway_mcp_streaming, astroway_mcp_tools_list, astroway_agent_tools). The agent must guess whether streaming is preferred over a plain call.
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] [Endpoint: GET /v1/mcp/tools-list] [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 and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context the annotations do not: the concrete GET endpoint and a cost caveat that this scope is not in the public credit manifest. It does not explain response size or pagination for a manifest that presumably enumerates all 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?
The single purpose sentence is front-loaded and the metadata tags are compact, but the bracketed group/endpoint/cost lines are boilerplate scaffolding rather than description content. Nothing is wasted, yet very little informational payload is delivered.
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-value documentation is not required, but for a meta-tool that enumerates the entire tool surface, the description never explains the scenario in which an agent would reach for it instead of directly invoking a domain tool. Given the enormous sibling set, this leaves 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 100%, so both `fields` and `precision` are already documented in the schema with examples and constraints. The description contributes no additional parameter meaning; the 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?
"Auto-generated tool manifest for MCP clients" largely restates the name 'MCP Tools List' without a distinct verb or an explanation of what the response actually contains. It gives an endpoint and spec version but no functional description that would distinguish its purpose from any other listing endpoint.
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 an agent should call this tool, what problem it solves, or how it relates to the ~190 sibling tools. The only contextual cues are the bracketed [Group]/[Endpoint]/[Cost] metadata tags, which are 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_psya_cycle_of_becomingArroyo: Cycle of BecomingCRead-onlyIdempotentInspect
Arroyo's evolutionary cycle.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/cycle-of-becoming] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_cycle_of_becoming.)
| 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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| fullCycle | No | |
| currentAge | No | |
| disclaimer | No | |
| currentPhase | 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 adds genuinely new behavior facts — cost of 10 credits (Tier 1), the POST endpoint, and the required input set — which is real value, though it says nothing about what the computation yields.
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?
Short and front-loaded, with the purpose line first and bracketed metadata after. Nothing is padded, though the content is thin rather than tight.
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 annotations exist, so return values and safety need not be restated, but for a 15-parameter psychological astrology computation the description gives no domain explanation, no usage context, and no differentiation from its near-identical sibling and the longer canonical 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 only 33% across 15 parameters, but the description only re-lists the four required ones (date, time, latitude, longitude) that the schema already marks required. It adds nothing about ayanamsa, zodiacType, houseSystem, timezone, fields, precision, or cosmogram, leaving the coverage gap unfilled.
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?
"Arroyo's evolutionary cycle" restates the title and name rather than stating what the tool computes or returns. The operative content is metadata scaffolding (group, endpoint, required params, cost), not a description of the operation, so an agent cannot tell what output this produces.
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 conditions for choosing this over the many sibling psychological/evolutionary tools (e.g. astroway_psyr_cycles_of_becoming, rudhyar_cycles_of_becoming). The only routing hint is that it is a "cursor-friendly alias" for the long-named form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_element_balanceArroyo: Element BalanceCRead-onlyIdempotentInspect
Element distribution and integration.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/element-balance] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_element_balance.)
| 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 |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| dominantElement | No | |
| deficientElement | 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 endpoint, the 10-credit cost tier, and the required inputs. It stops short of describing the return content or any constraints on interpretation, and the alias note is a packaging detail rather than 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?
The block is short, bracketed, and front-loaded with the one-line purpose before logistics. Each line carries information, though the alias parenthetical is marginally useful metadata.
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. However, for a 15-parameter tool with 33% schema coverage, the description leaves the purpose ambiguous relative to its near-identical sibling and provides no differentiation, which is the main gap an agent needs filled.
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 merely restates the four required fields already marked in the schema and adds no meaning for undocumented params such as `cosmogram`, `zodiacType`, `houseSystem`, or `ayanamsaId`.
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 phrase 'Element distribution and integration' names the resource loosely but blurs it with the sibling `astroway_psya_element_integration`, which the description does not distinguish itself from. It never says whether this returns a weighted tally, a narrative, or a chart, so an agent cannot confidently pick it over the very similarly named neighbors.
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 any alternative, despite the presence of close siblings like `astroway_psya_element_integration` and `astroway_psychological_modern_arroyo_element_integration`. The block only supplies endpoint, required inputs, and cost, which are logistics rather than usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_element_integrationArroyo: Element IntegrationCRead-onlyIdempotentInspect
Strategies for integrating weak elements.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/element-integration] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_element_integration.)
| 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 |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| recommendations | 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 non-annotation facts: the endpoint path and the 10-credit (Tier 1) cost, which the agent cannot learn elsewhere. It does not explain what a 'weak element' calculation depends on or what the response contains.
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 one-line purpose leads, followed by a compact bracketed metadata block. Nothing is padded, though the alias parenthetical and group/endpoint lines are administrative rather than interpretive.
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. However, for a 15-parameter astrological tool with low schema coverage, the description leaves the agent guessing about most optional inputs and how this differs from element_balance.
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. The description merely repeats the four required fields (date, time, latitude, longitude), which the schema already marks required, and says nothing about city, name, cosmogram, zodiacType, houseSystem, or ayanamsaId. It does not compensate for the undocumented portion of 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 phrase 'Strategies for integrating weak elements' gestures at the output (interpretive strategies for weak astrological elements) but never states a clear verb+resource. It gives no differentiation from the very close sibling astroway_psya_element_balance, relying instead on the alias note to distinguish itself from its long-form twin.
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 astroway_psya_element_balance or the related Arroyo siblings. The only routing information is that it is an alias for astroway_psychological_modern_arroyo_element_integration, which addresses duplicate naming rather than use-case selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psya_relational_element_mapArroyo: Relational MapCRead-onlyIdempotentInspect
Relational element compatibility map.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/relational-element-map] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_relational_element_map.)
| 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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| synergyWith | No | |
| tensionWith | No | |
| yourDominant | No | |
| partnerSeeking | 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 genuinely useful operational context — the cost (10 credits, Tier 1) and the POST endpoint — but says nothing about the nature of the computation, precision of results, or how ayanamsa/zodiac choices affect output.
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 bracketed metadata block is compact, front-loaded and free of filler; every line (group, endpoint, required, cost, alias) is a discrete fact. It is appropriately sized, though the space is spent on metadata rather than the substantive description that is actually missing.
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 15-parameter computational endpoint with an output schema (so return values need not be explained), but the definition never states what the relational element map computes or how it differs from its many psychological/relational siblings. For this level of complexity the description is inadequate, despite correctly surfacing the required-parameter set and cost.
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 heavy compensation burden, yet it only re-lists the four required params (date, time, latitude, longitude) that the schema already marks as required. It adds no meaning to the undocumented params (name, city, fields, cosmogram, ayanamsaId, zodiacType, houseSystem) and does not explain the interaction between the two ayanamsa fields or timezone vs timezoneOffset.
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 phrase 'Relational element compatibility map' essentially restates the title 'Arroyo: Relational Map' and the tool name without supplying a verb or explaining what is actually computed (a chart? a score? an aspect map?). No sibling is distinguished; the only differentiator is the '[Group: Modern Psychological]' tag, which the sibling naming already conveys.
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 contains no when-to-use guidance and names no alternative among the many overlapping psychological/relational siblings (e.g. astroway_psya_element_balance, astroway_relational_element_* tools). It lists structural facts (endpoint, cost, required params) but never says 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_psya_water_houses_traumaArroyo: Water Houses TraumaCRead-onlyIdempotentInspect
Water-house trauma patterns.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/water-houses-trauma] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_arroyo_water_houses_trauma.)
| 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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| h4_roots | No | |
| h8_shared | No | |
| disclaimer | No | |
| h12_unconscious | No | |
| totalPlanetsInWater | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint true, openWorldHint false, destructiveHint false, so the safety profile is covered. The description adds genuinely useful behavioral context the annotations lack: cost (10 credits, Tier 1), the HTTP endpoint, and the required-parameter set. It says nothing about output shape or interpretation content, so it stays at baseline-plus.
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 bracketed metadata block is compact and front-loaded, and the alias note is short. However, nearly all of the content is structured metadata rather than a description, so the single-line purpose carries too little for its prominence. No wasted sentences, but low information density on the actual tool behavior.
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 psychological calculation with an output schema, the definition omits what the tool computes, how it differs from the four sibling psya_* psychological tools, and how the eleven undocumented parameters shape the result. The output schema removes the need to describe return values, but the purpose and parameter gaps leave the definition materially 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 coverage is only 33%, so the description needs to compensate and does not. It merely repeats the four required parameters (date, time, latitude, longitude) already stated as required in the schema, adding no format, semantics, or meaning for the other eleven parameters (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId, etc.).
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 essentially a restatement of the tool name/title: 'Water-house trauma patterns' with no verb saying what it computes or returns from the birth data. The bracket metadata (group, endpoint, required fields, cost) adds operational facts but no real statement of purpose. An agent cannot tell from this what the tool actually produces beyond 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, when-not-to-use, or alternative guidance. The sibling psya_* tools (cycle_of_becoming, element_balance, element_integration, relational_element_map) are not mentioned, and no condition selects this tool over them. Only the '[Required: date, time, latitude, longitude]' line hints that it consumes birth data, which is weak implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_cycle_of_becomingArroyo: Cycle of BecomingCRead-onlyIdempotentInspect
Arroyo's evolutionary cycle.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/cycle-of-becoming] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| fullCycle | No | |
| currentAge | No | |
| disclaimer | No | |
| currentPhase | 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 useful operational context — the endpoint, the required inputs, and the 10-credit cost — which is exactly the kind of extra context that earns credit with annotations present, but nothing about output 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?
It is short and front-loaded, but the opening sentence is vague while the bracket block is mostly boilerplate metadata. It is concise without being informative — brevity at the cost of 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, but for a 15-parameter computation tool with 33% schema coverage and no usage guidance, key things remain unexplained: what the cycle actually yields, how it differs from the Rudhyar variant, and the meaning of most parameters.
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 should compensate for the many undocumented fields. Instead it merely repeats the four required parameters that the schema's 'required' array already lists, adding no meaning for ayanamsa, houseSystem, zodiacType, or the compact-mode fields.
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 amounts to "Arroyo's evolutionary cycle," which essentially restates the title and name rather than stating a concrete verb+resource. It does not explain what the tool actually computes or returns, and it fails to differentiate itself from near-identical siblings like astroway_psychological_modern_rudhyar_cycles_of_becoming or astroway_psyr_cycles_of_becoming.
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 prerequisites, and no routing to alternatives despite several overlapping 'cycle of becoming' / psychological-modern siblings. The bracketed metadata (group, endpoint, required params, cost) is logistical, 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_psychological_modern_arroyo_element_balanceArroyo: Element BalanceCRead-onlyIdempotentInspect
Element distribution and integration.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/element-balance] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| dominantElement | No | |
| deficientElement | 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 facts — the POST endpoint and the 10-credit Tier 1 cost — but says nothing about auth needs, rate limits, or what the computation 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?
It is short, front-loaded, and free of filler, which is good. But for a 15-parameter computation tool the extreme brevity reads as under-specification rather than disciplined concision.
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. However, with 15 params at 33% coverage and an equally named sibling, the description leaves too much unresolved: no chart-interpretation context, no guidance on the enum parameters, and no sibling differentiation.
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, and it does not: it merely repeats the four required fields already marked required in the schema. Nothing is said about the astrologically consequential choices (ayanamsa, zodiacType, houseSystem) that the agent must select.
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?
"Element distribution and integration" is a noun fragment that restates the title (Arroyo: Element Balance) rather than stating what the tool does with the supplied birth data. It offers no verb and, worse, blurs into the sibling astroway_psychological_modern_arroyo_element_integration, so an agent cannot tell the two apart 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 description gives only the required inputs and cost, never when to use this tool versus element_integration or the bazi/relational element-balance siblings. The bracketed tags supply prerequisites (date, time, lat/long) but no selection context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_element_integrationArroyo: Element IntegrationCRead-onlyIdempotentInspect
Strategies for integrating weak elements.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/element-integration] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| counts | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| recommendations | 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 behavioral context in the cost (10 credits, Tier 1) and endpoint, but says nothing about what is computed, prerequisites, or rate 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 one-line purpose is front-loaded and the bracketed metadata (group, endpoint, required, cost) is compact and scannable with no filler prose. It is efficiently sized, even if thin on 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?
For a 15-parameter astrological computation with rich configurable inputs, the description leaves the agent guessing what 'weak elements' means, how the result should be interpreted, and how it differs from the sibling element_balance tool. The existing output schema covers return values, but the conceptual gap remains large.
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, and it does not — it merely repeats the four required fields already listed in the schema's required array. Meaningful inputs like ayanamsa, houseSystem, zodiacType, precision, fields, and timezone get no clarification from 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?
'Strategies for integrating weak elements' names a domain concept but no verb/resource that says what the endpoint computes or returns. It is nearly a restatement of the title 'Arroyo: Element Integration' and gives no signal distinguishing it from the near-identical sibling astroway_psychological_modern_arroyo_element_balance or the alias astroway_psya_element_integration.
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 only operative line is the required-parameter list, which is invocation mechanics rather than usage guidance, so an agent cannot tell when this tool beats its many element-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_relational_element_mapArroyo: Relational MapCRead-onlyIdempotentInspect
Relational element compatibility map.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/relational-element-map] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| synergyWith | No | |
| tensionWith | No | |
| yourDominant | No | |
| partnerSeeking | 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 operational facts: the POST endpoint, the four required inputs, and a 10-credit Tier 1 cost, which helps an agent budget calls. It stops short of saying what the map contains or how results are shaped, 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?
The definition is a tight, front-loaded label followed by a compact metadata block with zero filler. Every line is short and scannable, though the extreme brevity is what creates gaps elsewhere rather than crowding anything out.
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 astrological computation with several enums and a rich output schema, the description supplies no information about what the map contains or how the many sidereal/house-system options change the result. Annotations and the output schema carry safety and returns, but the agent is left to infer the tool's domain from the 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 only 33% across 15 parameters, so the description must compensate, and it does not. It merely restates the four required params (date, time, latitude, longitude) that the schema already marks required, and says nothing about ayanamsa, zodiacType, houseSystem, fields, precision, or timezone semantics.
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 phrase 'Relational element compatibility map' names the resource but uses no verb and gives no scope beyond the tool name itself. It does not distinguish this tool from near-identical siblings such as astroway_psya_relational_element_map or astroway_relational_synastry_element_balance. An agent can guess it produces some compatibility/element output, but the purpose stays at the level of a label.
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 alternatives among the many relational and psychological siblings. The bracketed metadata states required inputs and cost, which is operational rather than usage guidance. Nothing tells the agent which scenario selects this tool over its aliases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_arroyo_water_houses_traumaArroyo: Water Houses TraumaCRead-onlyIdempotentInspect
Water-house trauma patterns.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/arroyo/water-houses-trauma] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| h4_roots | No | |
| h8_shared | No | |
| disclaimer | No | |
| h12_unconscious | No | |
| totalPlanetsInWater | 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 description adds the genuinely useful billing fact "Cost: 10 credits (Tier 1)" plus the HTTP endpoint. It does not disclose computational method, assumptions, or what the report contains.
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 front-loaded with no padding, but the bracketed metadata lines fire in place of substance: the single content sentence is too thin to orient the agent. Structure is fine; information density is low.
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 a third of parameters undescribed and no explanation of what the output report is, the definition is materially incomplete. The output schema removes the need to document return values, but the method (Arroyo psychological reading of the 4th/8th/12th) and sidereal/tropical selection context are absent.
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 should compensate — instead it only repeats the four required fields already declared in the schema's `required` array. High-impact knobs (ayanamsa vs ayanamsaId, zodiacType, houseSystem, fields, precision) get no explanation from 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?
"Water-house trauma patterns." is a bare noun phrase that essentially restates the title "Arroyo: Water Houses Trauma" — no verb describing what the tool computes or returns. The endpoint, group, and cost tags are operational metadata, not purpose. An agent cannot tell from this what distinguishes it from the many other psychological/Arroyo 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?
There is no when-to-use guidance, no conditions, and no pointer to alternatives, despite close siblings like astroway_psya_water_houses_trauma and the other astroway_psychological_modern_arroyo_* tools. The required-parameter list is input spec, 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_psychological_modern_greene_archetypal_figuresGreene: Archetypal FiguresCRead-onlyIdempotentInspect
Archetypal patterns in the chart per Liz Greene.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/archetypal-figures] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| figures | No | |
| doctrine | No | |
| disclaimer | 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 adds genuinely useful non-annotation context: the credit cost (10 credits, Tier 1) and the endpoint. It still says nothing about the shape or volume of the archetypal output beyond what the output schema presumably 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?
The block is short and front-loads the purpose before the bracket metadata. Each line carries some value (group, endpoint, required, cost), though the required-parameter line is redundant with the schema and could be dropped.
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 33% schema coverage, no usage guidance, and several near-duplicate siblings (including the verbatim twin astroway_psyg_archetypal_figures), the description leaves the agent under-equipped. The presence of an output schema excuses it from explaining return values, but it does not excuse the missing disambiguation and parameter context.
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% (15 parameters, most undocumented), so the description must compensate and does not. Its only parameter content is 'Required: date, time, latitude, longitude', which merely restates the schema's required array; none of the optional parameters (fields, precision, timezone, ayanamsa, zodiacType, houseSystem) receive any clarification in 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 names the specific subject matter ('Archetypal patterns in the chart per Liz Greene'), which separates it from the other Greene-family tools (lunar_myth, parental_imagos, saturn_shadow). However, it is a noun phrase with no verb describing what is produced or returned, and it does not acknowledge the near-identical companion tool astroway_psyg_archetypal_figures, so an agent cannot confidently choose between them 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?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives, and no prerequisites beyond a bare required-parameter list. The bracket metadata tells the agent how to call it, not why or when.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_greene_individuation_pathGreene: Individuation PathCRead-onlyIdempotentInspect
Individuation arc per natal chart.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/individuation-path] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| keyAges | No | |
| doctrine | No | |
| disclaimer | No | |
| individuationMarkers | 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 genuinely useful non-schema behavior (10 credits, Tier 1 cost) but says nothing about compute latency, quotas, or how the arc is derived.
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 content is front-loaded (purpose first, then bracketed metadata) and wastes no words, but it is under-specified rather than concisely informative — the brevity leaves the definition thin for a 15-parameter endpoint.
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 for a 15-parameter chart tool with 33% schema coverage the description supplies none of the missing parameter semantics, no indication of what the individuation output contains, and no guidance on supplying birth data. It is well short of complete for this 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 33% and the description merely relists the four required parameters, which the schema already marks required. It adds no meaning for the eleven optional parameters (ayanamsa, zodiacType, houseSystem, fields, timezone, precision, etc.) that the schema leaves undocumented.
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 phrase 'Individuation arc per natal chart' names a recognizable resource tied to a natal chart, so the agent knows roughly what is computed. However there is no distinguishing detail against the many sibling psychological tools (greene_archetypal_figures, greene_saturn_shadow, psyg_individuation_path, etc.), so the purpose is stated but not 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?
The description gives no when-to-use guidance, no conditions that select this tool over its near-identical siblings, and no prerequisites beyond the required-field list. Group, endpoint and 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_psychological_modern_greene_lunar_mythGreene: Lunar MythCRead-onlyIdempotentInspect
Lunar archetypes by sign and house.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/lunar-myth] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| moon | No | |
| theme | No | |
| shadow | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| mythicFigure | 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 genuinely useful operational context the annotations lack: the POST endpoint, the mandatory date/time/latitude/longitude inputs, and the 10-credit Tier 1 cost. It does not describe response shape, but an 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?
Very short and front-loaded: the subject line comes first, followed by compact bracketed metadata. Each metadata line carries operational value (endpoint, required inputs, cost), though the required-parameter line is redundant with 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 not be explained, and annotations cover safety. However, for a 15-parameter astrology request with 33% schema coverage, the description gives no guidance on zodiacType/ayanamsa selection or timezone-vs-offset choice, and nothing to distinguish this tool from its psyg duplicate.
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, and the description compensates for none of it. It merely restates the four required parameters that the schema already marks as required, adding no meaning about ayanamsa, zodiacType, houseSystem, fields, precision, or timezone handling.
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 phrase 'Lunar archetypes by sign and house' identifies the subject matter (Greene-style psychological interpretation of the Moon) but uses no verb and does not say what is actually returned or computed. It also fails to differentiate from the near-identical sibling astroway_psyg_lunar_myth, leaving the agent to guess which of the two to call.
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 only boilerplate metadata: group, endpoint, required inputs, and cost. There is no statement of when to use this tool versus Greene siblings (archetypal_figures, individuation_path, saturn_shadow) or the psyg/psya/psyr lunar-myth variants, and no 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_psychological_modern_greene_parental_imagosGreene: Parental ImagosCRead-onlyIdempotentInspect
Parental imagos analysis.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/parental-imagos] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowMarkers | No | |
| exteriorParent | No | |
| interiorParent | 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 usefully adds behavioral facts the annotations lack: the POST endpoint and the 10-credit (Tier 1) cost. It stops short of describing output shape or interpretation depth, but given the annotation coverage 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?
The definition is terse and front-loads the purpose token before bracketed metadata, with zero filler sentences. Structure is clean and scannable, though the bracketed blocks function more as header data than explanatory 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?
For a 15-parameter, domain-specific chart tool, the description is thin. An output schema exists and the annotations carry the safety profile, so those needs are met, but the description never explains what 'parental imagos' yields, how it differs from the psyg variant, or how the many optional parameters affect results. Too little for the tool's 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 coverage is only 33% across 15 parameters, so the description must compensate for the many undocumented options (city, name, cosmogram, zodiacType, houseSystem, ayanamsaId). Instead it merely lists the four required fields already marked required in the schema, adding no format, meaning, or interaction detail beyond what the schema shows. It fails to close 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?
"Parental imagos analysis" essentially restates the tool name and title (Greene: Parental Imagos) without explaining what the analysis produces or the domain concept it computes. It names no verb beyond a generic 'analysis' and does nothing to distinguish itself from the near-identical sibling astroway_psyg_parental_imagos. This lands at tautology level rather 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?
The description provides no when-to-use guidance, no prerequisites, and never points to or away from alternatives such as astroway_psyg_parental_imagos or the other Greene methods (archetypal_figures, saturn_shadow). The required-parameter block is a structural fact, not usage guidance. An agent is left to infer applicability 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_psychological_modern_greene_saturn_shadowGreene: Saturn ShadowCRead-onlyIdempotentInspect
Saturn-as-shadow integration work.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/saturn-shadow] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| saturn | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowTheme | No | |
| integrationPrompt | 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 behavioral context the annotations lack: cost (10 credits, Tier 1) and the endpoint. It does not, however, describe scope, depth, or limits of the analysis.
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 bracketed metadata block is compact and skimmable, and required-parameter and cost lines are useful. However, the only prose sentence is a vague restatement, so structure is efficient but content-light.
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 analysis tool with an output schema, the description still leaves the agent without any indication of what the 'Saturn shadow integration' analysis produces or how it differs from sibling modules. Cost and endpoint help, but the core purpose gap remains.
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 it only lists the four required names (date, time, latitude, longitude) already visible in the schema's required array. It adds no format, default, or meaning guidance for the many undocumented params like houseSystem, zodiacType, or cosmogram.
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?
"Saturn-as-shadow integration work" essentially restates the name/title (Greene: Saturn Shadow) without a concrete verb or explanation of what the tool computes or returns. It does not distinguish it from the numerous sibling Greene psychological tools (individuation_path, lunar_myth, parental_imagos).
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 selection guidance. The [Group: Modern Psychological] tag implies a domain but does not tell the agent when this is the right tool versus the other Greene modules or psyg_saturn_shadow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_cycles_of_becomingRudhyar: Cycles of BecomingCRead-onlyIdempotentInspect
Outer-planet cycles as becoming.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/cycles-of-becoming] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| cycles | No | |
| source | No | |
| doctrine | No | |
| currentAge | No | |
| disclaimer | 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 needs no restating. The description does add genuinely useful non-schema context: the credit cost (10 credits, Tier 1) and the concrete endpoint. It does not, however, disclose what the computation returns or any limits on it.
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 metadata-block format is compact, front-loaded, and wastes no words; the required params and cost are easy to scan. It is efficient, though the brevity is partly under-specification rather than deliberate concision.
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, 10-credit specialized astrology computation with many confusable siblings, this is far too thin: no explanation of the Rudhyar cycle concept, no guidance on sidereal vs tropical or ayanamsa choice, no note about which optional parameters matter. The output schema relieves it of describing return values, but the selection and configuration story is still 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 only 33% across 15 parameters, so the description should compensate — it does not. It merely repeats the four required fields already enforced by the schema's required array, and says nothing about city, name, cosmogram, zodiacType, houseSystem, timezone interaction, or the compact-mode fields, several of which are undocumented in 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?
"Outer-planet cycles as becoming" names a subject area but never states the operation performed or what the agent receives back. With many near-duplicate siblings (astroway_psyr_cycles_of_becoming, astroway_psychological_modern_arroyo_cycle_of_becoming), the description does nothing to distinguish this tool. It leans toward a poetic restatement rather than a specific 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?
The description contains no when-to-use guidance, no prerequisite conditions, and no mention of the closely related Rudhyar/Arroyo cycle siblings. The only operational metadata is the required-parameter list and credit cost, neither of which tells an agent when to select this tool over an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_lunation_phaseRudhyar: Lunation PhaseCRead-onlyIdempotentInspect
8-phase lunation classification.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/lunation-phase] [Required: date, time, latitude, longitude] [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 |
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 operational context — credit cost (10, Tier 1) and the explicit endpoint — but says nothing about what the returned classification contains or any behavioral caveats 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?
Very short and front-loaded: the classification line comes first, followed by compact bracketed group/endpoint/required/cost facts. Every line carries some information, though the extreme brevity shades into under-specification rather than efficient concision.
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 tropical/sidereal, ayanamsa, house-system, and timezone options, this description is too thin — it never explains what the 8 phases are, how sidereal mode interacts with ayanamsa, or when the extra parameters matter. An output schema exists, so return-value explanation is not required, but the input-side complexity is left 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?
With 15 parameters and only ~33% schema description coverage, the description must compensate, yet it only lists the four required parameters, which the schema's `required` array already states. It adds no meaning for the many undocumented knobs (cosmogram, zodiacType, houseSystem, ayanamsaId, ayanamsa selection) or for the timezone vs timezoneOffset 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?
The description names a specific output ('8-phase lunation classification'), which is more than a restatement of the title, but it is a bare noun phrase with no verb and no differentiation from near-identical siblings such as astroway_psyr_lunation_phase, astroway_calendar_moon_phase, astroway_stream_lunar_phase, and astroway_render_moon_phase. An agent cannot tell from this text why it should pick the Rudhyar/Modern Psychological variant.
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 bracketed metadata gives required inputs and price, which are operational facts rather than usage guidance, so the agent is left to infer the tool's place among the many lunation/moon-phase siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_personality_keynoteRudhyar: Personality KeynoteCRead-onlyIdempotentInspect
Single-keynote signature for the chart.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/personality-keynote] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| keynote | 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 one piece of behavior not in annotations - the cost ('10 credits, Tier 1') and the underlying POST endpoint - which is genuinely useful, but it says nothing about what the single keynote output contains or its interpretive scope.
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 content sentence plus bracketed metadata lines are compact and front-loaded, with no filler prose. However, three of the four bracketed lines (group, endpoint) mainly restate catalog metadata while the one sentence carrying the actual meaning does almost no 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?
An output schema exists, so return values needn't be explained, and annotations cover the safety profile. But for a 15-parameter domain-specific interpretive endpoint with weak schema documentation and a vague term ('keynote') at its core, the description leaves the agent without enough to select or configure the 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 description coverage is only 33% across 15 parameters, so the description is expected to compensate, yet it only re-lists the four required fields already declared in the schema's required array. The eleven optional parameters (fields, ayanamsa, timezone, zodiacType, houseSystem, precision, etc.) receive no clarification from the description at all.
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 only 'Single-keynote signature for the chart', which is close to a restatement of the name/title rather than an explanation of what a Rudhyar personality keynote is or how it differs from the many neighboring psychological tools. It does not distinguish itself from the near-identical sibling astroway_psyr_personality_keynote or from rudhyar_cycles_of_becoming / lunation_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?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives among the large sibling set (e.g. psyr_personality_keynote, rudhyar_symbolic_degrees). The 'Required: date, time, latitude, longitude' line is input preconditions, not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_symbolic_degreesRudhyar: Symbolic DegreesCRead-onlyIdempotentInspect
Symbolic-degree analysis.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/symbolic-degrees] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| ackNote | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | 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 safety is covered. The description adds only the cost (10 credits, Tier 1) and the HTTP endpoint – useful but minimal. It does not explain what the symbolic-degree output entails, computation scope, or how ayahuasca-related sidereal options like the ayanamsa parameter would meaningfully change results for a Rudhyar (western) technique.
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 short and front-loaded with the (uninformative) purpose statement first, then bracket metadata. It is concise but underwritten – brevity here reflects under-specification rather than efficient communication.
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 15 parameters, three enum groups, and heavy sibling overlap in the Modern Psychological Rudhyar family, the description is inadequate. The presence of an output schema means return format needn't be explained, but the description should at least characterize what symbolic degrees are and why an agent would reach for this over the four neighbouring Rudhyar endpoints.
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% with 15 parameters, and the description adds nothing about semantics. It only re-lists the four required parameters (date, time, latitude, longitude) which the schema's required array already declares. Undocumented parameters such as cosmogram, ayanamsaId, zodiacType, and houseSystem go unmentioned, and no indication is given for which parameters matter for a Rudhyar analysis specifically.
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 only 'Symbolic-degree analysis' – a restatement of the title with no verb or explanation of what a Rudhyar symbolic degree is or what the tool returns. It does not differentiate this endpoint from sibling astroway_psychological_modern_rudhyar_cycles_of_becoming, astroway_psychological_modern_rudhyar_lunation_phase, or astroway_psychological_modern_rudhyar_personality_keynote, all of which share the same Modern Psychological prefix.
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 Rudhyar technique versus other Rudhyar endpoints, or versus Sabian symbols (astroway_aspects_sabian_symbols). The bracketed metadata lists required inputs and cost but says nothing about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psychological_modern_rudhyar_transits_as_rebirthRudhyar: Transits as RebirthCRead-onlyIdempotentInspect
Reframe major transits as rebirth.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/transits-as-rebirth] [Required: date, time, latitude, longitude] [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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| rebirthThemes | No | |
| natalRebirthSignatures | 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 non-annotation context: it is a paid POST costing 10 credits (Tier 1), which matters for budgeting and for not treating it as a free local read. Beyond cost, it discloses nothing about output shape or auth (output schema exists, so return values are partly excused).
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 line is front-loaded and the tool is very compact, with no redundant prose. The bracketed metadata block (group, endpoint, required set, cost tier) carries selection-relevant facts rather than filler. Slight deduction because the tag template is generic across the catalog and the one purpose sentence does 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, credit-costing tool with 33% schema coverage, the definition is too thin: no explanation of what 'rebirth' analysis produces, no guidance on zodiacType/ayanamsa/houseSystem selection, and no prerequisite or input-format notes beyond the required list. The existing output schema excuses return-value description, but the input and routing 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 only 33% across 15 parameters, so the description is expected to compensate and does not. It merely restates the four required fields (date, time, latitude, longitude) that the schema already marks as required, and adds no meaning for the undocumented fields such as zodiacType, houseSystem, cosmogram or ayanamsaId.
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 verb+resource ("Reframe major transits as rebirth") is present but thematic rather than functional — it never says what artifact the agent gets back or what 'rebirth framing' means operationally. It also fails to distinguish itself from the near-identical sibling astroway_psyr_transits_as_rebirth or from astroway_ai_interpret_transits / astroway_prognostics_transits. An agent can guess the domain but not why this tool over its twins.
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, when-not-to-use, or alternative-routing guidance. The bracketed tags give group, endpoint, required params and cost, which is context but not usage guidance. With multiple closely named transit/psychological siblings, the absence of routing advice is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_archetypal_figuresGreene: Archetypal FiguresBRead-onlyIdempotentInspect
Archetypal patterns in the chart per Liz Greene.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/archetypal-figures] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_archetypal_figures.)
| 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 |
|---|---|---|
| source | No | |
| figures | No | |
| doctrine | No | |
| disclaimer | 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 new operational facts: a per-call cost of 10 credits (Tier 1) and the fact that this is an alias of the canonical Greene endpoint, which matters for budgeting and for avoiding duplicate calls. It stops short of describing latency or any special chart assumptions.
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 one-line purpose and then uses compact bracketed metadata with zero filler; the alias note is short and placed last. It is lean, though arguably too lean for a 15-parameter tool — the terseness shades into under-specification rather than pure 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?
An output schema exists, so return values need not be explained, and the alias/endpoint/cost metadata is present. However, for a complex 15-parameter chart tool, the description gives no sense of what distinguishes the output from its many siblings, leaving the agent to infer selection from the 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 only 33% across 15 parameters, and the description contributes nothing beyond restating the four required fields (date, time, latitude, longitude) that the schema and required array already supply. Parameters like houseSystem, zodiacType, ayanamsaId and cosmogram are left with no guidance in either place.
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: it derives 'archetypal patterns in the chart' using Liz Greene's framework, which distinguishes it from the Arroyo and Rudhyar siblings and from the other Greene tools (lunar myth, parental imagos, Saturn shadow). The phrase 'archetypal patterns' is still somewhat abstract about what is actually produced, 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?
No when-to-use, when-not, or alternative-selection guidance is given. The group tag 'Modern Psychological' and the author name imply a context, but the description never tells the agent how to choose between this and astroway_psyg_individuation_path, lunar_myth, or the canonical astroway_psychological_modern_greene_archetypal_figures beyond a bare equivalence note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_individuation_pathGreene: Individuation PathCRead-onlyIdempotentInspect
Individuation arc per natal chart.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/individuation-path] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_individuation_path.)
| 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 |
|---|---|---|
| source | No | |
| keyAges | No | |
| doctrine | No | |
| disclaimer | No | |
| individuationMarkers | 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 usefully adds the cost (10 credits, Tier 1) and the HTTP endpoint, which annotations do not provide, but says nothing about what the response contains or any limits on the computed arc.
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, front-loaded with the one-line purpose, and the bracketed metadata lines are scannable. Little is wasted, though the tag lines are boilerplate rather than substantive.
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 computed astrology tool, the description leaves the agent without any sense of what the output covers or how optional inputs change it. An output schema exists, so return values need not be spelled out, but the near-total absence of usage and parameter context leaves it under-specified.
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 at 33% schema description coverage, the description should compensate, but it only recites the four required fields already listed in the schema's required array. It adds no meaning for ayanamsa, houseSystem, zodiacType, fields, precision, or the timezone/timezoneOffset 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?
It names a specific artifact ('individuation arc') and its input basis (natal chart), which is better than a bare name restatement, but 'individuation arc' is unexplained jargon and the tool is essentially identified only as the aliased Greene endpoint. It gives no differentiation from siblings like astroway_psyg_saturn_shadow, astroway_psyg_archetypal_figures or the psyr_* family beyond the group label.
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 tool over the many other psychological/Greene tools, no prerequisites, and no exclusions. The only routing information is the alias note, which points to the identical tool rather than an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_lunar_mythGreene: Lunar MythBRead-onlyIdempotentInspect
Lunar archetypes by sign and house.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/lunar-myth] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_lunar_myth.)
| 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 |
|---|---|---|
| moon | No | |
| theme | No | |
| shadow | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| mythicFigure | 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 description's bar is lower. It usefully adds billing tier (10 credits, Tier 1), the endpoint, and the group, none of which are in the annotations or schema. It says nothing about what the interpretation returns or how it is computed, but the output schema covers the return 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?
Compact and front-loaded: the purpose sentence leads, and machine-relevant metadata is bracketed in a scannable block. Every element is short, though the required-parameter line is pure duplication of structured data and earns no 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 described, and the definition supplies cost, endpoint, group, and alias. Still, a 15-parameter tool with 33% schema coverage and no interpretation of the optional chart-construction parameters leaves the agent under-informed for anything beyond the default 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?
Schema description coverage is only 33% across 15 parameters, so the description must compensate — and it does not. Its '[Required: date, time, latitude, longitude]' line merely repeats the four required fields already declared in the schema, adding no syntax, format, or semantics for the eleven optional parameters (ayanamsa, houseSystem, fields, precision, etc.).
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 the resource and scope concretely: 'Lunar archetypes by sign and house', which is a specific interpretive output rather than a restatement of the name. It also discloses that this is an alias for astroway_psychological_modern_greene_lunar_myth, which lets the agent deduplicate. It does not, however, distinguish itself from the other Greene tools (archetypal_figures, parental_imagos, saturn_shadow) beyond the word 'lunar'.
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. It never says which question this answers versus astroway_psyg_archetypal_figures or the other modern-psychological siblings, nor does it state prerequisites beyond the required-parameter list. The alias note routes to an equivalent tool, not to an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_parental_imagosGreene: Parental ImagosCRead-onlyIdempotentInspect
Parental imagos analysis.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/parental-imagos] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_parental_imagos.)
| 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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowMarkers | No | |
| exteriorParent | No | |
| interiorParent | 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 safety is covered. The description usefully adds non-annotation context: the POST endpoint, the required-field set, and a cost of 10 credits (Tier 1), which an agent needs for budgeting. It does not mention rate limits, latency, or failure modes.
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 bracketed metadata block is compact, front-loaded, and easy to scan, with no filler sentences. The trade-off is that terseness is achieved by omitting explanatory content rather than by tight prose, but the structure itself 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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile; the cost and endpoint metadata round out the operational picture. However, for a 15-parameter tool with low schema coverage, the description leaves an agent without guidance on the sidereal/house-system options that materially change the result, so it 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 15 parameters and only ~33% schema description coverage, the description should compensate, but it only lists the four required fields (date, time, latitude, longitude), which the schema already marks as required. Optional but consequential params like `ayanamsa`, `houseSystem`, `zodiacType`, `fields`, and `precision` receive no guidance in the description beyond what partial schema descriptions provide.
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 only prose is "Parental imagos analysis," which essentially restates the title "Greene: Parental Imagos" rather than defining what the analysis computes or returns. It does add one differentiating fact — that it is a cursor-friendly alias of `astroway_psychological_modern_greene_parental_imagos` — which helps an agent recognize the canonical sibling, but the core 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?
There is no statement of when to use this tool versus the many other psychological/Modern Psychological siblings (e.g., `astroway_psyg_archetypal_figures`, `astroway_psyg_saturn_shadow`) or the canonical long-named twin. The alias note implies interchangeability with the canonical tool but gives no selection criteria, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyg_saturn_shadowGreene: Saturn ShadowCRead-onlyIdempotentInspect
Saturn-as-shadow integration work.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/greene/saturn-shadow] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_greene_saturn_shadow.)
| 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 |
|---|---|---|
| saturn | No | |
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| shadowTheme | No | |
| integrationPrompt | 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 the safety profile is covered. The description adds genuinely new context: the POST endpoint, the 10-credit Tier 1 cost, and the required-input set, which is useful for planning calls. It does not, however, describe what computation or behavioral edge cases (e.g. sidereal vs tropical requirements) 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?
Compact and front-loaded with the concept, followed by tight bracketed metadata (group, endpoint, required, cost) and the alias note. Nearly every line carries information, though the opening phrase is too vague to be the headline.
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 are present, so return values and safety need not be restated. Still, for a 15-parameter computational chart tool the description leaves the agent guessing about the doctrinal/psychological framing and which optional inputs matter, making it 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?
Schema description coverage is only 33% across 15 parameters, so the description should compensate; instead it merely restates the four required fields already marked required in the schema. No meaning is added for the many undocumented options (zodiacType, houseSystem, cosmogram, name, city, etc.) that an agent would need to select correctly.
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 first line 'Saturn-as-shadow integration work' identifies the subject (Liz Greene's Saturn shadow concept) but is a vague noun phrase without a clear verb or output, and it does not distinguish this from its psyg siblings (archetypal_figures, individuation_path, lunar_myth, parental_imagos). The Endpoint and Group tags help place it within the Modern Psychological family but not the specific work performed.
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 states required inputs (date, time, latitude, longitude), the endpoint, and the cost, but gives no guidance on when to choose this tool over the sibling Greene/psyg psychological tools or what use case it serves. No alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_cycles_of_becomingRudhyar: Cycles of BecomingCRead-onlyIdempotentInspect
Outer-planet cycles as becoming.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/cycles-of-becoming] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_cycles_of_becoming.)
| 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 |
|---|---|---|
| cycles | No | |
| source | No | |
| doctrine | No | |
| currentAge | No | |
| disclaimer | 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 does add non-obvious operational context the annotations cannot: the 10-credit Tier 1 cost, the required input quartet, and the fact that this is a cursor-friendly alias of the fully-named endpoint. It discloses nothing about computation or result content, so it earns moderate rather than high credit.
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 fragment plus the bracketed metadata block is front-loaded and free of padding, so nothing is wasted. However the terseness is under-specification rather than true conciseness, and the useful metadata (endpoint, cost, alias) is tucked below the near-empty headline 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?
For a 15-parameter chart-computation tool this is far too thin. An output schema exists, so return values need not be described, and annotations cover safety, but the description never says what the tool computes, what tradition-specific output to expect, or how the alias relates to the canonical endpoint.
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 carries a real burden here, yet it only repeats the four required fields already listed in the schema. Parameters such as city, name, cosmogram, zodiacType and houseSystem are undocumented in both places, and the description adds no meaning for any of them.
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 the fragment "Outer-planet cycles as becoming." It names a subject area (outer-planet cycles) but supplies no verb and no statement of what the tool actually produces, so it largely restates the title "Cycles of Becoming". It also gives no basis for distinguishing it from siblings like astroway_psyr_lunation_phase or astroway_psyr_transits_as_rebirth.
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-selection guidance anywhere in the text. A reader cannot tell from this description whether to reach for this tool or for the many adjacent Rudhyar/psychological tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_lunation_phaseRudhyar: Lunation PhaseCRead-onlyIdempotentInspect
8-phase lunation classification.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/lunation-phase] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_lunation_phase.)
| 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 |
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 non-annotation context: the 10-credit cost tier, the POST endpoint, and the group. However it says nothing about computation semantics, precision defaults, or error behavior beyond the required-parameter list.
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 bracketed metadata format is compact and front-loads the core purpose before the endpoint/cost details. Nothing is padded or redundant, though the required-parameter line duplicates 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?
For a 15-parameter endpoint with an output schema present (so return values need not be explained), the description still omits how the classification is derived, how to choose between tropical/sidereal and the ayanamsa options, and how to use compact mode. Only the required fields and the credit cost are conveyed, leaving the agent under-equipped to invoke 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 33% across 15 parameters, so the description is expected to compensate and does not. It merely restates the four required fields (date, time, latitude, longitude) that the schema already marks required, and never mentions the 11 optional parameters such as ayanamsa, timezone, fields, precision or houseSystem.
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 phrase '8-phase lunation classification' names a specific astrological resource and the title scopes it to Rudhyar, so an agent can tell it computes a lunation-phase classification rather than a generic moon phase. It also disambiguates itself from its canonical sibling by declaring it is a Cursor-friendly alias for `astroway_psychological_modern_rudhyar_lunation_phase`. The weakness is the absence of a verb (compute/return) and no differentiation from near-neighbours like astroway_calendar_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?
There is no when-to-use or when-not-to-use statement and no named alternative among the many lunation-related siblings (calendar_moon_phase, render_moon_phase, stream_lunar_phase). The only routing information is the alias equivalence, which tells the agent this is interchangeable with the long-named tool rather than when to pick it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_personality_keynoteRudhyar: Personality KeynoteCRead-onlyIdempotentInspect
Single-keynote signature for the chart.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/personality-keynote] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_personality_keynote.)
| 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 |
|---|---|---|
| keynote | 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 profile is covered. The description adds genuinely new operational context the annotations do not carry: the HTTP endpoint, the 10-credit Tier 1 charge, and the required input set — useful for budgeting and call planning.
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?
Compact and front-loaded: the purpose leads, bracketed metadata follows, and the alias note is placed last. No filler sentences, though the bracket block is terse enough that some lines (endpoint) carry 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?
For a 15-parameter, credit-charged endpoint with low schema coverage, the description leaves major gaps: no indication of which optional parameters matter, no defaults guidance, and no differentiation from the psychological sibling family. The existing output schema and annotations cover return shape and safety, but the input-side 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 description coverage is only 33% across 15 parameters, so the description is expected to compensate, and it does not. It merely restates the four required parameters already marked required in the schema and says nothing about ayanamsa, timezone/timezoneOffset, houseSystem, fields, or precision semantics.
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?
"Single-keynote signature for the chart" names a resource and a method (Rudhyar, via title/alias) but never explains what a 'keynote signature' actually is or what it returns conceptually. It is distinguishable from other Rudhyar tools only weakly, through the 'keynote' word; the alias sentence adds identification value but not 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 statement of when to choose this tool over the many sibling psychological/interpretation tools (e.g. astroway_psyr_symbolic_degrees, astroway_ai_interpret_element). Only required inputs and cost are given, which is operational 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_psyr_symbolic_degreesRudhyar: Symbolic DegreesCRead-onlyIdempotentInspect
Symbolic-degree analysis.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/symbolic-degrees] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_symbolic_degrees.)
| 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 |
|---|---|---|
| source | No | |
| ackNote | No | |
| doctrine | No | |
| perPlanet | No | |
| disclaimer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds genuinely useful context: the endpoint, the 10-credit Tier 1 cost, and the required inputs. It still says nothing about what is returned or computed.
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 bracketed metadata block is compact and front-loads the key facts (group, endpoint, required inputs, cost). Nothing is wasted, though the content is largely administrative rather than explanatory.
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, for a 15-parameter, 10-credit specialized analysis tool, the description omits any conceptual explanation of symbolic degrees, leaving an agent unable to judge what it will get.
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 listed required params (date, time, latitude, longitude) merely duplicate the schema's required array, and schema description coverage is only 33%. With 15 parameters, several of which (zodiacType, houseSystem, ayanamsa) are unannotated, the description does nothing 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 the resource ('symbolic-degree analysis') and gives the endpoint, group, and cost, which is useful orientation. But it never says what a symbolic-degree analysis actually computes or produces, and the only sibling differentiation comes from the parenthetical alias note rather than from describing the output.
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. It does not say when an agent should pick symbolic degrees over the other Rudhyar tools (cycles_of_becoming, lunation_phase, personality_keynote) nor confirm that this alias and the full-name tool are interchangeable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
astroway_psyr_transits_as_rebirthRudhyar: Transits as RebirthBRead-onlyIdempotentInspect
Reframe major transits as rebirth.
[Group: Modern Psychological] [Endpoint: POST /v1/modern/rudhyar/transits-as-rebirth] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
(Cursor-friendly alias for astroway_psychological_modern_rudhyar_transits_as_rebirth.)
| 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 |
|---|---|---|
| source | No | |
| doctrine | No | |
| disclaimer | No | |
| rebirthThemes | No | |
| natalRebirthSignatures | 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). The description adds context annotations don't carry: the POST endpoint, the 10-credit Tier 1 cost, and the alias relationship to the canonical tool name. It does not disclose return shape, but an 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?
Front-loaded one-line purpose followed by compact bracketed metadata blocks; nothing is padded or redundant. Slightly terse for the amount of behavior it still needs to convey.
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 cost/required inputs are covered. But for a 15-param interpretive tool with 33% schema coverage and heavy sibling overlap, the absence of any usage routing or param clarification leaves 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% across 15 params; several user-facing params (city, date, time, zodiacType, houseSystem, cosmogram) are undocumented in both schema and description. The description only restates the four required params already declared in `required`, adding no semantic value over 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+resource ('Reframe major transits as rebirth') and, via the cursor-friendly alias note, ties itself to the canonical sibling `astroway_psychological_modern_rudhyar_transits_as_rebirth`, which aids disambiguation. However, 'rebirth' is an abstract framing that doesn't tell the agent what output form (interpretation text vs. chart) to expect.
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 and no routing vs. alternatives such as `astroway_prognostics_transits` or `astroway_ai_interpret_transits`, both of which plausibly compete. Only required inputs and cost are given, which is invocation metadata 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
45 tool updates
- First observed
astroway_account_status - First observed
astroway_agent_tools - First observed
astroway_cost_estimate - 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_psya_cycle_of_becoming - First observed
astroway_psya_element_balance - First observed
astroway_psya_element_integration - First observed
astroway_psya_relational_element_map - First observed
astroway_psya_water_houses_trauma - First observed
astroway_psychological_modern_arroyo_cycle_of_becoming - First observed
astroway_psychological_modern_arroyo_element_balance - First observed
astroway_psychological_modern_arroyo_element_integration - First observed
astroway_psychological_modern_arroyo_relational_element_map - First observed
astroway_psychological_modern_arroyo_water_houses_trauma - First observed
astroway_psychological_modern_greene_archetypal_figures - First observed
astroway_psychological_modern_greene_individuation_path - First observed
astroway_psychological_modern_greene_lunar_myth - First observed
astroway_psychological_modern_greene_parental_imagos - First observed
astroway_psychological_modern_greene_saturn_shadow - First observed
astroway_psychological_modern_rudhyar_cycles_of_becoming - First observed
astroway_psychological_modern_rudhyar_lunation_phase - First observed
astroway_psychological_modern_rudhyar_personality_keynote - First observed
astroway_psychological_modern_rudhyar_symbolic_degrees - First observed
astroway_psychological_modern_rudhyar_transits_as_rebirth - First observed
astroway_psyg_archetypal_figures - First observed
astroway_psyg_individuation_path - First observed
astroway_psyg_lunar_myth - First observed
astroway_psyg_parental_imagos - First observed
astroway_psyg_saturn_shadow - First observed
astroway_psyr_cycles_of_becoming - First observed
astroway_psyr_lunation_phase - First observed
astroway_psyr_personality_keynote - First observed
astroway_psyr_symbolic_degrees - First observed
astroway_psyr_transits_as_rebirth
Related MCP Connectors
Synastry, composite, compatibility scores, family dynamics and pet charts.
Transits, progressions, directions, returns, cosmobiology and evolutionary technique.
Lots, sect, triplicity rulers, zodiacal releasing, annual profections and horary.
Real astrology for AI agents: cosmic weather, synastry, timing, astrocartography, and divination.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real astrology and tarot computations using actual ephemeris and a 78-card deck, returning structured data such as natal charts, synastry, transits, and tarot draws without relying on an LLM for astrological facts.MIT
- AlicenseAqualityAmaintenanceVedic and Western astrology for AI agents: 103 read-only tools for natal charts, dasha, kundali matching with Rajju and Vedha vetoes, panchanga, numerology and tarot, backed by Swiss Ephemeris and verified against NASA JPL Horizons.103MIT
- FlicenseBqualityDmaintenanceEnables users to perform tarot card readings and generate horoscopes based on specified dates, times, and locations. Provides mystical divination services through tarot draws and astrological calculations.2-
- AlicenseNot gradedqualityCmaintenanceA free, read-only astrology server that computes natal charts with Placidus houses, daily and weekly transits, and synastry comparisons from birth date, time and place, along with plain-language readings, chart images and shareable X cards. It also generates sun-sign readings and festive star cards, plus playful matches against a list of famous people, without login, payment or stored user data.55 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.