Skip to main content
Glama

AstroWay Chinese metaphysics

Server Details

BaZi four pillars, Zi Wei Dou Shu, the Chinese calendar and feng shui.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

C2.8/5.0

Scored across 62 tools

Disambiguation2/5

Heavy overlap: astroway_bazi_chart returns everything the individual bazi_hidden_stems, bazi_na_yin, bazi_life_stages, bazi_element_balance, bazi_strength, bazi_symbolic_stars and bazi_interactions tools compute, and astroway_ziwei_twelve_palaces duplicates the twelve individual ziwei_palace_* tools. Additionally astroway_agent_tools vs astroway_mcp_tools_list, and astroway_mcp_streaming vs astroway_mcp_tool_call_stream, are hard to tell apart. An agent will struggle to pick the right one.

Naming Consistency4/5

Nearly all tools use a consistent astroway_<group>_<noun> snake_case scheme (astroway_bazi_*, astroway_chinese_*, astroway_ziwei_*, astroway_mcp_*). A few outliers like astroway_agent_tools and astroway_cost_estimate break the group prefix but remain readable and snake_case.

Tool Count2/5

62 tools is well beyond a comfortable surface, and many are over-granular: twelve separate 5-credit ziwei_palace_* tools that each return a single palace aspect, plus near-duplicate aggregation tools (bazi_chart, ziwei_twelve_palaces). The breadth of domains justifies some volume but the set is bloated with thin, overlapping entries.

Completeness4/5

Coverage across BaZi, Zi Wei Dou Shu, Feng Shui, zodiac, almanac, solar-time and AI reasoning is broad and covers most classical computations plus account/cost utilities. Minor issues include deprecated tools (ziwei_full_chart) and unclear lifecycle for some AI endpoints, but core workflows are covered.

Available Tools

62 tools
astroway_account_statusAccount StatusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 definitionsB
Read-onlyIdempotent
Inspect

Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. format=openai (default) returns { type, function } objects you can spread straight into a chat completion; format=anthropic returns { name, description, input_schema }. The objects carry nothing of ours: how to call each t…

[Group: Agent Platform] [Cost: see your plan — endpoint not in the public credit manifest]

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text filter applied within the selection, matched against path, summary, description and group.
limitNoHow 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`.
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
formatNoWhich vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`.openai
selectNoWhat 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
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
notesNo
toolsNo
formatNo
selectNo
executorsNo
truncatedNo
totalMatchedNo
totalAvailableNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds the useful guarantee that the emitted schema is the schema the endpoint validates and that the objects carry no vendor-specific fields, but says nothing about cost, rate limits, or response size behavior beyond what the schema states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The visible portion is front-loaded on what is returned and the two format shapes, with no filler. It is somewhat terse for a tool with six parameters and a listed default/select semantics, but every visible sentence carries information.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and annotations cover the read-only/idempotent profile. The remaining gap is routing: nothing tells the agent when to choose this over astroway_mcp_tools_list or similar listing tools.

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

Parameters3/5

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

Schema description coverage is 100%, so every one of the six parameters is already documented in the schema, including the format enum and the select/fields/precision semantics. The description restates the format option rather than adding new meaning, so the baseline 3 for full schema coverage applies.

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

Purpose4/5

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

The description states a specific verb and resource: returning agent tool definitions generated from the live OpenAPI document, in either OpenAI or Anthropic shape. That is clear enough to differentiate it from report/chart tools in the namespace, but it never names the closest sibling (astroway_mcp_tools_list) or explains the distinction, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no stated alternative. The mention of `format=openai` as the default is parameter behavior, not a usage rule, and the agent is left to infer whether this is for building an agent, curated retrieval, or an MCP tool listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_chartFull BaZi chartA
Read-onlyIdempotent
Inspect

The four pillars with everything the classical apparatus reads off them in one call: hidden stems, na yin, the twelve stages of the day master, element balance over all eight characters, the strength verdict, symbolic stars from both reference pillars, and the branch and stem interactions. Localised by language. Pass longitude with trueSolarTime true to cut the double-hour fro…

[Group: BaZi (Four Pillars)] [Cost: 20 credits (Tier 2)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
languageNo
strengthNo
dayMasterNo
solarYearNo
disclaimerNo
methodologyNo
stageSchoolNo
interactionsNo
symbolicStarsNo
elementBalanceNo

TDQS

A3.9/5.0
Behavior4/5

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 real behavioral content beyond that: the response is localised by language, and longitude combined with trueSolarTime affects how the double-hour is cut (a genuine accuracy caveat). It stops short of disclosing cost/tier or error behavior, but the added context is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the aggregate's value proposition, then the enumeration of contents, then the practical solar-time tip — a sensible order. The single dense listing sentence is long and the text is visibly truncated mid-clause ('cut the double-hour fro…'), but there is little filler for a tool of this scope.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description covers the payload contents and the main calculation caveat well. For an 11-parameter aggregate with low schema coverage, the remaining gap is the absence of any statement about when to choose this over its many granular BaZi siblings.

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

Parameters3/5

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

Schema description coverage is only 36% (roughly 4 of 11 params), so the description carries some of the burden and it partially does: it explains the longitude + trueSolarTime interaction and the language localisation. It says nothing about stageSchool (classical vs unified), includeFullTable, the compact-mode fields/precision pair, or the date/time formats, leaving several parameters undocumented in both places.

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

Purpose5/5

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

Names a specific resource (the full BaZi four-pillar chart) and enumerates exactly what the aggregate returns — hidden stems, na yin, twelve stages, element balance, strength verdict, symbolic stars, interactions. Because the sibling set contains a granular tool for nearly each of those items (astroway_bazi_hidden_stems, astroway_bazi_na_yin, astroway_bazi_element_balance, etc.), the phrase 'everything ... in one call' is precisely the differentiator an agent needs.

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

Usage Guidelines3/5

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

'in one call' implies this is the aggregate alternative to the granular BaZi siblings, and the closing sentence gives a conditional ('Pass longitude with trueSolarTime true to...'), which is configuration guidance rather than tool-selection guidance. It never explicitly states when to prefer this over astroway_bazi_four_pillars or the individual endpoints, so the routing decision is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_day_masterDay MasterB
Read-onlyIdempotent
Inspect

Day stem element + yin/yang polarity + canonical archetype description. The "self" character in BaZi from which all other pillars are interpreted.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
dayMasterNo
dayPillarNo
disclaimerNo
interpretationNo

TDQS

B3/5.0
Behavior3/5

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 structurally. The description adds operational context the annotations do not: the 10-credit Tier 1 cost and the BaZi group membership. It adds no pagination, caching, or dependency behavior, so it earns a moderate rather than high score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is short, front-loaded with what the tool returns, and every element (including the group and credit tags) carries information. Slightly clipped on the phrasing of the second sentence but free of padding.

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

Completeness3/5

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

An output schema exists, so return values need no prose, and the safety profile is in annotations. What is missing is workflow context: whether time is needed for a day-master-only reading, where this fits relative to four_pillars or ten_gods, and any preconditions on the date input. Adequate but with clear gaps for a 7-parameter chart tool.

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

Parameters2/5

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

Schema description coverage is 57%, and the two central parameters (date, required, and time) carry only regex patterns with no descriptions in either the schema or the description. The description explains nothing about how the date/time inputs drive the day master or how fields/precision/language behave, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific output: day stem element, yin/yang polarity, and canonical archetype description, and situates it in BaZi as the 'self' character. It is distinguishable from siblings like four_pillars or year_pillar, though it never names a contrasting sibling explicitly. Clear verb+resource, one notch below full sibling differentiation.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not guidance, and no alternative tool is named, despite the dense BaZi sibling cluster (four_pillars, hidden_stems, ten_gods, strength). The reader can infer this is one sub-step of BaZi analysis, but nothing routes them to or away from it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_element_balance5-Element BalanceB
Read-onlyIdempotent
Inspect

Element balance across the whole chart. The balance object opens the branches and counts all eight characters three ways: visible, with every hidden stem, and weighted so the total stays at eight. The top-level elementCounts, dominantElement and missingElements are DEPRECATED (year and month only, four characters, branches unopened) and keep answering unchanged until 2027-09…

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
balanceNo
pillarsNo
solarYearNo
disclaimerNo
methodologyNo
deprecationsNo
elementCountsNo
dominantElementNo
missingElementsNo

TDQS

B3.1/5.0
Behavior4/5

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 behavioral context beyond that: the `balance` object opens branches and counts three ways, and the top-level elementCounts/dominantElement/missingElements are deprecated but keep their legacy (four-character) semantics until 2027-09. This is exactly the kind of output-contract disclosure that helps an agent interpret results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the deprecation caveat is placed after it, which is the right ordering. But the text is dense with internal jargon ('opens the branches', 'stays at eight') and appears truncated mid-sentence at '2027-09…', which weakens the structure.

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

Completeness3/5

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

An output schema exists, so return values need not be restated, and the deprecation note usefully covers the output contract. What is missing for a tool of this complexity is any parameter guidance and any differentiation from the many sibling BaZi tools, leaving gaps the agent must guess around.

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

Parameters2/5

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

Eleven parameters at only 36% schema description coverage, and the description says nothing about any of them – not date/time, not timezone vs timezoneOffset, not fields compact mode. With coverage this low the description is expected to compensate for the undocumented parameters and does not.

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

Purpose4/5

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

The opening sentence names a specific resource (element balance across the whole chart) and the following sentences specify the computation precisely: three counting methods over all eight characters. However, it never distinguishes itself from close siblings such as astroway_bazi_hidden_stems or astroway_bazi_strength, which also operate on the same chart, so the agent gets no routing signal.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternative tool is named. The only conditional information is about deprecated output fields, which affects interpretation of the response, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_four_pillarsFour Pillars (full)A
Read-onlyIdempotent
Inspect

All four pillars: year, month, day, hour. Day pillar uses the canonical 60-jiazi cycle (anchor 1990-01-01 = Bing-Yin). Pass time to compute the hour pillar; day and hour roll at 23:00 local, year and month at the exact Lichun and 節 instants.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
dayPillarNo
solarYearNo
disclaimerNo
hourPillarNo
yearPillarNo
monthPillarNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, so the bar is low, and the description adds genuinely useful domain behavior: the 60-jiazi anchor (1990-01-01 = Bing-Yin), the 23:00 local rollover for day/hour, and the exact Lichun/節 instants for year/month. The 10-credit cost is also disclosed. It does not mention timezone requirements or output shape, but annotations plus the output schema carry those.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences front-load the resource and the key computational rules, followed by compact group/cost metadata. No filler; each clause carries information.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and annotations cover the safety profile. The description supplies the timing rules an agent needs to interpret results correctly; the only gap is that it doesn't note the date/timezone prerequisites for accurate hour-pillar output.

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

Parameters3/5

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

Schema coverage is 57%: timezone, fields, precision and timezoneOffset are documented in the schema, while date and language are bare. The description only adds semantics for `time` (hour-pillar computation), so it does not compensate for the undocumented parameters. Baseline 3 is appropriate.

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

Purpose4/5

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

The description names a specific resource (all four pillars: year, month, day, hour) and implicitly differentiates from the single-pillar siblings (bazi_year_pillar, bazi_month_pillar, bazi_hour_pillar) by emphasizing 'All four.' It is clear what gets computed, though it never explicitly names an alternative tool to route against.

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

Usage Guidelines3/5

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

'Pass `time` to compute the hour pillar' is a usage hint for one parameter, but there is no explicit when-to-use/when-not guidance versus bazi_chart or the per-pillar siblings. The agent must infer that this is the full-chart option from the word 'All.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_hidden_stemsHidden stems (Cang Gan)C
Read-onlyIdempotent
Inspect

The one to three stems each branch shelters, with role and weight. This is where most of a chart's elements live: a chart with no visible Water can still be soaked in it. On the four storage branches the middle role belongs to the stored element, not to the second in the list.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
solarYearNo
weightingNo
disclaimerNo
methodologyNo

TDQS

C2.6/5.0
Behavior3/5

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 and the bar is lower. The description adds a genuinely non-obvious output-semantics caveat ('On the four storage branches the middle role belongs to the stored element, not to the second in the list'), which is useful interpretive context. It does not cover return shape, auth, or limits, so it earns a middling score rather than a high one.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core concept and reasonably short, but the middle sentence ('This is where most of a chart's elements live: a chart with no visible Water can still be soaked in it') is evocative illustration rather than functional guidance. The group/cost tags are compact and useful, but the descriptive rhetoric could be trimmed without loss.

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

Completeness2/5

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

For an 11-parameter tool with only 36% schema coverage, the description omits everything an agent needs to invoke it correctly: no param semantics, no usage context, no sibling routing. An output schema exists so return values need not be explained, but the input and selection gaps are substantial.

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

Parameters2/5

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

Schema description coverage is only 36% (11 params, ~4 described), so the description must compensate and it adds zero parameter information. Required 'date', 'time', 'language', 'stageSchool', 'trueSolarTime', and 'includeFullTable' are unexplained in both schema and description. The 'role and weight' and 'storage branches' language refers to output, not inputs, so it does not close the gap.

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

Purpose3/5

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

The description defines the concept (the one-to-three stems each branch shelters, with role and weight) and clearly belongs to the Hidden Stems domain, distinguishing it from other BaZi siblings by topic. However, it never states the action a verb+resource framing would give ('returns the hidden stems for a chart built from the supplied date'), leaving the agent to infer that this computes data rather than explains it. Concept is specific; the operation is only implied.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisite conditions, and no named alternatives among the many BaZi siblings (bazi_four_pillars, bazi_element_balance, etc.). Nothing tells the agent when hidden-stem data is the right call versus, say, the element balance tool that uses the same underlying concept.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_hour_pillarHour PillarB
Read-onlyIdempotent
Inspect

Hour pillar via 五鼠遁 (Five-Rats-Escape) day-stem → hour-stem table. The Zi hour opens the day at 23:00 local time.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateNo
timeNo
cstHourNo
dayPillarNo
localHourNo
disclaimerNo
hourPillarNo
methodologyNo
timezoneOffsetNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile needs no restating. The description adds genuinely useful domain behavior: the day opens at the Zi hour at 23:00 local time, which materially affects which hour pillar is returned and is not derivable from the annotations or schema. Cost tier is also disclosed. It stops short of stating the input source (birth date/time/location) or output shape, but the output schema covers the latter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and tight: the operative sentence comes first and the Group/Cost tags are compact metadata rather than filler. The untranslated 五鼠遁 term is slightly opaque for a non-specialist but is followed by an English gloss, so no meaning is lost.

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

Completeness3/5

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

An output schema exists, so return values need not be described. For a specialized BaZi sub-tool buried among hundreds of siblings, however, the definition omits the minimal context an agent needs to select it: what the Hour pillar represents, how it differs from the sibling pillar tools, and what inputs it draws on. Adequate but with clear gaps.

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

Parameters3/5

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

With 7 parameters and 57% schema description coverage, the schema already documents the tricky ones (timezone, timezoneOffset, precision, fields). The description adds no parameter-level detail and never clarifies the required date/time formats (patterns only) or the language field, which the schema leaves bare. The mention of 23:00 'local time' loosely signals the timezone parameter's relevance, so it is not a total wash, but it does not compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific verb+resource: it derives the Hour pillar using the 五鼠遁 day-stem-to-hour-stem table, and clarifies the Zi-hour day boundary. That is more precise than a tautology. It does not, however, distinguish itself from closely-named siblings like astroway_bazi_four_pillars, astroway_bazi_year_pillar or astroway_bazi_chart, so the agent must infer the distinction from the name alone.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus the other BaZi pillar tools or the aggregate bazi_four_pillars/bazi_chart. No prerequisites, exclusions, or alternatives are named. The Group and Cost tags give taxonomy and price but not usage conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_interactionsBranch and stem interactionsB
Read-onlyIdempotent
Inspect

Stem combinations, six harmonies, full and half trines, clashes, harms, punishments and self-punishments present in the chart, with the pillars involved and the element a combination produces.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
solarYearNo
disclaimerNo
methodologyNo
interactionsNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and a closed world, so the safety profile is covered. The description usefully discloses the report contents (pillar pairs plus resulting element) and the credit cost (Tier 1, 10 credits), which annotations do not carry. It says nothing about determinism against the input, error behaviour, or how a chart with no interactions is represented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence front-loads the most distinctive content (the interaction types) before the secondary details. Nothing is redundant, though the enumeration is long and the appended group/cost tags are bracketed boilerplate rather than prose.

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

Completeness3/5

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

An output schema exists, so the description need not spell out return values, and it covers the computed content well. However, for an 11-parameter chart tool with patchy schema documentation, the absence of any statement about required birth data, the stageSchool choice between classical and unified, or the includeFullTable toggle leaves the agent under-informed about how to call it.

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

Parameters2/5

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

With 11 parameters and only 36% schema description coverage, the description should carry meaning for the undocumented inputs, but it mentions none of them — not date, time, timezone, trueSolarTime, stageSchool, includeFullTable, fields, precision or language. The schema leaves several of these bare, so the gap is real rather than theoretical.

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

Purpose4/5

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

The description names a concrete resource — the set of stem/branch interactions (combinations, harmonies, trines, clashes, harms, punishments) found in a BaZi chart — and even says what is reported alongside each one (pillars involved, produced element). That is far more specific than the title alone. It stops short of differentiating itself from near neighbours such as astroway_bazi_four_pillars or astroway_bazi_chart, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite (a birth date/time is required by the schema but never mentioned), and no routing to or away from alternative BaZi tools. The only framing is the group/cost tag, which is 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.

astroway_bazi_life_stagesTwelve life stagesC
Read-onlyIdempotent
Inspect

A stem read against each branch as a life cycle, from Chang Sheng through Di Wang to Jue. The day master through the chart; pass includeFullTable for the ten-by-twelve reference table. stageSchool picks the classical yin-reverse rule or the unified one.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
schoolNo
sourceNo
dayMasterNo
solarYearNo
disclaimerNo
schoolNoteNo
methodologyNo
dayMasterThroughChartNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds conceptual output context (that the pipeline yields the twelve-stage cycle, and includeFullTable returns a ten-by-twelve reference table), but says nothing about how the two stageSchool modes differ in result or what the default is; adequate, not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences that lead with the concept and then the two option hints. The first sentence is a little convoluted, but there is no padding and the metadata tags are compact.

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

Completeness3/5

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

With an output schema present, return values need not be described, and annotations cover the safety profile. What remains thin is the conceptual/usage framing for a BaZi tool and the unaddressed parameters; it is callable but not fully self-explanatory.

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

Parameters3/5

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

Schema description coverage is only 36% across 11 params, so the description must compensate. It does explain includeFullTable (returns the ten-by-twelve reference table) and stageSchool (classical yin-reverse rule vs unified), which is real added value, but leaves date, time, trueSolarTime, longitude and language entirely unaddressed in both schema and description.

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

Purpose3/5

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

The description conveys the concept being computed – a stem read against each branch as a life cycle (the twelve life stages, Chang Sheng through Jue) via the day master. However, it never states a verb+resource plainly and gives no differentiation from dense BaZi siblings such as bazi_day_master or bazi_strength, so an agent cannot cleanly distinguish this tool's output from adjacent ones without domain knowledge.

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

Usage Guidelines2/5

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

The only guidance is parameter-level (includeFullTable, stageSchool) rather than situational. There is no statement of when to reach for this tool versus the many other BaZi tools, no prerequisites, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_luck_pillarsLuck Pillars (Da Yun)B
Read-onlyIdempotent
Inspect

10-year luck pillars sequence. Direction by gender + year-stem polarity per Ziping canon.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
countNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
genderYes
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateNo
countNo
genderNo
sourceNo
startAgeNo
directionNo
disclaimerNo
luckPillarsNo
methodologyNo
startReferenceNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful non-annotation context: a fixed 10-credit (Tier 1) cost and the Ziping-canon direction method. It says nothing about how many pillars return, timezone handling, or any auth/rate constraints, so it stays at the baseline-plus level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core concept and direction logic front-loaded, followed by clearly tagged Group/Cost metadata. No filler, though the second sentence is borderline trivia for an agent deciding whether to call the tool.

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

Completeness3/5

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

The existence of an output schema removes the need to describe return values, and cost is disclosed. However, for a 9-parameter tool with 44% schema coverage and no usage guidance, the description leaves gaps an agent must fill via the schema and sibling list.

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

Parameters2/5

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

With 9 parameters and only 44% schema description coverage, the description should carry more of the load. It touches only gender (as a direction input) and says nothing about count, fields, precision, time, timezone, or timezoneOffset, so callers must read the schema for the majority of inputs.

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

Purpose4/5

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

States a specific verb+resource: the 10-year luck pillar sequence (Da Yun), plus the direction rule (gender + year-stem polarity per Ziping canon). An agent can tell it computes a BaZi period sequence rather than a single pillar. It does not explicitly distinguish itself from sibling tools like astroway_bazi_year_pillar_decade or astroway_bazi_yearly, which prevents a 5.

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

Usage Guidelines2/5

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

The description explains how the direction is derived, not when to call this tool versus alternatives. There is no mention of prerequisites, exclusions, or sibling tools such as astroway_bazi_yearly or astroway_bazi_year_pillar_decade, leaving selection 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_bazi_monthlyMonthly ForecastB
Read-onlyIdempotent
Inspect

Same Sheng-Ke + branch-clash analysis as yearly, but applied to a specific calendar month. Month branch resolved via mid-month jieqi.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
natalDateYes
natalTimeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
targetYearYes
targetMonthYes
natalTzOffsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
disclaimerNo
targetYearNo
elementFlowNo
targetMonthNo
targetPillarNo
natalDayMasterNo
branchInteractionsNo

TDQS

B3.4/5.0
Behavior4/5

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 non-obvious behavior beyond them: the month branch is resolved via mid-month jieqi (which determines which month boundary is used) and the cost is 10 credits (Tier 1). It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load the method and scope, followed by compact structured metadata (group, cost). No filler or repetition; every line carries information.

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

Completeness3/5

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

With an output schema present, return values need no explanation, and annotations cover safety. However, for an 8-parameter tool with 3 required inputs and 25% schema coverage, the description leaves the date/time/timezone inputs and their interaction underspecified, which is a real gap for correct invocation.

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

Parameters2/5

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

Schema description coverage is only 25% across 8 parameters, so the description carries the burden and fails to compensate. Only 'a specific calendar month' loosely gestures at targetMonth; natalDate, natalTime, targetYear, natalTzOffset, and language are undocumented in both the schema and the description, leaving timezone and year/month coupling unclear.

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

Purpose4/5

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

The description names a specific analytical method (Sheng-Ke + branch-clash) and its scope (a single calendar month), and explicitly frames it as the monthly counterpart to the yearly analysis. It differentiates scope from the sibling astroway_bazi_yearly by implication rather than naming the tool, so it is clear but not maximally sibling-aware.

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

Usage Guidelines3/5

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

Framing it as 'same as yearly but applied to a specific calendar month' implicitly tells the agent when to reach for this rather than the yearly tool, but there is no explicit when-to-use, no exclusions, and no mention of the adjacent astroway_bazi_month_pillar (natal month pillar), which could easily be confused with this forecast tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_month_pillarMonth PillarC
Read-onlyIdempotent
Inspect

Month stem + branch from solar-term boundaries.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthPillarNo

TDQS

C2.9/5.0
Behavior3/5

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 the solar-term boundary semantics and the cost/group metadata, which is useful context, but says nothing about how missing time or timezone inputs affect the computed pillar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded clause carries the core meaning with no filler; the group and cost tags are compact metadata. It is terse rather than padded, though it verges on under-specification.

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

Completeness2/5

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

An output schema exists, so return values need no explanation, but for a 7-parameter tool with partial schema coverage and no usage context, the description leaves the agent without enough to select it confidently among dozens of BaZi siblings.

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

Parameters2/5

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

Schema description coverage is 57% and the description contributes zero parameter meaning. The undocumented parameters (date, time, language) include the required one, so the description does not compensate for the gap even though the date/time patterns are somewhat self-explanatory.

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

Purpose4/5

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

The description names the specific resource (month stem + branch) and its derivation rule (solar-term boundaries), which is a real distinguishing detail versus a calendar-month calculation. It does not, however, differentiate itself from the many sibling pillar tools (year_pillar, hour_pillar, four_pillars), which share the same phrasing pattern.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool versus alternatives such as astroway_bazi_four_pillars or astroway_bazi_monthly, and no prerequisite information. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_na_yinNa Yin sound-elementA
Read-onlyIdempotent
Inspect

The sound-element of each pillar. The sixty jiazi collapse into thirty names, two consecutive pillars to a name; the year pillar na yin is what popular readings mean by "your element", and it is not the day master.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
solarYearNo
disclaimerNo
methodologyNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered by structured data. The description adds genuine domain context (the two-pillar collapse, the year-pillar reading) but says nothing about the credit cost beyond the header note, and nothing about output shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences that front-load the definition and then the disambiguation, plus a compact metadata footer for group and cost. No wasted text, though the cost/group lines are boilerplate rather than value.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the concept is well-defined. But for an 11-parameter tool with low schema coverage and a domain-specific concept, the description leaves too much about input handling and the year-vs-other-pillar choice unstated.

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

Parameters2/5

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

With 11 parameters at only 36% schema description coverage, the description must carry more of the load than it does. It adds nothing about date, time, timezone, or the fields/precision compact-mode behavior, yet the nà yīn result depends critically on how the birth data is supplied.

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

Purpose5/5

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

States a specific concept ('the sound-element of each pillar') and pre-empts the most likely confusion by clarifying what it is NOT ('it is not the day master'), directly differentiating it from the sibling astroway_bazi_day_master. The sixty-jiazi-to-thirty-names mechanism makes the resource unambiguous.

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

Usage Guidelines3/5

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

The description implicitly signals it answers the popular 'what is your element' question, but it never states when to call this vs. alternatives like bazi_day_master or bazi_element_balance. It distinguishes the concept but not the usage decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_strengthDay-master strengthB
Read-onlyIdempotent
Inspect

The support-and-suppress reading over the weighted hidden-stem count, with the three classical criteria (season, root, allies) reported unweighted and the favourable elements that follow. The caveat names both limits: the month is counted like any other branch, and the cut points are this API's convention.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
strengthNo
dayMasterNo
solarYearNo
disclaimerNo
methodologyNo

TDQS

B3.2/5.0
Behavior4/5

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 genuine methodological context beyond the annotations: the month is counted like any other branch, the three criteria are reported unweighted, and the cut points are this API's own convention. That limitation disclosure is exactly the kind of behavior an agent needs, though auth/rate-limit details are absent (credit cost is given in the metadata block).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are front-loaded with the core concept, and the caveat sentence names both limits economically. The prose is dense jargon ("support-and-suppress", "weighted hidden-stem count") which reduces immediate readability, but nothing is wasted or padded.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. What remains missing is any positioning against the large BaZi sibling set and any description of the many input parameters, which a tool with 11 options arguably needs. The methodology and cut-point caveats partially fill the gap, making this minimally adequate.

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

Parameters2/5

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

With 11 parameters and only 36% schema description coverage, the description is expected to compensate, but it mentions no input parameters at all. Nothing is said about date/time handling, timezone vs timezoneOffset, stageSchool, precision, fields or includeFullTable, so the coverage gap is unaddressed.

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

Purpose4/5

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

The description names a specific computation: the day-master support-and-suppress reading over the weighted hidden-stem count, with the three classical criteria (season, root, allies) and the favourable elements. This is a concrete verb-plus-resource statement rather than a tautology. It does not, however, explicitly distinguish itself from close siblings such as astroway_bazi_day_master, astroway_bazi_hidden_stems or astroway_bazi_element_balance, leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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 description explains what is computed but not the conditions under which an agent should pick this over the many adjacent BaZi endpoints (e.g. day_master, element_balance). No prerequisites or sequencing are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_symbolic_starsSymbolic stars (Shen Sha)B
Read-onlyIdempotent
Inspect

Peach Blossom, Travelling Horse, Canopy, Heavenly Nobleman, Blade and Void, computed from BOTH the year and the day reference pillar because the transmissions disagree about which one the rules read from. Where two transmissions place a star differently, both placements ship and each names the other.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
sourceNo
pillarsNo
solarYearNo
disclaimerNo
byDayPillarNo
methodologyNo
byYearPillarNo
referenceNoteNo

TDQS

B3.2/5.0
Behavior4/5

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 real behavioral context beyond that: it discloses the dual-pillar computation, the disagreement between transmissions, and the specific handling rule that both placements ship and cross-reference each other. It also surfaces a cost tier (10 credits).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the star names and followed by the key methodological caveat, plus compact group/cost metadata. It is reasonably tight, though the second sentence about cross-naming placements is slightly dense.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. However, for an 11-parameter tool at 36% schema coverage, the description leaves a significant parameter gap and gives no usage routing, making it only adequate rather than complete.

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

Parameters2/5

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

Schema description coverage is only 36% across 11 parameters, so the schema cannot carry the load and the description must compensate. It instead says nothing about date/time format, timezone, precision, fields, stageSchool, trueSolarTime, or includeFullTable, leaving most parameters undocumented in both places.

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

Purpose4/5

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

The description names the specific resource concretely (Peach Blossom, Travelling Horse, Canopy, Heavenly Nobleman, Blade and Void) and states it is 'computed from BOTH the year and the day reference pillar,' so an agent knows this yields Shen Sha symbolic stars. It is distinguishable from BaZi siblings by the star names, though it never explicitly contrasts itself with neighbors like astroway_bazi_four_pillars or astroway_bazi_ten_gods.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus another BaZi tool, and no prerequisites or input context beyond the required date. The only guidance is methodological (why both pillars are used), which explains the output rather than the usage decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_ten_godsTen Gods (Shi Shen)B
Read-onlyIdempotent
Inspect

Ten Gods classification per day master. Bi Jian/Jie Cai (peer), Shi Shen/Shang Guan (output), Pian Cai/Zheng Cai (wealth), Qi Sha/Zheng Guan (officer), Pian Yin/Zheng Yin (resource).

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateNo
sourceNo
tenGodsNo
dayMasterNo
disclaimerNo
methodologyNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds operational context beyond annotations only via the '[Cost: 10 credits (Tier 1)]' and group tags; it says nothing about the computation performed, determinism relative to input, or limits. Adequate but thin given annotations carry the behavioral burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core statement, followed by a compact enumeration and two bracketed metadata tags. Efficient and free of filler, though the enumeration of ten terms is dense and the metadata tags sit outside the prose.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. But the description omits the essential framing that this is a birth-chart-derived computation requiring a date/time, and gives no routing against the numerous BaZi siblings - a real gap for a 7-parameter tool in a dense toolset.

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

Parameters2/5

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

Schema description coverage is 57%, and the description supplies no parameter meaning at all - it never mentions date, time, timezone, fields, or precision. With over half the parameters documented only in the schema and the remainder undocumented anywhere, the description does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific resource and operation ('Ten Gods classification per day master') and enumerates the ten gods with their category labels (peer, output, wealth, officer, resource), which tells an agent what the output represents. However, it does not distinguish itself from the many sibling BaZi tools (day_master, four_pillars, hidden_stems) that an agent might otherwise reach for.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. that a birth date is needed), and no mention of any alternative sibling. The agent must infer usage entirely from the name and group tag.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_yearlyYearly ForecastB
Read-onlyIdempotent
Inspect

Compares target year pillar against natal day master + natal year branch. Returns element-flow relation (companion / mother / output / control / wealth) per Sheng-Ke cycle, branch clashes (六冲), and trine support (三合).

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
natalDateYes
natalTimeNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
targetYearYes
natalTzOffsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
disclaimerNo
targetYearNo
elementFlowNo
targetPillarNo
natalDayMasterNo
branchInteractionsNo

TDQS

B3/5.0
Behavior3/5

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 useful semantic content (what relations are computed) and a cost tag (10 credits, Tier 1), but says nothing about auth, limits, or how natal time/zone defaults affect results. Adequate but not rich beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the operation front-loaded before the return contents, plus compact group/cost metadata. No padding or repetition, though the enumerated return fields partly duplicate what the output schema already provides.

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

Completeness3/5

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

An output schema exists, so return values need not be re-explained, and the safety profile is carried by annotations. However, for a 7-parameter tool with low schema coverage, the missing parameter documentation and absence of any sibling routing leave real gaps an agent must guess around.

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

Parameters2/5

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

Schema description coverage is only 29% (fields and precision only), so the description must compensate — and it does not. It never mentions natalDate, targetYear, natalTime, natalTzOffset, or language, leaving the two required parameters and the timezone input undocumented in both places.

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

Purpose4/5

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

States a specific operation (compares target year pillar against natal day master and natal year branch) and enumerates the analytical outputs (Sheng-Ke element-flow relation, 六冲 branch clashes, 三合 trine support). Clear verb+resource, but it never distinguishes itself from close siblings such as astroway_bazi_year_pillar, astroway_bazi_year_pillar_decade, or astroway_bazi_monthly, so an agent cannot route 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.

Usage Guidelines2/5

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

No when-to-use statement, no when-not-to-use, and no named alternative despite a dense BaZi sibling cluster. The only scoping hint is implicit in the phrase 'target year pillar', which an agent must infer means an annual forecast use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_year_pillarYear PillarC
Read-onlyIdempotent
Inspect

Year stem + branch + animal + element with yin/yang.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearPillarNo

TDQS

C2.6/5.0
Behavior3/5

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 operational context beyond that: the group (BaZi Four Pillars) and the cost (10 credits, Tier 1). It does not disclose what input the pillar is computed from or any limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded fragment with no filler, and the cost/group tags are compact. But it is under-specified rather than concise — the terse form leaves the core routing question unanswered.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and annotations carry the safety profile. Still, for a tool sitting in a cluster of four ambiguous pillar siblings, the description omits both sibling disambiguation and parameter meaning, which is the minimum needed to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 57%, and the description adds nothing about any of the 7 parameters. Notably the required `date` parameter has only a regex pattern in the schema and no description anywhere, so the agent must guess whether it is a birth date, a reference year, or a calendar date — the one thing this tool's semantics hinge on.

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

Purpose3/5

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

The description names the resource contents precisely (year stem, branch, animal, element, yin/yang), so an agent knows what data comes back. However, it is a noun fragment with no verb and no differentiation from the many near-identical sibling pillars (astroway_bazi_month_pillar, astroway_bazi_hour_pillar, astroway_bazi_four_pillars, astroway_bazi_day_master). The naming pattern makes the distinction inferable, but the description itself does not make it.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: nothing states when to call this instead of astroway_bazi_four_pillars, astroway_bazi_chart, or astroway_bazi_yearly, all of which overlap heavily. No prerequisites, no mention that a birth date is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_bazi_year_pillar_decadeYear Pillars × 10B
Read-onlyIdempotent
Inspect

10 consecutive year pillars from a given starting year.

[Group: BaZi (Four Pillars)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
startYearYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
decadeNo
startYearNo
disclaimerNo

TDQS

B3.2/5.0
Behavior3/5

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 useful cost/group metadata (10 credits, Tier 1, BaZi group), but says nothing about output volume, whether language affects the pillar labels, or how the decade window is bounded.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is front-loaded and waste-free; the bracketed group/cost tags are compact and machine-scannable. Slightly more verbose than a single clean sentence, but nothing is extraneous.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and annotations handle safety. However, for a tool with three comparably named BaZi siblings and a required year parameter, the description is thin on routing and on what the decade output represents, leaving an agent to infer selection.

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

Parameters3/5

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

Schema coverage is 50%: 'fields' and 'precision' are well documented in the schema, while 'startYear' and 'language' are undocumented. The description's 'from a given starting year' loosely maps to startYear but adds no format or edge-case detail (e.g., whether the 10 pillars begin at that year inclusive). Baseline 3 fits given the schema carries the parameter detail.

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

Purpose4/5

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

States a specific resource and cardinality: '10 consecutive year pillars from a given starting year.' An agent can distinguish it from the singular astroway_bazi_year_pillar by the '10 consecutive'/decade framing. It stops short of naming the sibling alternative explicitly, so it's clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no routing to alternatives among the many BaZi siblings (year_pillar, yearly, luck_pillars, monthly). The '10 consecutive' scope implies a range flavor, but nothing tells the agent when this is preferred over the single-year or yearly tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_feng_shui_annual_starsAnnual flying stars and afflictionsB
Read-onlyIdempotent
Inspect

The nine annual stars for a solar year, plus Tai Sui, Sui Po, San Sha, the five yellow and the two black with the sectors they occupy. Optionally the monthly layer. The year turns at Li Chun, computed from the exact solar term.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
timeNo
yearNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
includeMonthlyNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
animalNo
palacesNo
solarYearNo
centreStarNo
yearBranchNo
afflictionsNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world safety. The description adds genuine value beyond them by disclosing the year-boundary rule (the year turns at Li Chun, computed from the exact solar term), which affects how a given input date is interpreted. It does not describe pagination, return shape, or the interaction of date/year/time inputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense, front-loaded sentences that enumerate the outputs first and the optional layer and year boundary after. No padding, though jargon density means a non-domain reader gains little.

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

Completeness3/5

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

Percentages: an output schema exists so return values need not be explained, and annotations carry the safety profile. But for a 9-parameter tool with 44% coverage and a near-duplicate sibling, the definition leaves the input contract and tool-selection decision underspecified.

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

Parameters2/5

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

Nine parameters at 44% schema coverage, so the description must carry more weight than it does. It maps 'Optionally the monthly layer' to includeMonthly, but says nothing about how date, year, time, timezone, or fields interact or which should be supplied. The parameter surface is left largely unexplained.

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

Purpose4/5

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

Specific verb+resource: the nine annual stars for a solar year plus named afflictions (Tai Sui, Sui Po, San Sha, five yellow, two black) with sectors, and an optional monthly layer. Clear what is produced, but it never distinguishes itself from the near-identical sibling astroway_chinese_feng_shui_flying_star, so an agent cannot route 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.

Usage Guidelines2/5

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

Only implicit guidance: 'Optionally the monthly layer' hints at when to add the monthly data. There is no statement of when this tool is preferred over astroway_chinese_feng_shui_flying_star or the other feng-shui siblings, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_feng_shui_baguaBagua Life AreasC
Read-onlyIdempotent
Inspect

Eastern-school Bagua mapping of 9 life areas (career, knowledge, family, wealth, fame, relationships, children, helpful-people, health) onto compass sectors.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
genderYes
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
baguaNo
groupNo
notesNo
kuaNumberNo

TDQS

C2.7/5.0
Behavior2/5

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 no behavioral context beyond the topic — nothing about how date/gender drive the result, determinism, or any constraints, so it does not earn credit above the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence plus group/cost metadata; no filler. The parenthetical enumeration of the nine life areas is long but carries real information, though the overall text is thin for a 9-parameter tool.

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

Completeness2/5

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

An output schema exists, so return values need not be described. But with 9 parameters, 44% schema coverage, required gender/date whose roles are unexplained, and no usage guidance, the definition is not complete enough for confident invocation.

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

Parameters2/5

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

Schema description coverage is only 44% across 9 parameters, and the description mentions none of them. Critically, it never explains why 'gender' and 'date' are required (kua number derivation) — a domain-specific semantic an agent cannot recover from the schema, which just lists an enum.

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

Purpose4/5

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

States a specific resource ('Eastern-school Bagua mapping of 9 life areas ... onto compass sectors') and enumerates the nine areas, so an agent knows exactly what is produced. It does not explicitly contrast itself with close siblings such as astroway_chinese_feng_shui_lucky_directions or astroway_chinese_feng_shui_kua, which also deal with sectors/directions.

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

Usage Guidelines2/5

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

No when-to-use statement, no prerequisites, and no alternatives named among the many feng shui siblings (flying_star, kua, annual_stars, lucky_directions). The agent must infer from the name alone whether this is the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_feng_shui_flying_starFlying Star natal chart (Xuan Kong Fei Xing)A
Read-onlyIdempotent
Inspect

The nine-palace natal chart of a building: mountain star, period star and facing star per sector, the named arrangement (旺山旺水 and the other three), and the special patterns. Send the facing in degrees or as one of the 24 mountains, and the period directly or as the date the building was occupied. Neither is defaulted.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
facingNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
periodNo
languageNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
occupiedDateNo
occupiedTimeNo
facingMountainNo
timezoneOffsetNoHours 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
facingNo
flightNo
periodNo
palacesNo
sittingNo
patternsNo
warningsNo
chartTypeNo
annualYearNo

TDQS

A4.2/5.0
Behavior3/5

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 that the two key inputs are not defaulted, which is useful, but discloses nothing about rate limits, auth, or computation behavior. Adequate but not rich beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what the tool produces and then how to feed it. Every clause earns its place; no filler.

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

Completeness4/5

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

For a 10-parameter tool with 0 required fields and an output schema present, the description covers the two decisive inputs and notes they are mandatory in practice. It omits the role of year and language, but since the output schema covers return values and three params carry their own schema descriptions, the remaining gap is minor.

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

Parameters4/5

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

With only 30% schema description coverage, the description compensates well by reconciling the input alternatives: facing vs facingMountain (degrees or 24 mountains) and period vs occupiedDate (direct period or occupation date). It leaves year, language and occupiedTime unexplained, but it adds real meaning over the raw schema for the critical parameters.

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

Purpose5/5

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

The description states a specific resource and its contents: 'the nine-palace natal chart of a building: mountain star, period star and facing star per sector, the named arrangement... and the special patterns.' This distinguishes it clearly from siblings like astroway_chinese_feng_shui_annual_stars or _kua, which cover different Feng Shui computations.

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

Usage Guidelines4/5

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

It gives clear input guidance ('Send the facing in degrees or as one of the 24 mountains, and the period directly or as the date the building was occupied') and warns 'Neither is defaulted,' which is essential since no parameter is formally required. It does not, however, name an alternative tool or state exclusions versus sibling tools, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_feng_shui_kuaKua NumberB
Read-onlyIdempotent
Inspect

Personal Kua number from solar-year digit sum + gender. Maps to East/West group for direction work.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
genderYes
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
groupNo
genderNo
kuaNumberNo
solarYearNo
descriptionNo

TDQS

B3.2/5.0
Behavior3/5

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 only needs to add context. It does add two useful facts: the cost tier (10 credits, Tier 1) and that the computation is keyed to the *solar* year, which is a real behavioral subtlety. However it omits edge cases (birth dates near the Chinese New Year boundary, effect of the time/timezone inputs) and does not say what the returned group field contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core computation front-loaded, followed by group/cost metadata tags. No filler or repetition, though the bracketed metadata lines are boilerplate rather than description content.

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

Completeness3/5

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

For a simple birth-data calculation this is roughly minimum viable: the required inputs are implied, annotations cover safety, and an output schema exists so return values need not be described. The gap is input guidance for the seven optional parameters, which are neither explained nor flagged as ignorable for this particular computation.

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

Parameters2/5

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

Schema description coverage is only 44% across 9 parameters. The description conceptually covers the two required inputs (date via "solar-year digit sum", gender) but says nothing about the seven optional plumbing parameters (time, timezone, timezoneOffset, solarYear, fields, precision, language) or how solarYear relates to date. With low coverage the description should compensate and it does not.

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

Purpose4/5

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

The description names a specific computed artifact ("Personal Kua number") and its derivation ("solar-year digit sum + gender"), plus the output grouping (East/West). It is clearly not the same as bagua, flying_star, or annual_stars, though it does not name a sibling to distinguish itself from lucky_directions, which consumes the same grouping.

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

Usage Guidelines3/5

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

"Maps to East/West group for direction work" implies the downstream use case, so usage is inferable but never stated. There is no explicit when-to-use, when-not-to-use, or pointer to the sibling (lucky_directions) that consumes this output.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_feng_shui_lucky_directionsLucky / Unlucky DirectionsB
Read-onlyIdempotent
Inspect

Personal 4 lucky + 4 unlucky compass directions from Kua. Standard Pa Kua mapping.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
genderYes
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
groupNo
luckyNo
unluckyNo
kuaNumberNo

TDQS

B3/5.0
Behavior3/5

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 real context by disclosing the method (derived from Kua, standard Pa Kua mapping), which is useful, but says nothing about output shape or assumptions 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core output front-loaded, plus a group/cost tag. No waste, though it is arguably too terse for a 9-parameter tool.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and the read-only annotations cover safety. However, for a 9-param tool with low schema coverage and no usage guidance, the definition leaves an agent short of what it needs to choose this over the Kua sibling and to populate non-required params.

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

Parameters2/5

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

Schema description coverage is only 44% across 9 parameters, and the description contributes no parameter-level meaning at all. The phrase 'from Kua' weakly implies a birth date and gender are needed, but the many optional params (fields, precision, timezone, timezoneOffset, language) remain unexplained here and largely undocumented in the schema.

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

Purpose4/5

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

States a specific output (4 lucky + 4 unlucky compass directions) and the derivation basis (Kua / Pa Kua mapping), which is concrete enough to distinguish it from the generic sibling astroway_chinese_feng_shui_kua. It does not explicitly name the sibling it differs from, so it falls short of a 5.

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

Usage Guidelines2/5

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 routing to alternatives. With a closely related sibling (astroway_chinese_feng_shui_kua) that yields the underlying Kua number, the omission of any 'use X for the number, this for the directions' guidance 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_chinese_lunar_dateGregorian to Lunar DateB
Read-onlyIdempotent
Inspect

Chinese lunar month and day for a Gregorian date, including leap-month detection, plus the Chinese New Year of that year.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
lunarNo
gregorianDateNo
chineseNewYearNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the useful fact that leap months are detected and that the year's Chinese New Year is returned, plus the cost tier, but says nothing about the effect of the time/timezone inputs on the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the transformation and its outputs, followed by standardized group/cost tags. No filler; the only mild overhead is the bracketed metadata that is templated across the toolset.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the safety profile is covered by annotations. However, for a 7-parameter tool with 57% schema coverage and no usage guidance, the definition is only minimally adequate: an agent gets the 'what' but not the 'when' or the parameter implications.

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

Parameters2/5

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

With only 57% schema description coverage and 7 parameters, the description compensates for almost nothing: it alludes to 'a Gregorian date' (the required param) but is silent on time, timezone, timezoneOffset, precision, fields, and language. The richest schema hints (timezone offset rules, precision) are left entirely to the schema.

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

Purpose4/5

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

The description states a specific verb+resource: it converts a Gregorian date into the Chinese lunar month/day and names two concrete outputs (leap-month detection and that year's Chinese New Year). That is enough to distinguish it from generic calendar siblings, but it never contrasts itself with the closely named astroway_calendar_lunar_calendar or nearby Chinese tools.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of alternatives such as astroway_calendar_lunar_calendar or astroway_chinese_solar_terms, which sit right next to it. The agent must infer applicability purely from the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_solar_terms24 Solar Terms (節氣)B
Read-onlyIdempotent
Inspect

The 24 solar terms of a Chinese solar year as exact instants, in UTC and Beijing time. Twelve of them open a BaZi pillar month; the other twelve decide where a leap month falls.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearNo
notesNo
termsNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds useful domain context (UTC/Beijing time output; role in BaZi and leap months). It does not add operational details such as whether all 24 terms are always returned, count limits, or how language affects output. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the main resource and then the domain role; the group/cost tags are metadata and don't bloat the prose. No filler.

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

Completeness3/5

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

For a low-complexity lookup with an output schema, the description establishes what the tool returns and why it matters. It leaves open the when-to-use decision and two undocumented input parameters, so an agent still has gaps before invoking it confidently.

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

Parameters2/5

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

Schema coverage is 50%: fields and precision have descriptions, while year and language do not. The description adds no parameter-level meaning, such as whether fields supports solar-term paths, what language controls, or why year is bounded 2–2899. It fails to compensate for the coverage gap.

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

Purpose4/5

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

States exactly what is returned: the 24 solar terms for a given Chinese solar year as exact instants in UTC and Beijing time. It even explains the 12/12 split between BaZi pillar months and leap-month determination, so the resource and its significance are clear. It does not explicitly differentiate itself from nearby Chinese-calendar siblings, so 4 rather than 5.

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

Usage Guidelines3/5

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

Explains what the data is for (BaZi month boundaries and leap-month placement) but never states when to call this instead of alternatives like astroway_bazi_month_pillar, astroway_chinese_lunar_date, or astroway_chinese_tong_shu. Usage is implied by domain context, not directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_tong_shuTong Shu day: officer and mansionB
Read-onlyIdempotent
Inspect

The almanac reading of one day: day pillar, the day officer (建除十二神) with what the register endorses and forbids, the 28 mansion with its quadrant and planet, and the animal the day clashes.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
dateNo
clashNo
notesNo
mansionNo
officerNo
dayPillarNo
solarYearNo
monthBranchNo

TDQS

B3.2/5.0
Behavior4/5

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 behavioral context beyond that: it discloses the credit cost (10 credits, Tier 1) and the group, which an agent needs for planning. It stops short of describing format, pagination, or any rate/limit behaviour.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense but well-structured sentence front-loads the core purpose and output list, followed by two short bracketed metadata lines (group, cost). There is no filler, though the single sentence is somewhat list-heavy.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and the description usefully signals what the payload contains. However, with 7 parameters at 57% coverage and no usage guidance versus the tong_shu_select sibling, the definition leaves an agent guessing about routing and about the un-documented date/time/language parameters.

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

Parameters2/5

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

Schema description coverage is only 57%, and the description adds no parameter meaning whatsoever — nothing about date, time, language, or how 'fields'/'precision' compact mode interacts with this endpoint. The rich timezone/timezoneOffset descriptions live in the schema, not the description, so the description does nothing to close the coverage gap.

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

Purpose4/5

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

The description gives a specific verb+resource ('the almanac reading of one day') and enumerates the exact contents returned: day pillar, day officer (建除十二神) with endorsements/forbids, the 28 mansion with quadrant and planet, and the clash animal. That is far more concrete than the name alone. It does not, however, distinguish this single-day tool from the close sibling astroway_chinese_tong_shu_select, so the agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use statement. The phrase 'the almanac reading of one day' implies a single-date scope and hints at a range-selecting sibling, but no alternative is named and no prerequisite or selection condition is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_tong_shu_selectTong Shu date selectionA
Read-onlyIdempotent
Inspect

Walk a date range and return the days the almanac endorses for one activity, each with the officer that decided it. Optionally drop the days that clash a person's animal. Range capped at 366 days and a longer one is refused, not truncated.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 20 credits (Tier 2)]

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
fromYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
activityYes
languageNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
avoidClashWithNo
includeNeutralNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
daysNo
droppedNo
matchedNo
scannedNo
activityNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: a 366-day range cap that hard-refuses rather than truncates, and the optional clash filter keyed to a person's animal. It stops short of noting cost/auth handling, which the separate cost line partly supplies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The core behavior is front-loaded and the constraints (clash filter, range cap, refuse-not-truncate) follow immediately; nothing is repeated from the schema or annotations.

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

Completeness4/5

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

An output schema exists, so return-value explanation is unnecessary, and the description covers the main behavioral risks (range cap, refusal semantics, clash filtering). The gaps are the unaddressed includeNeutral and language parameters and the exact date format, which the schema pattern supplies.

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

Parameters3/5

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

With only 25% schema description coverage across 8 parameters, the description must compensate and partly does: it clarifies activity (one per call), from/to as a walked range, and avoidClashWith as dropping animal-clash days. It says nothing about includeNeutral or language, leaving two parameters unexplained in both schema and prose.

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

Purpose5/5

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

States a precise verb+resource: walks a date range and returns almanac-endorsed days for a single activity, each annotated with the deciding officer. This clearly separates it from the singular sibling astroway_chinese_tong_shu, which covers one date rather than a selection sweep.

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

Usage Guidelines4/5

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

The use case is clearly articulated (pick auspicious days for one named activity, optionally excluding days that clash a person's animal), and the 366-day cap sets a boundary on valid input. It does not, however, name an alternative (e.g. the single-date tong_shu tool or the vedic_muhurat family) or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_true_solar_timeTrue solar timeB
Read-onlyIdempotent
Inspect

The clock corrected to the sun over the birth longitude, split into the meridian term and the equation of time. China runs one zone across sixty degrees, so a Kashgar birth reads nearly three hours from solar noon on a Beijing clock, which moves the hour pillar.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
longitudeYes
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetYesIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateNo
noteNo
inputNo
sourceNo
dayShiftNo
clockTimeNo
methodologyNo
trueSolarTimeNo
hourBranchNoteNo
equationOfTimeMinutesNo
totalCorrectionMinutesNo
longitudeCorrectionMinutesNo

TDQS

B3.2/5.0
Behavior3/5

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 conceptual behavior — that the result is split into a meridian term and equation of time, and that it can shift the hour pillar — which is useful context beyond the annotations, but it says nothing about precision limits, error cases, or dependence on the timezone/longitude inputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core definition followed by one well-chosen illustrative example; the group and cost lines are metadata. Every sentence carries weight, though the example is slightly expansive.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the annotations cover safety. However, with 8 parameters at 50% coverage and no usage guidance, the definition leaves the agent to infer when and with what inputs to call it, which is a meaningful gap for a computation tool.

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

Parameters3/5

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

Schema description coverage is only 50%, with date, time, longitude and language left undocumented in the schema. The description conceptually anchors the longitude input ('corrected to the sun over the birth longitude') and the timezone issue, but it adds no format or syntax detail and never mentions the compact-mode fields/precision parameters, so it only partially compensates for the coverage gap.

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

Purpose4/5

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

The description names a concrete computation — the clock corrected to the sun over the birth longitude, decomposed into meridian term and equation of time — so the agent knows this converts clock time to true solar time rather than producing a chart. It does not explicitly differentiate itself from related siblings like astroway_bazi_hour_pillar, which it only alludes to via 'which moves the hour pillar'.

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

Usage Guidelines2/5

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

There is no explicit when-to-use statement, no prerequisite guidance, and no named alternative. The Kashgar example implies the tool matters for Bazi hour-pillar accuracy, but the agent must infer that context rather than being told to reach for this before a Bazi computation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_zodiac_animalChinese Zodiac AnimalA
Read-onlyIdempotent
Inspect

Animal sign of the birth year, bounded by the exact Lichun instant, plus the full pillar (stem + branch + element). Pass time + timezoneOffset for births on the boundary day.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
stemNo
glyphNo
animalNo
branchNo
pillarNo
elementNo
solarYearNo

TDQS

A3.7/5.0
Behavior4/5

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 real domain behavior beyond the annotations: the sign is determined by the exact Lichun instant rather than a calendar-year cut, which materially affects results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the output and then the boundary-case instruction; nothing is wasted. The trailing group/cost tags are metadata rather than prose, so they don't hurt the core definition.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the tz/offset/precision params are documented in the schema itself. For an 8-parameter tool the description covers the output and the one genuinely tricky input case, leaving only minor gaps such as solarYear's purpose.

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

Parameters3/5

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

Schema coverage is 50% and the description adds meaning for two of the undocumented-in-prose parameters (time and timezoneOffset) by tying them to the boundary-day case. It says nothing about date, solarYear, language, or why offset and timezone are mutually exclusive, so it only partly compensates for the coverage gap.

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

Purpose4/5

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

It names a specific verb-less but concrete output: the Chinese zodiac animal sign of the birth year plus the full pillar (stem + branch + element), which is more than the name alone conveys. It distinguishes itself from other zodiac siblings by defining the Lichun boundary, though it doesn't explicitly contrast with astroway_chinese_zodiac_element or astroway_chinese_zodiac_inner_animal.

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

Usage Guidelines3/5

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

It gives one concrete conditional (pass time + timezoneOffset for births on the boundary day), which is genuine when-to-use guidance for an edge case. However, it never states when to prefer this tool over the many neighbouring zodiac/bazi pillar tools, so routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_zodiac_compatibilityAnimal CompatibilityB
Read-onlyIdempotent
Inspect

Pair compatibility score (0-100) using San He trine + Liu Chong conflict-pair canon.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
person1Yes
person2Yes
languageNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
person1No
person2No
compatibilityNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already establish read-only, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds two genuinely non-obvious facts: the score scale (0-100) and the metered cost (10 credits, Tier 1), plus the methodology. It says nothing about what happens with missing birth times or how the score is composed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence carries the whole meaning, followed by structured group/cost tags that are metadata rather than prose. Nothing is redundant; the only mild cost is that the tags occupy lines that could hold input guidance.

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

Completeness3/5

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

With an output schema present, return values needn't be described, and annotations cover safety. What is missing is any input-side context for a nested two-person tool with 40% schema coverage – no note that birth dates are required or that time is optional.

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

Parameters2/5

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

Schema coverage is only 40%: person1.date, person2.date, time, language, and solarYear carry no schema description, and the description compensates for none of them. It never states that the tool takes two people's birth dates as its core input, leaving the required nested persons objects to be discovered from the schema.

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

Purpose4/5

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

States a specific resource (pair compatibility score), the output range (0-100), and the exact doctrinal basis (San He trine + Liu Chong conflict-pair canon), which is unusually precise. It does not name or differentiate itself from the nearest siblings (astroway_chinese_zodiac_animal, astroway_horoscope_compatibility, astroway_relational_match_score), so it falls short of a 5.

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

Usage Guidelines2/5

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 mention of alternatives such as the Vedic ashtakoot or Western synastry compatibility tools. The agent must infer from the name and canon alone that this is the Chinese-zodiac-specific pairing tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_zodiac_elementChinese ElementC
Read-onlyIdempotent
Inspect

Fixed-branch element + cycling-stem element + yin/yang for given solar year.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
yinNo
solarYearNo
descriptionNo
fixedElementNo
cyclingElementNo

TDQS

C2.9/5.0
Behavior3/5

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 fully covered. The description adds a genuinely non-structured behavioral trait — the 10-credit Tier 1 cost — which is useful for a cost-aware agent, but says nothing about return shape, limits, or auth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly written line front-loads the substantive output description, with group and cost tags after it. Nothing is wasted, though the tags are boilerplate rather than value-adding prose.

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

Completeness2/5

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

For an 8-parameter tool with four undocumented parameters, the description is thin. An output schema and annotations exist so return values and safety need not be restated, but the ambiguity between date and solarYear is left entirely unresolved.

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

Parameters2/5

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

Schema description coverage is only 50%, leaving date, time, language and solarYear undocumented. The description mentions 'given solar year' but does not clarify the crucial distinction between the required 'date' and the optional 'solarYear', nor how time/timezone interact with them.

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

Purpose4/5

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

The description names the exact outputs (fixed-branch element, cycling-stem element, yin/yang) and the input dimension (solar year), so the agent knows what this computes. It is distinguishable from siblings like chinese_zodiac_animal, though it never explicitly contrasts with them.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as chinese_zodiac_animal or chinese_feng_shui_bagua. The '[Group: Chinese: Zodiac & Feng Shui]' tag implies a domain but does not tell the agent when to select this tool over its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_zodiac_inner_animalInner Animal (month branch)C
Read-onlyIdempotent
Inspect

Month-branch animal: represents inner motivations and private self.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
glyphNo
descriptionNo
innerAnimalNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds only the credit cost (10 credits, Tier 1) and the semantic domain; it says nothing about what the response contains or whether time is needed for a month-branch derivation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short and front-loaded: the purpose sentence comes first, followed by compact group/cost metadata. Nothing is padded, though the brevity is partly under-specification rather than disciplined concision.

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

Completeness2/5

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

For an 8-parameter tool with only half the schema documented and no output explanation needed, the description should at least clarify the required date/time inputs and the month-branch dependency. It omits all of that, leaving an agent to infer call requirements from the schema alone.

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

Parameters2/5

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

Schema description coverage is only 50% across 8 parameters, and the description contributes zero parameter detail — it never mentions the required `date`, the optional `time`, or that month-branch determination depends on the solar term boundary. The description does not compensate for the coverage gap.

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

Purpose4/5

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

The description names a specific derived resource — the month-branch animal — and states its interpretive meaning ('inner motivations and private self'), which lets an agent distinguish it conceptually from the year animal. It does not, however, explicitly contrast itself with the close sibling astroway_chinese_zodiac_secret_animal, so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus astroway_chinese_zodiac_animal, astroway_chinese_zodiac_secret_animal, or astroway_chinese_zodiac_element. No prerequisites, no context about needing a birth date/time, and no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_chinese_zodiac_secret_animalSecret Animal (hour branch)B
Read-onlyIdempotent
Inspect

Hour-of-birth branch animal: represents the deepest self. Requires birth time.

[Group: Chinese: Zodiac & Feng Shui] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYearNo
timezoneOffsetNoHours 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

ParametersJSON Schema
NameRequiredDescription
glyphNo
descriptionNo
secretAnimalNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare a safe, idempotent, closed-world read, and the description does not contradict them. It adds the genuine prerequisite that a birth time is needed, plus the credit cost, but says nothing about what the response contains or what happens if time is omitted (the schema marks only date as required).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, with the core definition front-loaded and the prerequisite second. The group and cost tags are boilerplate metadata but short and informative; nothing is padded.

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

Completeness3/5

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

Return values need not be explained since an output schema exists, and the prerequisite is stated. For a domain with four near-identically named zodiac siblings, though, the definition leaves the agent without enough to reliably pick this tool over inner_animal.

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

Parameters3/5

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

With only 50% schema description coverage across 8 parameters, the description's 'requires birth time' usefully elevates the `time` parameter beyond its optional schema status. However, it adds nothing about date format, timezone/timezoneOffset interaction, or the compact-mode fields, leaving half the surface undocumented in both places.

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

Purpose4/5

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

States a specific resource and scope: the hour-of-birth branch animal, with a plain-language gloss ('represents the deepest self'). That distinguishes it from the year-based astroway_chinese_zodiac_animal, but it never names the closest sibling, astroway_chinese_zodiac_inner_animal, which an agent could easily confuse it with.

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

Usage Guidelines3/5

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

'Requires birth time' is a real prerequisite, which is more than most sibling definitions offer. It still gives no when-to-use or when-not-to-use guidance relative to zodiac_animal, inner_animal, or zodiac_element, so selection relies on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_cost_estimateCost EstimateA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointsYesEndpoint paths to estimate, e.g. ["/chart", "/synastry", "/reports/natal"]. Leading slash optional.

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 DebateC
Read-onlyIdempotent
Inspect

2 personas debate a topic, multi-round transcript.

[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]

ParametersJSON Schema
NameRequiredDescriptionDefault
chartNoBirth 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.
topicYes
agentAYes
agentBYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
roundsNo
languageNoen
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
transcriptNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already establish readOnly, idempotent and non-destructive behaviour, so the safety bar is low. The description adds genuinely useful operational facts the annotations do not carry: the tool is an MCP Advanced feature costing 100 credits (Tier 4). It still says nothing about how rounds affect runtime or output, or whether chart context is mandatory for a meaningful debate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short lines, front-loaded with the core purpose followed by group and cost metadata; there is no filler or repetition. The brevity is somewhat a result of under-specification rather than disciplined editing, but structurally it is clean.

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

Completeness2/5

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

This is a high-complexity tool: 8 parameters, a nested chart object with detailed validation rules, and an output schema. The description covers none of that complexity and omits the astrological framing entirely, leaving an agent to infer from the schema alone what inputs matter. Output format is covered by the output schema, so that omission is acceptable, but the rest is a real gap.

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

Parameters2/5

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

Schema description coverage is only 38% and several parameters (topic, agentA, agentB, rounds, language) carry no schema description, so the description is expected to compensate — and it does not, adding no parameter meaning whatsoever. 'multi-round' only obliquely hints at the rounds parameter, and nothing explains what agentA/agentB strings should contain or how chart is consumed.

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

Purpose4/5

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

The description names a concrete verb and output ('2 personas debate a topic, multi-round transcript'), so an agent knows this produces a debate transcript rather than a single answer. However, it never differentiates itself from near-neighbours like astroway_mcp_ai_chat or astroway_mcp_multi_agent_coordinate, and it omits that the debate is anchored to an astrological chart, which the schema makes clear.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no statement of what situation calls for a two-persona debate over a single-shot chat, no prerequisites, and no mention of alternatives. The only extra text is group and cost metadata, which is billing context rather than usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_agent_pool_statusMCP Agent Pool StatusC
Read-onlyIdempotent
Inspect

8 personas with specialties.

[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
countNo
personasNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely new context by disclosing a 10-credit Tier 1 cost, but omits what the status payload represents or whether it reflects live pool state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is very short and front-loads the one substantive fact, but the first sentence is a dangling fragment rather than a complete statement of purpose, and the bracket tags read as metadata padding rather than description.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and annotations cover safety, so the description's remaining burden is small. It is still thin on what 'pool status' reports and when it should be invoked, leaving a minor gap for a zero-required-parameter status tool.

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

Parameters3/5

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

Schema description coverage is 100% and both optional compaction parameters (fields, precision) are thoroughly documented in the schema with examples. The description adds nothing about parameters, so the baseline 3 applies.

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

Purpose2/5

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

The description '8 personas with specialties' is a noun fragment that hints at the returned content but never states what the tool does or what 'pool status' means. It does not distinguish this from siblings like astroway_agent_tools or astroway_mcp_tools_list, which also concern agent/persona inventory.

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

Usage Guidelines2/5

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

There is no indication of when to call this versus the many sibling agent/tools-listing tools, and no prerequisites or exclusions. The only guidance offered is the cost tag '[Cost: 10 credits (Tier 1)]', which helps budget decisions but says nothing about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_ai_chatChart-grounded AI chatA
Read-only
Inspect

Chat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign. Carries up to 10 turns of history, replies in 21 languages, and takes four voices through persona. Send your own provider key and the turn costs 5 credits instead of the endpoint price.

[Group: AI & MCP] [Cost: 100 credits (Tier 4)]

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelNo
replyNo
tokensNo
personaNo
languageNo
disclaimerNo
duration_msNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly, non-destructive, openWorld, non-idempotent), and the description usefully adds context beyond that: a 10-turn history cap, 21 supported languages, four persona voices, and a cost behavior where sending your own provider key drops the turn to 5 credits. It stops short of describing failure modes or what the chart object must contain to succeed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core differentiator ('answered from the positions we computed') before secondary facts about history, languages, and pricing. The trailing group/cost tags are metadata rather than prose, so there is minimal waste.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description covers the AI-behavioral surface (grounding, history, language, persona, cost). For a 7-parameter tool with nested objects and low schema coverage, it could say more about the chart input contract, but the essentials are present.

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

Parameters3/5

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

Schema description coverage is only 43%, so the description should compensate, and it partly does by explaining history (10 turns), language (21), and persona (four voices). However, it says nothing about the required `message`, the complex nested `chart`, or the compact-mode `fields`/`precision` parameters, leaving those to the schema.

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

Purpose4/5

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

The description states a specific verb and resource — a chat grounded in computed chart positions rather than the model's sun-sign memory — which is clearly distinguishable from report-generation siblings. It does not explicitly name an alternative among the many AI siblings (explain_aspect, explain_transit, comparison_coach), so it falls short of a 5.

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

Usage Guidelines2/5

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

The description explains what the tool is but never says when to reach for it versus the other AI siblings or the narrative-report tools. No prerequisites or selection conditions are given; the agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_ai_comparison_coachComparison CoachC
Read-only
Inspect

Coach two charts on relationship dynamics.

[Group: AI & MCP] [Cost: 100 credits (Tier 4)]

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
coachingNo

TDQS

C2.7/5.0
Behavior3/5

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

The annotations already declare a safe read-only, non-destructive, open-world operation. The description adds useful cost context (100 credits, Tier 4) and group membership, but does not disclose rate limits, auth requirements, or what the AI coach actually returns. With annotations covering safety, this partial extra context merits a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with cost and group metadata placed clearly after the core sentence. It wastes no words, although it is arguably too sparse for a tool of this complexity.

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

Completeness2/5

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

For a 6-parameter tool with nested chart objects and multiple AI/synastry siblings, the description is far too thin. The output schema covers return values, but the description does not explain what 'coaching' entails or when to select this tool over alternatives, leaving a substantial contextual gap.

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

Parameters2/5

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

Schema description coverage is 67%, and the description adds no parameter-level meaning beyond the schema. It says 'two charts' but does not clarify the role of the required question field, language, precision, or fields parameters, nor does it help compensate for the less-documented parameters.

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

Purpose3/5

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

The description names the resource (two charts) and domain (relationship dynamics), but the verb 'Coach' is vague about what the tool actually produces. It does not distinguish this from sibling reports like astroway_reports_ai_synastry_narrative, leaving an agent unsure whether this is an interactive coaching session, a report, or something else.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description does not mention when this tool should be chosen over similar two-chart tools such as synastry reports or multi-chart context, nor are any preconditions or exclusions stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_ai_explain_aspectExplain AspectC
Read-only
Inspect

Detailed explanation of an aspect between two planets.

[Group: AI & MCP] [Cost: 100 credits (Tier 4)]

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
explanationNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description's only added behavioral fact is the cost (100 credits, Tier 4), which is genuinely useful for an agent budgeting calls, but nothing is said about latency, auth, or output shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded, but the terseness here reflects under-specification rather than efficient communication. The metadata lines consume half the length without adding invocation help.

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

Completeness2/5

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

An output schema exists, so return values need no prose, but the description leaves key input questions open: how planets must be named, which chart object is required for a natal calculation, and what the aspectType enum means in context. For a 7-parameter tool with a nested birth-data object, this is thin.

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

Parameters2/5

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

Schema description coverage is only 43%, and the undescribed parameters include the three required ones (planet1, planet2, aspectType). The phrase 'between two planets' loosely implies planet1/planet2 but gives no naming convention or accepted values, and aspectType, language, fields and precision get nothing despite the gap.

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

Purpose4/5

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

States a specific verb and resource: an explanation of an aspect between two planets. An agent can tell what it does, though it never contrasts itself with the sibling astroway_mcp_ai_explain_transit, which is the nearest alternative.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as explain_transit or the report tools. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_ai_explain_transitExplain TransitC
Read-only
Inspect

Explain a current transit hitting your natal chart.

[Group: AI & MCP] [Cost: 100 credits (Tier 4)]

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
explanationNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, destructiveHint=false, openWorldHint=true and idempotentHint=false. The description adds genuinely useful operational context by disclosing the cost (100 credits, Tier 4) and the AI grouping, which helps an agent budget. It does not explain the non-idempotent nature of an AI-generated explanation or any latency/rate behavior, so it adds some but not rich value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence carries the core purpose, with the group and cost tags kept as structured metadata rather than prose. It is tight and waste-free, though its brevity edges into under-specification rather than model conciseness.

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

Completeness2/5

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

For an 8-parameter tool with a nested chart object and five required fields, the description omits routing guidance against several plausible siblings and says nothing about the transit inputs. The presence of an output schema excuses it from describing return values, but the selection and input story is still incomplete.

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

Parameters2/5

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

Schema description coverage is 38% and the five required parameters (chart, transitDate, transitPlanet, natalPlanet, aspectType) carry no schema descriptions at all. The description only obliquely implies a transit/natal pairing and says nothing about expected values or formats for those required fields, so it does not compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific verb and resource: 'Explain' applied to 'a current transit hitting your natal chart.' An agent can tell what the tool produces. It stops short of distinguishing itself from close siblings such as astroway_mcp_ai_explain_aspect or astroway_reports_ai_transit_narrative, so it is clear but not sibling-differentiating.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or named alternative. The sentence implies the context (a transit to your natal chart) but gives no condition that would route an agent here instead of the aspect explainer or the transit narrative report. This matches the 'no guidance' band.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_multi_agent_coordinateMCP Multi-Agent CoordinateC
Read-onlyIdempotent
Inspect

Run N personas in parallel + LLM synthesis.

[Group: MCP Advanced] [Cost: 100 credits (Tier 4)]

ParametersJSON Schema
NameRequiredDescriptionDefault
chartNoBirth 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.
agentsYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNoen
questionYes
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
synthesisNo
individualNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description only needs to add context. It does add parallel execution and a 100-credit Tier 4 cost, which is useful. However, it omits latency implications from LLM synthesis, auth requirements, and any detail about valid agent choices.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is very short and front-loads the core action before the group and cost tags. No sentence is wasted, though the brevity reflects under-specification rather than thorough contextual completeness.

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

Completeness2/5

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

This is a complex tool with a nested chart object, six parameters, required agent and question fields, and many sibling tools. The description explains almost none of that beyond a two-line summary and cost, leaving significant gaps even though an output schema exists for return values.

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

Parameters2/5

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

Schema description coverage is only 50%, and the description adds no parameter-level meaning for question, agents, chart, fields, language, or precision. In particular, the required 'agents' array and its 2-4 item constraint, as well as how 'chart' relates to the question, are left entirely to the schema.

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

Purpose3/5

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

The description gives a high-level verb and resource ('Run N personas in parallel + LLM synthesis') but does not define what a persona is, what is being coordinated, or how this differs from siblings such as astroway_mcp_agent_debate. The [Group] and [Cost] tags are metadata rather than purpose clarification.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative-tool guidance. The closest sibling, astroway_mcp_agent_debate, is not mentioned, and the cost tier alone does not tell an agent when this tool should be selected.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_multi_chart_contextMCP Multi-Chart ContextC
Read-only
Inspect

Compact context for MCP agents working across multiple charts.

[Group: AI & MCP] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
chartsYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
intentNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
intentNo
summariesNo
chartCountNo
contextHashNo
summaryStringNo

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered elsewhere. The description adds only the cost tag (10 credits, Tier 1); it says nothing about batch limits, what the compact response excludes, or the idempotentHint=false implication that repeated calls may vary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence plus metadata tags are front-loaded and free of padding, so it is structurally clean. However, the brevity here is under-specification rather than conciseness: the sentence carries almost no callable information.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but for a tool with an enum-driven intent, a compact-mode fields selector and a 6-item batch cap, the description omits nearly everything an agent needs to choose and configure it.

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

Parameters2/5

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

Schema description coverage is only 50%, so the description is expected to compensate — and it does not. The compact-mode controls (fields, precision) and the intent enum are never mentioned in the description, leaving the agent to discover their meaning entirely from the schema.

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

Purpose2/5

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

"Compact context for MCP agents working across multiple charts" restates the tool name (multi-chart context) without a concrete verb or resource for what is actually produced. It never says it computes natal chart data for multiple subjects, nor does it distinguish this tool from sibling report/chart tools like astroway_reports_natal or astroway_reports_synastry.

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

Usage Guidelines2/5

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

The only usage signal is the implied "working across multiple charts," from which an agent might infer batch multi-subject use. There is no explicit when-to-use, no exclusions, and no mention of when a single-chart or report sibling is preferable, despite ~40 alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_streamingMCP Streaming ChatB
Read-only
Inspect

Server-Sent Events streaming chat completion with optional chart context.

[Group: AI & MCP] [Cost: 100 credits (Tier 4)]

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

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnly, non-destructive, open-world, non-idempotent). The description adds two genuinely useful behavioral facts beyond them: the response arrives as Server-Sent Events, and each call costs 100 credits (Tier 4). It says nothing about auth requirements, rate limits, or what the stream events look like, so it is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence that states the core capability, followed by two bracketed metadata tags. Very tight, though the group/cost tags sit after the payload rather than being folded in naturally.

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

Completeness2/5

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

For a 5-parameter tool with a nested birth-chart object, no output schema, and only 60% schema description coverage, the definition is thin. It does not describe the streamed response shape, streaming lifecycle, or the required message parameter, and gives no guidance on how chart context should be formed.

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

Parameters3/5

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

Schema coverage is 60% and the nested chart object carries extensive inline documentation that the description does not repeat. The 'optional chart context' phrase confirms the chart parameter exists but adds no semantics for message, language, fields, or precision, so it does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb and resource: an SSE streaming chat completion, with the chart-context option noted. It is clearer than a bare 'chat', but it never distinguishes itself from sibling astroway_mcp_ai_chat (presumably the non-streaming counterpart) or astroway_mcp_tool_call_stream, so the agent must guess which chat entry point to pick.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is given. The description notes that chart context is optional but never says when you should supply it or how it changes the answer, and it never mentions the sibling chat tools as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_tool_call_streamMCP Tool-Call StreamC
Read-onlyIdempotent
Inspect

SSE-stream of a tool call envelope.

[Group: MCP Advanced] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNo
toolYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
languageNoen
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description does add one genuinely useful behavioral fact not in annotations: the 10-credit Tier 1 cost. However, for a streaming tool it says nothing about stream termination, error semantics, or partial delivery, which is the behavior an agent most needs here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and the core statement is front-loaded, so nothing is wasted. But the two bracketed metadata lines are boilerplate and the resulting length is too thin for the tool's complexity, so brevity here reads as under-specification rather than tightness.

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

Completeness2/5

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

For a tool with 5 parameters (including a nested arbitrary 'args' object), no output schema, and an opaque streaming return, the definition is far too thin: it never explains what the streamed envelope contains, how the stream ends, or how 'args' maps to the target tool. An agent must guess at most of the call contract.

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

Parameters2/5

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

Schema description coverage is only 40%: 'tool' (the sole required parameter) and 'args' carry no description, and 'language' has only an enum. The description supplies zero parameter guidance, so it fails to compensate for the coverage gap on a 5-parameter tool with a nested free-form object.

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

Purpose3/5

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

It pairs a specific verb ('SSE-stream') with a resource ('tool call envelope'), which is more than a tautology, but 'tool call envelope' is unexplained jargon and the definition does nothing to separate it from close siblings like astroway_mcp_streaming or astroway_mcp_tools_list. An agent cannot tell from this text which one to pick.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or what alternative exists for the same need. The only context is the group/cost tag, which tells the agent a price but not a use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_mcp_tools_listMCP Tools ListC
Read-only
Inspect

Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).

[Group: AI & MCP] [Cost: see your plan — endpoint not in the public credit manifest]

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.

Output Schema

ParametersJSON Schema
NameRequiredDescription
specNo
notesNo
toolsNo
serverNo
toolCountNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds a spec version and notes that cost is not in the public credit manifest, which is useful behavioral context. However, it does not explain what the manifest contains, how it is scoped, or any other operational behavior beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads its main claim about being an auto-generated manifest. The bracketed group and cost lines add metadata without excessive verbosity. It is efficient, though the bracket metadata is only marginally useful for tool selection.

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

Completeness3/5

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

An output schema exists and the input schema is fully documented, so return values and parameters do not need explanation in the description. However, the description remains thin on purpose and usage guidance, making it only minimally complete for an agent deciding whether to call this tool. The low complexity of the tool keeps it from being inadequate, but notable gaps remain.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (fields and precision) are already fully documented in the schema. The description adds no parameter-level meaning beyond what is in the input schema. With complete schema coverage and no additional description detail, a baseline 3 is appropriate.

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

Purpose3/5

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

The description says it is an auto-generated tool manifest for MCP clients, which identifies the general resource but uses no action verb and does not explicitly state that it lists available MCP tools. It also does not distinguish this tool from nearby siblings such as astroway_agent_tools or the MCP-related tools. Purpose is therefore implied rather than clearly stated.

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

Usage Guidelines2/5

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

The only usage context is the phrase 'for MCP clients,' which implies an audience but gives no guidance on when to call this tool versus alternatives. It does not mention prerequisites, exclusions, or sibling tools. This is the same level as a definition that provides only an implied context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_chartFull Chart (computed)C
Read-onlyIdempotent
Inspect

Real star placement: soul and body palaces, the five-element class, all 14 main stars plus auxiliaries, the twelve stages, the 12 decade limits and the 四化 marked on the stars that carry them.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 20 credits (Tier 2)]

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNo
dateYes
timeYes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
genderYes
schoolNo
fixLeapNo
languageNo
timezoneNoIANA 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.
dayDivideNo
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
yearDivideNo
tianmaSchoolNo
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
lunarNo
ziweiNo
palacesNo
computedNo
soulPalaceNo
fiveElementClassNo

TDQS

C2.7/5.0
Behavior3/5

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 without description help. The description does add one thing the annotations do not: a 20-credit (Tier 2) cost, which is decision-relevant for a metered API. It says nothing about failure modes, data requirements, or the difference between 'computed' here and any cached variant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence plus two bracketed metadata tags, with no filler or repetition and the chart contents front-loaded. It is a long list-like sentence, but every listed element is substantive rather than padding.

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

Completeness2/5

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

For a 14-parameter, 5-enum, cost-metered computation tool with heavy sibling overlap, the description leaves out the essential call prerequisites (birth date/time/gender) and the school/divide options that materially change output. The output schema does relieve it of explaining return values, but the input side is too thin for an agent to invoke this confidently without opening the schema.

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

Parameters2/5

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

Schema description coverage is only 29%, so the description is expected to compensate and it does not: it never mentions that date, time and gender are required, nor explains the four 'school' variants, yearDivide/dayDivide/tianmaSchool options, or fixLeap. Only two parameters (fields, precision) and part of timezone carry schema descriptions; the description adds no parameter meaning at all.

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

Purpose3/5

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

The description lists the specific Zi Wei Dou Shu contents produced (soul/body palaces, five-element class, 14 main stars plus auxiliaries, twelve stages, 12 decade limits, 四化), so the resource is identifiable. However it is a content enumeration rather than a stated action, and it gives no differentiation from the closely named sibling astroway_ziwei_full_chart or from astroway_ziwei_main_stars / astroway_ziwei_four_transformations, which appear to cover subsets of the same material.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The only routing information is a group tag ('Zi Wei Dou Shu') and a credit cost, neither of which tells an agent when to pick this tool over the ziwei_full_chart or per-palace siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_four_transformationsFour Transformations (四化)A
Read-onlyIdempotent
Inspect

The four stars activated by the birth year stem: 化禄 fortune, 化权 authority, 化科 repute, 化忌 obstruction. The one part of Zi Wei computable without star placement. Seven stems are agreed across traditions; for the three that are not (戊 庚 壬) every school reading ships in schoolVariants, and school switches the headline answer.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 10 credits (Tier 1)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
schoolNo
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
schoolNo
disputedNo
yearStemNo
solarYearNo
schoolVariantsNo
transformationsNo

TDQS

A4.3/5.0
Behavior4/5

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 burden is lifted. The description adds substantive non-obvious behavior: tradition-dependent outputs for three stems with all school readings shipped in schoolVariants, plus the 10-credit cost. Auth and rate-limit details are absent, but nothing material is hidden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what is computed, then the tradition nuance and the school switch; every sentence carries information. The trailing [Group]/[Cost] tags are structured metadata rather than prose, so they don't dilute, though the second sentence's 'computable without star placement' clause is loosely placed.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and annotations cover safety. For a 7-param tool the description covers purpose, tradition variance, and the key enum, leaving only minor gaps around the required birth date and the compass of the other params, which the schema largely handles.

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

Parameters4/5

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

Schema coverage is moderate (57%): fields, timezone, precision, and timezoneOffset are already documented, while date, time, and school are not. The description compensates meaningfully for the undocumented `school` enum by explaining that it selects the headline answer and that variant readings appear in schoolVariants, adding real semantics beyond the bare enum.

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

Purpose5/5

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

States a specific computation (the four stars 化禄/化权/化科/化忌 activated by the birth-year stem) with domain-accurate detail, and adds the crucial scoping fact that this is the one part of Zi Wei computable without star placement. An agent can distinguish it from ziwei_chart, ziwei_main_stars, and the palace tools without opening any schema.

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

Usage Guidelines4/5

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

Gives clear contextual guidance on when the school parameter matters: seven stems agree across traditions, three (戊庚壬) do not, and `school` switches the headline answer. It does not, however, explicitly route the agent relative to sibling tools or state prerequisites for the required date input.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_full_chartFull Chart (deprecated)A
Read-onlyIdempotent
Inspect

Deprecated 2026-09-08, sunset 2027-11-26. Year pillar + animal + a 12-palace overview, identical for every birth date. Use POST /ziwei/chart, which actually places the stars.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
animalNo
palacesNo
solarYearNo
disclaimerNo
yearPillarNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes well beyond them by disclosing the deprecation window with a sunset date, the 5-credit cost, and – most valuably – that the result is invariant to the birth date, which is precisely the kind of surprising behavior an agent must know before spending credits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler, front-loaded with the deprecation status and dates before the output summary and the replacement advice. The group and cost tags are compact metadata rather than prose waste.

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

Completeness4/5

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

For a deprecated read-only tool with an output schema already defining the return shape, the description supplies everything needed to avoid a bad call: status, timeline, cost, the replacement, and the no-op result. The only shortfall is that the date/time inputs are never characterized, leaving a small chance an agent still tries to use it with a specific birth time.

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

Parameters3/5

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

Schema description coverage is 67%, and the schema itself is detailed for fields, precision, timezone and timezoneOffset, so the baseline is 3. The description never names a parameter; its only parameter-relevant contribution is the indirect hint that the required date does not affect the output, which is useful but not explicit parameter guidance for the two undocumented params (date, time).

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

Purpose5/5

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

It names the resource (a Zi Wei Dou Shu full chart) and specifies exactly what comes back – 'Year pillar + animal + a 12-palace overview' – and adds the decisive discriminator that the output is 'identical for every birth date'. That single clause separates it from astroway_ziwei_chart, which 'actually places the stars', so an agent can choose correctly without opening either schema.

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

Usage Guidelines4/5

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

It gives an explicit when-not (deprecated with dates) and a named alternative ('Use POST /ziwei/chart, which actually places the stars'), which is strong routing guidance. The only gap is that the alternative is given as a REST route rather than the sibling MCP tool name, so the agent must map it to astroway_ziwei_chart itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_main_stars14 Main StarsA
Read-onlyIdempotent
Inspect

The 14 main stars in canonical order (Zi Wei series, then Tian Fu series) with theme/archetype. Reference table: does not vary with the date.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
disclaimerNo
fourteenMainStarsNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so safety is covered. The description usefully adds that output is order-stable and date-independent, and the cost tier is disclosed – real behavioral context beyond the annotations, though the still-required `date` for a date-invariant result is left unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load the resource, ordering and invariance claim; the group/cost brackets are compact metadata. Nothing is padded.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and the annotations cover the safety profile. The description is sufficient for a static reference lookup, with the minor unresolved question of why a date is mandatory for a date-invariant result.

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

Parameters2/5

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

With 6 parameters (1 required) and only 67% schema description coverage, the description supplies no parameter meaning at all. Worse, the one param-related claim it makes ('does not vary with the date') sits awkwardly against a schema that hard-requires `date`, leaving the agent unsure why that input must be sent – it does not compensate for the coverage gap.

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

Purpose5/5

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

The description names the exact resource (the 14 main stars of Zi Wei Dou Shu), its ordering (Zi Wei series then Tian Fu series) and the payload it carries (theme/archetype), which is strictly different from the sibling Zi Wei chart/palace/transformation tools. An agent can identify this as a static definitional table without opening the schema.

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

Usage Guidelines3/5

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

Calling it a 'Reference table: does not vary with the date' implies the appropriate use (static star lookup rather than a chart computation), but no sibling alternative is named and no when-not condition is given. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_careerCareer Palace (Guanlu)C
Read-onlyIdempotent
Inspect

Profession, status, official position.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.9/5.0
Behavior3/5

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 genuine behavioral context in the form of cost ('5 credits, Tier ½'), which is quota-relevant information not present in any structured field, but says nothing about output shape, caching, or computation requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact and front-loaded: the domain statement comes first, followed by grouped metadata tags. Nothing is padded, though the brevity borders on under-specification rather than true economy.

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

Completeness3/5

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

With an output schema present and annotations covering the safety profile, the description need not explain return values. But for a chart-computation tool it omits what the result represents and that it derives from birth data, leaving the agent to infer the action from the title alone.

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

Parameters3/5

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

Schema description coverage is 67% and the description adds no parameter detail at all — no clarification of the required date, the time field, or how timezone interacts with charts. The rich schema prose for timezone/fields/precision carries the load, so a baseline 3 is warranted rather than a penalty.

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

Purpose3/5

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

The description 'Profession, status, official position' labels the semantic domain of the Career Palace and thereby distinguishes it from sibling palaces like wealth or spouse. However, it never states a verb — it does not say whether the tool computes the palace, returns its stars, or produces an interpretation. An agent knows the topic but not the action.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. that birth date/time is needed), and no routing to alternatives. The only routing signal is the '[Group: Zi Wei Dou Shu]' tag, which is supplementary metadata rather than usage instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_childrenChildren Palace (Zinu)C
Read-onlyIdempotent
Inspect

Children, fertility, juniors.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.6/5.0
Behavior3/5

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 cost context (5 credits, Tier ½) and the system group, which is useful metadata beyond annotations, but it says nothing about return format, permissions, or rate limits beyond the credit cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, and the group/cost metadata lines are structured and useful. However, the core content is a sparse keyword fragment rather than a purposeful statement, so it is under-specified rather than truly concise.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description still omits what the Children Palace analysis contains, how it differs from related palace tools, and any usage context. For a 6-parameter chart tool in a crowded Zi Wei toolset, this leaves an agent with too little to select and invoke it confidently.

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

Parameters2/5

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

The description provides no information about any of the 6 parameters. Schema description coverage is 67%, with the date and time parameters having only patterns and no textual descriptions, so the description should compensate but does not. The timezone, precision, timezoneOffset, and fields parameters are well documented in the schema, but the description adds zero semantic value on top.

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

Purpose3/5

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

The description is a keyword list ('Children, fertility, juniors') that names the domain but never states a verb or that it returns the Children Palace analysis. It is more informative than the bare title 'Children Palace (Zinu)' because it adds fertility and juniors, but it does not clearly differentiate from sibling palace tools like astroway_ziwei_palace_siblings, where 'juniors' could cause confusion.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many other Zi Wei palace tools (career, spouse, siblings, etc.) or versus astroway_ziwei_chart / astroway_ziwei_full_chart. The group tag only categorizes the tool; it does not state selection conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_destinyDestiny Palace (Ming)C
Read-onlyIdempotent
Inspect

Life path, character, soul mission.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.3/5.0
Behavior3/5

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 by structured data. The description adds genuinely useful non-schema context: it belongs to the Zi Wei Dou Shu group and costs 5 credits (Tier 1/2), which matters for budgeting. It omits, however, that a birth date is required and that accuracy depends on birth time/timezone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded with the thematic line first, followed by structured group/cost tags. There is no filler, but the brevity reflects missing content rather than disciplined compression.

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

Completeness2/5

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

For a chart-derivation tool with six parameters and an existing output schema, the return value need not be explained, but the description still leaves out the essential fact that it requires birth date/time and how it relates to the other ziwei palace tools. An agent would have to guess its place in the Zi Wei workflow.

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

Parameters2/5

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

The description says nothing about any of the six parameters. With schema description coverage at 67%, the two undescribed parameters (date, time) fall entirely on the schema's patterns, and the description does nothing to compensate for the gap.

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

Purpose2/5

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

The description restates the title thematically ('Destiny Palace' -> 'Life path, character, soul mission') without stating the operation: computing the Ming/Destiny palace of a Zi Wei Dou Shu chart from birth data. It never differentiates itself from the eight sibling palace tools (career, wealth, spouse, health, etc.), so an agent cannot tell which palace it returns 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.

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of required inputs (birth date, ideally time), and no mention of the sibling palace tools as alternatives. The only context offered is group and billing metadata, which does not help select between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_healthHealth Palace (Ji'e)C
Read-onlyIdempotent
Inspect

Body, illness, weak points.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.7/5.0
Behavior3/5

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's one genuinely additive piece of behavior is the billing disclosure ("5 credits (Tier ½)"), which is not in the schema or annotations; beyond that it says nothing about inputs required or what the palace analysis contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short and front-loaded, with the topic first and the group/cost metadata clearly tagged afterwards. It is efficient, though the brevity borders on under-specification rather than tight editing.

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

Completeness2/5

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

For a 6-parameter chart-derived tool, the description omits how it relates to the Zi Wei chart tools, that birth date (and optionally time) is required, and how it differs from overlapping wellness/medical tools. Having an output schema covers return-value documentation, but the invocation context is still thin.

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

Parameters2/5

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

Schema description coverage is 67%, and the description explains none of the six parameters. It gives no hint that a birth date (required), optional time, timezone handling, or the compact-mode `fields`/`precision` options exist, leaving the half-documented `date`/`time` params entirely to the schema patterns.

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

Purpose3/5

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

The fragment "Body, illness, weak points" conveys the topical domain (the Zi Wei Dou Shu Health palace) but never states a verb or what the tool returns. The name/title already carry most of the disambiguation against siblings like astroway_ziwei_palace_career, so the description adds only a topical gloss 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.

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative is given. An agent cannot tell from the text whether this is a full chart, a sub-analysis, or where it sits relative to astroway_ziwei_chart, astroway_ziwei_full_chart, or astroway_wellness_medical_astrology.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_propertyProperty Palace (Tianzhai)C
Read-onlyIdempotent
Inspect

Real estate, family home, ancestry.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description's one genuine addition is the operational cost tag ('5 credits, Tier ½'), which is useful context, but it says nothing about what the computation requires or how the palace reading 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two lines with no filler, and the domain keywords are front-loaded before the metadata tags. However, the brevity comes from omission rather than tight editing; there is almost no substance to be concise about.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description still leaves the core operation, the required birth date/time context, and the relationship to sibling palace tools unstated. For a chart-computation tool with 6 parameters, this is under-specified.

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

Parameters2/5

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

Schema description coverage is only 67%, with `date` and `time` carrying no description in either the schema or the tool description. The description supplies no parameter meaning at all — no indication that date/time are the birth moment the palace is cast from — so it fails to compensate for the coverage gap.

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

Purpose3/5

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

The description gives the thematic domain of the Tianzhai palace (real estate, family home, ancestry) but never states what the tool actually does — no verb like 'compute' or 'return', and no mention that it produces the Property Palace of a Zi Wei Dou Shu chart. It also does nothing to distinguish itself from the many sibling palace tools (career, wealth, spouse, health), so an agent must infer the operation from the name alone.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus astroway_ziwei_chart, astroway_ziwei_full_chart, or the other palace_* siblings. The only routing help is the group/cost metadata tags, which say nothing about selection conditions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_siblingsSiblings Palace (Xiongdi)C
Read-onlyIdempotent
Inspect

Brothers, sisters, peer relationships.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.8/5.0
Behavior3/5

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

The annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description need only add new behavior. It does add one genuinely useful trait not in the annotations: the cost of 5 credits (Tier ½), which matters for an agent deciding whether to spend. Beyond that it says nothing about what the response contains or any constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines with the topical keywords front-loaded and the group/cost metadata clearly bracketed, so there is no filler or redundancy. It is efficient, though arguably terse to the point of underspecification, which is a completeness issue rather than a conciseness one.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a parameterized chart tool the definition leaves the agent without a clear statement of what is produced or how it differs from the sibling Zi Wei palace tools, making it only minimally sufficient.

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

Parameters2/5

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

Six parameters with schema description coverage at 67% and the description adds zero parameter information. The required 'date' parameter has only a pattern, and nothing in the description clarifies the date/time/timezone semantics or the compact-mode fields/precision options. With a mid-range coverage gap, the description should compensate but does not.

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

Purpose3/5

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

The description names the life themes the Siblings Palace covers ('Brothers, sisters, peer relationships') but supplies no verb and never states that it returns a Zi Wei Dou Shu palace analysis, so the function is only implied. It is largely a restatement of the title 'Siblings Palace (Xiongdi)' with the addition of 'peer relationships', and it does not distinguish itself from nearby Zi Wei palace tools or from astroway_family_sibling_dynamics.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. a birth date/time is required), and no mention of alternatives such as astroway_ziwei_twelve_palaces or astroway_family_sibling_dynamics. The only contextual cues are the group tag and credit cost, which are billing/metadata rather than usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_spouseSpouse Palace (Fuqi)C
Read-onlyIdempotent
Inspect

Marriage partner, romantic union.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.1/5.0
Behavior3/5

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-schema behavioral context — the Zi Wei Dou Shu group membership and a cost of 5 credits (Tier ½) — which is genuinely useful for call budgeting, but it says nothing about what the computation returns or its input requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short with no filler and the group/cost tags are front-loadable structured metadata. However, brevity here reflects under-specification rather than economy — a whole sentence of the budget could be spent clarifying what the tool produces.

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

Completeness2/5

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

An output schema exists, so return values need no explanation. But for a chart-derivation tool with six parameters sitting among many near-identical palace siblings, the description omits what is computed, from which chart, and how it differs from astroway_ziwei_twelve_palaces — leaving the agent to guess from the name alone.

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

Parameters2/5

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

Schema description coverage is 67%, so the schema documents most of the six parameters (fields, precision, timezone, timezoneOffset) but not date/time formats. The description adds no parameter meaning whatsoever, so it fails to compensate for the undocumented remainder.

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

Purpose2/5

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

The description is a noun-phrase gloss on the palace's meaning ('Marriage partner, romantic union') rather than a statement of what the tool does. It largely restates the name/title 'Spouse Palace (Fuqi)' and provides no verb or operation, and it does nothing to distinguish itself from the ten sibling palace tools (career, wealth, health, etc.).

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as astroway_ziwei_chart, astroway_ziwei_full_chart, or astroway_ziwei_twelve_palaces. An agent gets nothing to route on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_travelTravel Palace (Qianyi)C
Read-onlyIdempotent
Inspect

Travel, relocation, foreign opportunities.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the credit cost (5 credits, Tier ½), which is genuinely useful behavioral context not present in the annotations, but it says nothing about what the calculation consumes or returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and front-loaded, but it is an under-specified keyword fragment rather than a structured, information-dense sentence. Brevity here reflects omission of required context rather than disciplined conciseness.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. But for a 6-parameter chart-calculation tool the description omits the essential framing — that it derives the Travel palace from a birth date/time within Zi Wei Dou Shu — leaving the agent to infer the tool's core contract from the name alone.

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

Parameters2/5

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

Schema description coverage is 67%, and the required `date` and optional `time` parameters carry no schema description at all. The description provides zero parameter information (no date/time format, no mention that birth data drives the palace calculation), so it fails to compensate for the uncovered parameters.

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

Purpose3/5

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

The description names the domain ('Travel, relocation, foreign opportunities') and the group tag identifies the Zi Wei Dou Shu system, so an agent can infer this returns the Travel palace's themes. However, it is a bare keyword list with no verb or resource statement — it never says it computes/returns the Travel palace for a given chart, leaving the actual action implied.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as astroway_ziwei_twelve_palaces (all palaces) or the other palace-specific siblings, nor any prerequisites (e.g., that a birth date/time is required). The only contextual lines are metadata (group and credit cost), which do not help tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_palace_wealthWealth Palace (Caibo)C
Read-onlyIdempotent
Inspect

Income, material prosperity.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palaceNo
solarYearNo
disclaimerNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description does add genuinely new behavioral context — the grouping under Zi Wei Dou Shu and the billing cost (5 credits, Tier 1/2) — but says nothing about what is returned or how the palace reading is scoped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded with the topic, and the group/cost metadata is compact and useful. However, the terseness comes at the cost of substance — the single content clause does little work for an agent trying to select among hundreds of siblings.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a chart tool that requires a birth date and sits among a dozen near-identical palace endpoints, the description omits usage context, prerequisites and sibling differentiation. It is not complete enough to route the agent reliably.

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

Parameters2/5

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

Six parameters with 67% schema coverage: date, time, timezone, timezoneOffset, fields and precision. The description contributes no parameter information at all, leaving the moderately documented schema to carry the full burden without any description-side clarification of defaults or required usage.

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

Purpose3/5

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

The description is a topic fragment ('Income, material prosperity') rather than a verb+resource statement; the title 'Wealth Palace (Caibo)' supplies the resource, so an agent can infer this reads the Zi Wei wealth palace. It does not differentiate itself from close siblings such as astroway_ziwei_palace_career, astroway_ziwei_palace_property or astroway_financial_wealth_house, so purpose is only implied rather than stated.

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

Usage Guidelines2/5

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 (e.g. that a birth date/time is needed), and no mention of alternatives among the twelve ziwei palace tools. The only routing aid is the topic label itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

astroway_ziwei_twelve_palaces12 PalacesC
Read-onlyIdempotent
Inspect

All 12 palaces with English/pinyin/Chinese names + theme + rules.

[Group: Zi Wei Dou Shu (Purple Star)] [Cost: 5 credits (Tier ½)]

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
timeNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezoneNoIANA 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.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffsetNoIgnored when timezone is sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
animalNo
palacesNo
solarYearNo
disclaimerNo

TDQS

C2.9/5.0
Behavior3/5

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 useful content-level context (the naming languages and that each palace carries a theme and rules) and the credit cost, but says nothing about whether the result is computed from the supplied birth data or is a static reference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded line with zero waste, followed by compact group and cost tags. Its brevity is efficient rather than padded, though it borders on under-specification.

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

Completeness2/5

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

For a tool that requires a birth date and sits in a dense cluster of Zi Wei Dou Shu siblings, the description omits the essential framing: that date/time input produces the palace layout, and how it differs from ziwei_chart/ziwei_full_chart. Output schema and annotations cover returns and safety, but the routing and input-role gaps remain.

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

Parameters2/5

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

None of the six parameters are mentioned; in particular the required 'date' is never connected to the tool's output, leaving the source of the palaces ambiguous. With only 67% schema coverage, the description does not compensate for the two undocumented parameters and adds no meaning beyond the patterns.

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

Purpose4/5

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

States the resource and its contents precisely: all 12 palaces with English/pinyin/Chinese names plus theme and rules. It does not, however, distinguish itself from close siblings such as astroway_ziwei_chart or astroway_ziwei_full_chart, so an agent cannot tell from the description alone why it should pick this one.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all, and no pointed exclusion against the numerous alternatives (ziwei_full_chart, ziwei_main_stars, or the nine ziwei_palace_* tools). The agent must infer the role of this tool purely from the name.

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.

  1. 62 tool updates
    • First observedastroway_account_status
    • First observedastroway_agent_tools
    • First observedastroway_bazi_chart
    • First observedastroway_bazi_day_master
    • First observedastroway_bazi_element_balance
    • First observedastroway_bazi_four_pillars
    • First observedastroway_bazi_hidden_stems
    • First observedastroway_bazi_hour_pillar
    • First observedastroway_bazi_interactions
    • First observedastroway_bazi_life_stages
    • First observedastroway_bazi_luck_pillars
    • First observedastroway_bazi_month_pillar
    • First observedastroway_bazi_monthly
    • First observedastroway_bazi_na_yin
    • First observedastroway_bazi_strength
    • First observedastroway_bazi_symbolic_stars
    • First observedastroway_bazi_ten_gods
    • First observedastroway_bazi_year_pillar
    • First observedastroway_bazi_year_pillar_decade
    • First observedastroway_bazi_yearly
    • First observedastroway_chinese_feng_shui_annual_stars
    • First observedastroway_chinese_feng_shui_bagua
    • First observedastroway_chinese_feng_shui_flying_star
    • First observedastroway_chinese_feng_shui_kua
    • First observedastroway_chinese_feng_shui_lucky_directions
    • First observedastroway_chinese_lunar_date
    • First observedastroway_chinese_solar_terms
    • First observedastroway_chinese_tong_shu
    • First observedastroway_chinese_tong_shu_select
    • First observedastroway_chinese_true_solar_time
    • First observedastroway_chinese_zodiac_animal
    • First observedastroway_chinese_zodiac_compatibility
    • First observedastroway_chinese_zodiac_element
    • First observedastroway_chinese_zodiac_inner_animal
    • First observedastroway_chinese_zodiac_secret_animal
    • First observedastroway_cost_estimate
    • First observedastroway_mcp_agent_debate
    • First observedastroway_mcp_agent_pool_status
    • First observedastroway_mcp_ai_chat
    • First observedastroway_mcp_ai_comparison_coach
    • First observedastroway_mcp_ai_explain_aspect
    • First observedastroway_mcp_ai_explain_transit
    • First observedastroway_mcp_multi_agent_coordinate
    • First observedastroway_mcp_multi_chart_context
    • First observedastroway_mcp_rag_search
    • First observedastroway_mcp_streaming
    • First observedastroway_mcp_tool_call_stream
    • First observedastroway_mcp_tools_list
    • First observedastroway_ziwei_chart
    • First observedastroway_ziwei_four_transformations
    • First observedastroway_ziwei_full_chart
    • First observedastroway_ziwei_main_stars
    • First observedastroway_ziwei_palace_career
    • First observedastroway_ziwei_palace_children
    • First observedastroway_ziwei_palace_destiny
    • First observedastroway_ziwei_palace_health
    • First observedastroway_ziwei_palace_property
    • First observedastroway_ziwei_palace_siblings
    • First observedastroway_ziwei_palace_spouse
    • First observedastroway_ziwei_palace_travel
    • First observedastroway_ziwei_palace_wealth
    • First observedastroway_ziwei_twelve_palaces

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides accurate Chinese Bazi (八字) fortune-telling calculations including birth chart analysis, destiny forecasting, and Chinese calendar information. Addresses inaccuracies in existing AI fortune-telling tools by delivering precise Bazi data for personality analysis and metaphysical insights.
    343 npm
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables traditional Chinese fortune-telling through BaZi (Four Pillars) analysis, including solar/lunar date conversion, Five Element balance calculations, Ten Gods deduction, and destiny interpretation for metaphysics applications.
    23 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    紫微AI,是一个紫微斗数解盘AI应用。Ziwei AI is an AI application for Ziwei Doushu chart interpretation.紫微AIは、紫微斗数のチャート解読のためのAIアプリケーションです。
    7
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides tools for Bazi (Chinese astrology) chart calculation and analysis, enabling LLMs to generate accurate birth charts, determine patterns, and answer follow-up questions based on actual calculations rather than model knowledge.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources