Sahadeva
Server Details
Vedic astrology MCP: panchanga, kundli matching, muhurta, dashas.
- Status
- Healthy
- Uptime
- 100.0% over 31 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Server Listing
- Sahadeva
TDQS
Scored across 94 tools
The set has many overlapping tools: consult_jyotishya, analyze_chart_topic, and multiple analyze_*_structure tools all cover broad life/topic judgment; generate_full_life_report, get_full_reading_context, and get_full_life_report_section duplicate report generation; transit/timing tools also overlap. Explicit routing guidance helps, but an agent still faces unclear boundaries among numerous similar tools.
Almost all names use snake_case with a verb_noun or verb_noun_phrase pattern (analyze_*, calculate_*, get_*, find_*), and no camelCase is mixed in. Minor deviations like knowledge_status do not break the predictable pattern.
With 94 tools, this is an extreme mismatch for a single MCP server and far exceeds the typical 3–15 well-scoped range. Many specialist and redundant tools make the surface overwhelming and difficult to navigate.
Coverage is extraordinarily broad: natal calculation, divisional charts, strength, yogas, dashas, transits, compatibility, prashna, muhurta, remedies, reports, and validation/rule-review lifecycle are all present. No obvious domain gap for a Vedic astrology engine; if anything, the surface is overcomplete.
Available Tools
94 toolsanalyze_arudha_and_upapadaAnalyze Arudha and Upapada structuresCRead-onlyIdempotentInspect
ARUDHA AND UPAPADA. Arudha Lagna, Upapada and all twelve padas with Jaimini rashi drishti.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 the safety profile is fully covered by structured data. The description adds no behavioral context beyond that — no note on computational cost, precision sensitivity to birth time (relevant for arudha/pada calculations), or determinism caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight fragments, no filler, with the core resource (Arudha/Upapada) front-loaded. It is efficient, though the extreme brevity is part of why the other dimensions are thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the schema documents most inputs. Still, for a birth-data-driven analysis tool sitting among many look-alike siblings, the description omits what makes this output distinct and what inputs it depends on, leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% with 8 parameters, and the description contributes nothing about any of them — not the date/time/location requirement, not the place-vs-coordinates branch of the anyOf. It does not compensate for the parameters that carry no schema description (latitude, longitude).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific domain artifacts computed: Arudha Lagna, Upapada, all twelve padas, and Jaimini rashi drishti. An agent can tell this is a Jaimini arudha-structure analysis, which separates it from generic siblings like analyze_house or calculate_strength_profile. It does not, however, distinguish itself from the close sibling calculate_jaimini or analyze_special_points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the ~80 sibling analyzers. The agent is left to infer that this is a specialized structural read, with nothing stating when it should be preferred over calculate_jaimini or analyze_special_points.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_badhakaInspect Badhaka structure without supernatural claimsBRead-onlyIdempotentInspect
BADHAKA. The obstruction house and its lord for this Lagna's modality, its placement and relationships. Structural only; no supernatural cause is inferred.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description's added value is the epistemic constraint that no supernatural causation is inferred — genuinely useful context for a Jyotish tool. It says nothing about output shape, but an output schema exists, so that is not required here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler and the key concept front-loaded. The leading fragment 'BADHAKA.' duplicates the tool name and adds no information, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values need not be explained since an output schema exists, and the anyOf coordinate/place requirement is documented in the schema. What is missing is disambiguation within a ~90-tool Jyotish suite: nothing tells the agent when this specialized structural analysis is warranted over analyze_house or analyze_special_points.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% and the description adds no parameter-level detail beyond an implicit reference to the Lagna's modality, which is derived from the birth date/time/place inputs. With the schema doing most of the work, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource — the Badhaka (obstruction) house and its lord, derived from the Lagna's modality, plus its placement and relationships. That is far more than a restatement of the name. It does not, however, differentiate itself from near siblings such as analyze_house or analyze_special_points, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisite (birth data or coordinates required via the anyOf), and no alternative named. The closing clause 'Structural only; no supernatural cause is inferred' is an interpretive stance, not routing guidance. An agent gets no help deciding this tool over analyze_house.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_career_structureanalyze career structureCRead-onlyIdempotentInspect
Evidence-linked analyze career structure without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds a genuine epistemic trait beyond annotations — output is evidence-linked and explicitly avoids deterministic outcome claims — which sets expectations for how results should be framed. It stops short of describing depth, determinism of scope, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, which is appropriately sized, but the phrasing is awkward ('Evidence-linked analyze career structure') and reads as a name-plus-disclaimer rather than a front-loaded statement of purpose. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, two input modes (place or lat/long/timezone), and a topics enum, the description omits input guidance, topic selection, and how results relate to the sibling analyzers. An output schema exists, so return format needn't be explained, but nearly everything else an agent needs for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% and the description adds zero parameter detail: it never mentions date, time, the place-vs-coordinates anyOf requirement, the topics enum, or asOfIso. With 10 parameters and two mutually exclusive input modes, the description leaves the agent to reconstruct input requirements entirely from the schema. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence essentially restates the tool name ('analyze career structure') with two qualifiers, so an agent learns nothing about what the analysis actually produces or what domain inputs drive it. 'Evidence-linked' and 'without deterministic outcome claims' describe epistemic posture, not the operation. No differentiation from siblings like analyze_house or analyze_chart_topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative among the many overlapping siblings (analyze_chart_topic, analyze_house, analyze_yogas, detect_life_themes). The only implicit hint is that the tool concerns careers. Nothing tells the agent when this tool is the right choice over a broader chart analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_chart_topicAnalyze one chart topic with an evidence ledgerBRead-onlyIdempotentInspect
Runs the shared deterministic judgment pipeline for career, education, property, relationships, or spirituality. Returns supporting and opposing evidence, relevant Varga confirmation, current Dasha activation, uncertainty, matched reviewed citations, unresolved source keys, and explicit abstention boundaries. The web app uses the same judgment engine.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | ||
| topic | Yes | ||
| asOfDate | No | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| timezoneOffset | No | ||
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description adds meaningful behavioral context beyond that: the deterministic pipeline, supporting vs opposing evidence, uncertainty handling, and explicit abstention boundaries. It omits any note on auth, rate limits, or latency, so it is not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences, front-loaded with the core action before the return contents. The closing sentence about the web app sharing the engine is low-value framing but brief, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not strictly required (and the description arguably over-covers it). But with 12 parameters at 0% coverage and no sibling differentiation, the definition leaves real gaps for an agent deciding how to invoke it versus its many analyze_* neighbors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters, so the description carries the full burden of explaining them — and it does not. It never mentions the required date/time pair, the place-vs-coordinates anyOf, timezoneOffset, language, or birthTimeAccuracyMinutes, and it lists only five of the eight topic enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Runs the shared deterministic judgment pipeline') plus the topical scope, and the return ledger is named. However, it does not distinguish itself from close siblings like analyze_career_structure or analyze_education_structure, leaving overlap unresolved. The topic list also omits three enum values (wealth, health, children), which slightly muddies the stated scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing. Given siblings such as analyze_house, analyze_varga, and the per-topic analyze_*_structure tools, an agent has no guidance on why it would call this instead of those. Only an implied 'one topic at a time' reading is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_education_structureanalyze education structureCRead-onlyIdempotentInspect
Evidence-linked analyze education structure without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety behavior is covered. The phrase 'Evidence-linked ... without deterministic outcome claims' adds a genuine epistemic trait (the output will be sourced and non-fatalistic), which is useful beyond annotations, though it is too vague to describe output format or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is under-specified rather than concise — it mostly echoes the name/title and omits the information an agent needs. Brevity here reflects missing content, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, anyOf-constrained tool with an output schema and many domain siblings, the one-sentence description is grossly incomplete. Return values are covered by the output schema and safety by annotations, but usage, parameter meaning, and analytical scope are all absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 10 parameters and only 30% schema description coverage, the description must compensate and adds nothing: no mention of date/time requirements, the place-vs-coordinates anyOf branch, topics, asOfIso, or name. An agent gets no semantic help for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title restated: 'Evidence-linked analyze education structure without deterministic outcome claims.' It names no specific analytical content (houses, planets, dashas, etc.) that would let an agent distinguish this education analysis from the many sibling 'analyze_*_structure' tools. The only added content is an epistemic disclaimer, not a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like analyze_career_structure, analyze_marriage_structure, or analyze_chart_topic, nor any prerequisites or exclusions. The description gives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_finance_structureanalyze finance structureCRead-onlyIdempotentInspect
Evidence-linked analyze finance structure without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds genuine non-annotation context: outputs are 'evidence-linked' and deliberately avoid deterministic outcome claims, which tells the agent how to frame results. It still says nothing about input validation failures or the required date/time plus location-vs-coordinates branching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so nothing is wasted, but it is a fragment whose brevity comes from under-specification rather than disciplined compression. Being front-loaded is easy when there is only one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a 10-parameter analysis tool sitting in a dense sibling cluster, the description omits the analysis scope, its topic coverage (the topics enum), the location-vs-coordinates requirement, and any guidance on interpreting 'evidence-linked' results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 30%: place, timezone, and timezoneOffset carry descriptions, but date, time, name, topics, asOfIso, latitude, and longitude are documented nowhere. The description adds no parameter meaning at all, so it fails to compensate for the coverage gap on a 10-parameter tool with an anyOf location requirement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Evidence-linked analyze finance structure without deterministic outcome claims' essentially restates the tool name and title without explaining what a 'finance structure' analysis actually produces (wealth houses? income vs. assets? dasha timing?). It offers no differentiation from close siblings such as analyze_career_structure, analyze_marriage_structure, or analyze_education_structure, which follow the identical naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites (e.g., a chart must already exist), and no routing to or away from alternatives among the ~80 sibling tools. The only framing is the epistemic caveat about deterministic claims, which is a constraint 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.
analyze_houseAnalyze one natal house with support and oppositionCRead-onlyIdempotentInspect
Returns the selected house, lord condition, occupants, functional lordship, relevant relationship edges, supporting and opposing evidence, unresolved source keys and sensitive-house restrictions.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| house | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: 'supporting and opposing evidence', 'unresolved source keys' and 'sensitive-house restrictions' signal evidence-quality and possible restriction behavior, but these terms are left undefined, so the added value is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence with no filler, which is good, but it is an undifferentiated comma-separated output dump rather than a front-loaded statement of function followed by supporting detail. Short, but not well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema already exists, so the description's entire content — a list of return fields — is largely redundant. Meanwhile the elements an agent actually needs (when to use it, how the 9 inputs including the anyOf location branch work, what restrictions apply) are absent. Incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 9 parameters, so the description must compensate and does not: it never mentions date, time, the 1-12 house input, the place-vs-latitude/longitude/timezone anyOf requirement, or timezoneOffset. Only 'the selected house' obliquely gestures at the house parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates what is returned (house, lord condition, occupants, functional lordship, evidence) which lets a reader infer this is a per-house analysis tool, but it never states the action in verb+resource form and offers no differentiation from the many sibling analyzers (analyze_career_structure, analyze_marriage_structure, analyze_finance_structure, etc.). The purpose is recoverable but vague rather than sharply stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. chart data required), and no routing to alternatives such as the topic-specific structure analyzers or analyze_chart_topic. The agent must guess whether this generic house tool or a specialized sibling is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_lal_kitabInspect Lal Kitab house structure and source sectionsARead-onlyIdempotentInspect
Converts verified natal placements to Lal Kitab fixed houses and returns source locators for all nine planet-house sections. Prediction prose and annual-chart emulation are not yet built; the book remedies for each placement come from analyze_lal_kitab_remedies and reason_lal_kitab.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| tradition | Yes | |
| conversion | Yes | |
| placements | Yes | |
| conjunctions | Yes | |
| schemaVersion | Yes | |
| blockedOutputs | Yes | |
| sourceCoverage | Yes | |
| controlledDisclosurePolicy | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lowered. The description adds real value beyond them by bounding scope (no prediction prose, no annual-chart emulation) and stating what is actually returned (source locators per planet-house section) — a no-annotation schema could not convey that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core transformation front-loaded before the scope limitations. Both the negative scope statement and the sibling pointer earn their place by preventing misfires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the read-only annotations cover the safety profile. The one remaining gap is the input contract — the agent gets no prose about the dual place/coordinate requirement, leaving a fairly complex 9-parameter anyOf schema to speak entirely for itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (3 of 9 params), and the description supplies no parameter guidance at all — no date/time format, no explanation of the place-vs-latitude/longitude/timezone anyOf branch, no note on the birthTimeAccuracyMinutes default. With low coverage the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource transformation (natal placements -> Lal Kitab fixed houses) and names the concrete deliverable (source locators for all nine planet-house sections). It also explicitly excludes two adjacent capabilities (prediction prose, annual-chart emulation), which sharply distinguishes it from siblings like analyze_house and analyze_lal_kitab_remedies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description routes the agent away from this tool for remedies, naming analyze_lal_kitab_remedies and reason_lal_kitab as the correct destinations, and rules out prediction/annual work. It stops short of stating positive preconditions (e.g. that chart placements must already be verified/calculated) or naming the tool that produces those verified placements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_lal_kitab_remediesMatch source-located Lal Kitab remedy candidatesCRead-onlyIdempotentInspect
Matches the chart's nine fixed-house placements to remedy blocks extracted from the complete 778-page corpus. Returns each remedy's book wording, its condition text, provenance and risk-flag labels.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description usefully adds that matches come from a fixed 778-page corpus and that results carry provenance and risk-flag labels, but it omits any note on computation cost, chart preconditions, or how the nine houses are derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler; the purpose leads and the output content follows. Minor redundancy in describing return fields when an output schema already exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with an anyOf input structure and only 33% schema coverage, the description leaves the most confusing part — how to supply a location versus explicit coordinates — entirely unaddressed. The output schema covers return values, so the return-value sentence is not the missing piece; the input guidance is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and the description explains no parameters at all — it never mentions date/time, place, or the place-vs-coordinates (latitude/longitude/timezone) alternative required by the schema's anyOf. With low coverage the description should compensate but adds nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Matches the chart's nine fixed-house placements to remedy blocks') and a concrete scope ('extracted from the complete 778-page corpus'). It is clearly distinct from generic remedy tools, but it never names or contrasts with close siblings like analyze_remedies or explore_lal_kitab_remedy_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no alternatives named. The description implies the tool operates on an already-computed chart, but an agent gets no signal on when to pick this over the sibling remedy/catalog tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_marriage_structureanalyze marriage structureBRead-onlyIdempotentInspect
Evidence-linked marriage structure plus a six-part partner profile (spouseProfile): when the relationship starts, someone new or known, where and in which direction from the person's current place, the partner's nature, work hints, and prior relationships. Every finding cites a located passage; questions the installed texts do not answer are marked unavailable. No deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| currentPlace | No | Where the person lives now, as they said it (for example 'Bangalore'). Directions are given relative to it. Never pass the birthplace in its place. | |
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: every finding is tied to a located passage, unanswered questions are explicitly marked unavailable, and no deterministic outcome claims are made. It stops short of stating input prerequisites (the place/coordinate requirement) or any limits on what the installed texts can answer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead clause front-loads the deliverable well, and the closing sentences about citation and non-determinism are high value. The middle sentence, however, is a dense comma-separated run-on enumerating the six profile parts that is hard to parse on first read, hurting structure more than length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description is not obliged to explain return values, and it focuses instead on the epistemic stance of the findings. The unresolved completeness gaps are on the input side (11 parameters, low schema coverage, unstated coordinate/place requirement) and the lack of any sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36% across 11 parameters, so the description is expected to compensate, but it names no parameter. 'the person's current place' only loosely gestures at currentPlace, and date, time, name, topics, asOfIso, latitude/longitude/timezone receive no explanation at all. The anyOf requirement (place vs. coordinates+timezone) is never surfaced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific, concrete account of what the tool produces: an evidence-linked marriage structure plus a six-part spouseProfile covering timing, new/known partner, direction from the current place, partner nature, work hints, and prior relationships. This is far beyond a restatement of the name. However, it never contrasts itself with close siblings such as find_marriage_windows, get_marriage_readiness, or calculate_relationship_compatibility, so an agent must infer the boundary 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisite (e.g., accurate birth date/time), and no named alternative. Given a sibling set that contains several other marriage/relationship tools, the absence of any routing guidance is a real gap, leaving usage purely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_nakshatra_profileanalyze nakshatra profileCRead-onlyIdempotentInspect
Evidence-linked analyze nakshatra profile without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds two genuine behavioral traits beyond that: output is 'evidence-linked' and it avoids deterministic predictions. However, it says nothing about required auth, birth-data prerequisites, or how evidence is surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is not bloated, but its brevity comes at the cost of substance. The one clause that matters is front-loaded after the redundant restated name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, dual-input-mode analysis tool, this is substantially incomplete: it omits the place/coordinates requirement, the topics enum meaning, and the significance of asOfIso. An output schema exists, so return values need not be explained, but the input and routing context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% (10 params; place, timezone and timezoneOffset described). The description adds zero parameter meaning and does not compensate for undocumented date, time, name, topics, or asOfIso, nor does it explain the anyOf place-vs-coordinates input rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the tool name ('analyze nakshatra profile') with two qualifiers, rather than stating a specific verb+resource outcome. It never says what a nakshatra profile actually is or how it differs from closely-related siblings like calculate_devata_profile, get_natal_panchanga, or analyze_chart_topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not, or alternative-tool guidance. The only hint is the phrase 'without deterministic outcome claims,' which describes a stance on results rather than a condition for selecting this tool over its many analyze_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_nameAnalyse a name: nama nakshatra syllable and numerologyARead-onlyIdempotentInspect
Checks whether a name begins with the syllable of the Moon's birth nakshatra pada (classical Avakahada rule), and scores the name and alternative spellings with Chaldean and Pythagorean numerology, Cheiro compound numbers 10-52, birth and destiny numbers, and a ranking of numbers by functional lordship for the lagna. Give date, time and place for the chart-based checks; date alone gives birth numbers only. Numerology is labelled modern, not classical.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| name | No | Full name as currently used | |
| time | No | ||
| place | No | ||
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| spellings | No | Other full-name spellings to compare, for example the passport or social media spelling | |
| variantLimit | No | ||
| timezoneOffset | No | ||
| generateVariants | No | Also score single-edit spelling variants of the first name |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuine behavioral context by disclosing that numerology is 'labelled modern, not classical' and by distinguishing which checks require a full chart versus date alone — useful framing an agent cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded and every sentence carries information, but the opening sentence is a dense run-on packing five distinct analyses together. It is appropriately sized for the tool's complexity with only mild structural looseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description adequately frames the domain and the classical-versus-modern split. For an 11-parameter tool it is largely complete, though the thin parameter coverage leaves some input details to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 27%, so the description must compensate. It clarifies the role of date/time/place and name/spellings, but says nothing about latitude, longitude, timezone, timezoneOffset, variantLimit, or when generateVariants applies, leaving roughly half the parameters' semantics unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource with unusual precision: it checks a name's first syllable against the Moon's birth nakshatra pada (Avakahada rule) and scores it with Chaldean/Pythagorean/Cheiro numerology. An agent can distinguish this from siblings like analyze_nakshatra_profile or calculate_devata_profile purely from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete input guidance ('Give date, time and place for the chart-based checks; date alone gives birth numbers only'), which tells the caller what to supply for which depth of analysis. It does not, however, tell the agent when to prefer this over a sibling tool or when it is inapplicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_property_and_vehicleanalyze property and vehicleCRead-onlyIdempotentInspect
Evidence-linked analyze property and vehicle without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful epistemic context by saying results are 'Evidence-linked' and avoid 'deterministic outcome claims,' which is meaningful for a predictive astrology tool. It does not, however, describe input requirements, limitations, or output behavior beyond that constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, which is structurally concise. However, it is grammatically awkward and front-loads the vague modifier 'Evidence-linked' before the actual verb and resource. For a tool with 10 parameters and an anyOf constraint, this level of brevity leaves the definition under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters, a required date/time pair, and an anyOf requirement for either place or latitude/longitude/timezone, yet the description gives no input guidance. An output schema and rich annotations reduce the need to explain return values and safety, but the description still omits critical invocation context. It is not complete enough for an agent to call this complex tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about any of the 10 parameters. With schema description coverage at only 30%, the description needed to compensate for undocumented parameters such as date, time, topics, asOfIso, and the anyOf place-versus-coordinates requirement, but it does not. The agent must rely entirely on a partially documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb ('analyze') and a resource ('property and vehicle'), so the broad purpose is discernible. However, it largely repeats the tool name and does not specify what kind of analysis is performed or how it differs from siblings like analyze_house, analyze_career_structure, or analyze_chart_topic. The added phrases 'Evidence-linked' and 'without deterministic outcome claims' describe an output stance rather than clarifying the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisite information, and no exclusions. The phrase 'without deterministic outcome claims' hints at a constraint, but it does not tell the agent when this analysis is appropriate. The agent receives no routing help despite a large set of related analyze_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_remediesBuild a source-grounded chart remedy protocolBRead-onlyIdempotentInspect
Combines the topic evidence ledger, belief/cost/burden preferences, Iṣṭa and guiding Devatā calculation, Muhurta-as-remedy routing, named charity, conduct, and the full planet repertoire: mantras, gemstones, vrata and Lal Kitab book remedies. Every candidate exposes its source.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | Yes | ||
| detail | No | brief omits internal audit sections; full returns the complete protocol | brief |
| asOfDate | No | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| preferences | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context that every candidate exposes its source and that belief/cost/burden preferences constrain the output, but it doesn't explain how preferences filter results or what happens on missing/invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and followed by the component list. Dense but every clause names a distinct output domain; the enumerated repertoire reads slightly list-like but is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a complex 14-parameter tool with a nested required preferences object and an anyOf location constraint, the description omits prerequisites and input expectations, leaving the agent to infer them from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, so the description carries extra burden. It does map to the nested preferences object (belief/cost/burden) and the topic ledger, but it says nothing about date/time/place, the coordinate-vs-place anyOf requirement, or detail/language semantics, leaving most of the 14 parameters to the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb (combines/calculates) and names the specific artifact produced: a chart remedy protocol spanning mantras, gemstones, vrata, charity, conduct and Lal Kitab remedies, with source exposure. It is specific about scope, but it never distinguishes itself from near-overlapping siblings like build_remedy_repertoire, analyze_lal_kitab_remedies or explore_lal_kitab_remedy_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. With siblings such as build_remedy_repertoire, suggest_safe_practice and analyze_lal_kitab_remedies in the same space, the agent is given no criteria for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_special_pointsCalculate Upagrahas, Gulika/Mandi, Bhrigu Bindu, Yogi/Avayogi and sensitive degreesBRead-onlyIdempotentInspect
SPECIAL POINTS. Upagrahas (Dhuma group and Gulika, Mandi, Kala, Mrityu, Ardhaprahara, Yamaghantaka), Bhrigu Bindu, Yogi/Avayogi graha, Jagradadi avasthas, Pushkara Navamsa/Bhaga, Gandanta, Vargottama, deep exaltation and nakshatra attributes (deity, gana, yoni, nadi) for every graha.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the description is not required to carry it. The description adds only a catalogue of computed outputs and says nothing about computation cost, determinism of results, or data prerequisites, which is a modest contribution given a rich annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the 'SPECIAL POINTS' label, and every item in the list corresponds to a distinct computed quantity rather than filler. It is long but the length is load-bearing for enumerating the output domain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the annotations cover the safety profile. What is missing is any usage framing or input prerequisite for a tool whose inputs (place or coordinate triple plus date/time) are non-obvious, leaving the definition adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about the 8 parameters; it is purely a list of computed points. Schema coverage is 75%, near the threshold where the schema does the heavy lifting, so a baseline 3 is appropriate — the date/time/place vs latitude/longitude/timezone alternative is documented in the schema, not the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what is computed — Upagrahas (Dhuma group, Gulika/Mandi/Kala/Mrityu/Ardhaprahara/Yamaghantaka), Bhrigu Bindu, Yogi/Avayogi, Jagradadi avasthas, Pushkara, Gandanta, Vargottama, and nakshatra attributes — so the resource is unambiguous. However it never states a verb or draws a line against siblings that also cover nakshatra attributes (analyze_nakshatra_profile) or sensitive degrees/strength (calculate_strength_profile, analyze_varga).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the many overlapping analyzers in the sibling list, nor any prerequisite (e.g. that a birth date/time and place or explicit coordinates are required). The agent must infer usage from the output enumeration alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_spiritual_pathanalyze spiritual pathDRead-onlyIdempotentInspect
Evidence-linked analyze spiritual path without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds two useful behavioral notes – 'evidence-linked' and no deterministic outcome claims – but does not explain what evidence linkage means in practice or how outputs are constrained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is too short for a tool of this complexity; it under-specifies rather than being concise, and the qualifiers are not front-loaded with actionable scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter analytical tool with many siblings and low schema description coverage, the description is inadequate. Output schema existence relieves return-value explanation, but usage, scope, and parameter semantics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 10 parameters and only 30% schema description coverage, the description supplies no parameter meaning at all (date, time, place, topics, coordinates/timezone, asOfIso, etc.). It fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name and title reworded ('analyze spiritual path') with two qualifiers, so it is tautological rather than stating a specific analytical operation. It does not distinguish this tool from siblings like analyze_chart_topic or analyze_house.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, alternatives, or exclusions are given. The phrase 'without deterministic outcome claims' is a constraint, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_transit_activationAnalyze natal, Dasha and transit activation togetherARead-onlyIdempotentInspect
TIMING FOR A TOPIC. Combines the natal promise for one topic (career, marriage, wealth, education, children, property, spirituality) with the running dasha and slow transits between startIso and endIso. Use for 'when' questions about one area of life. For a plain list of current transits use analyze_transits.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | Yes | ||
| endIso | Yes | ||
| asOfIso | Yes | ||
| latitude | No | ||
| startIso | Yes | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety behavior is covered elsewhere. The description adds that it combines natal promise with running dasha and slow transits between startIso and endIso, which is useful computation context, but it does not disclose output format, performance, or other behavioral caveats beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose label ('TIMING FOR A TOPIC') followed by two tightly scoped sentences. Every sentence adds routing or scope information, with no redundant explanation of values already covered by the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values, and it successfully covers purpose, usage, and the key alternative sibling. Given the tool's complexity and 12 parameters, it could say more about parameter roles, but the core guidance needed to select and invoke the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description only mentions startIso and endIso as a range while repeating the topic enum values already present in the schema. It offers no clarification for other required or optional parameters such as asOfIso, date, time, place versus coordinates, or timezone handling, so it fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific function: combining natal promise for one topic with running dasha and slow transits over a time range. The scope is concrete and the sibling it is not (analyze_transits) is named, so an agent can distinguish it from related timing tools without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it for 'when' questions about one area of life and names analyze_transits as the alternative for a plain list of current transits. It does not address other similar siblings like find_marriage_windows or fuse_timing, so it stops short of full when-not coverage, but the primary routing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_transitsAnalyze current transits (Gochara) against the natal chartARead-onlyIdempotentInspect
CURRENT TRANSITS (GOCHARA). For each graha at asOfIso: house from the natal Moon and Lagna, classical favourability, Vedha obstruction, its own Ashtakavarga bindus, Kakshya lord, Murthy Nirnaya for slow planets, plus Sade Sati/Dhaiya and Jupiter–Saturn double-transit houses. Use for 'how are my transits now / this month'.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| asOfIso | No | ISO date-time to evaluate; defaults to now | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description usefully anchors the computation to asOfIso, clarifying that this is a snapshot evaluation rather than a forecasting timeline. It adds no notes on cost, limits, or how the birth-data inputs must be supplied relative to the as-of date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the tool name and core concept, then a single dense enumeration of outputs, then the usage cue. No filler sentences, though the undifferentiated jargon list is heavy to parse in one pass.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter analytical tool with an output schema present and annotations covering safety, the description is complete enough: it enumerates the computed factors (houses from Moon and Lagna, Vedha, Ashtakavarga bindus, Kakshya, Murthy Nirnaya, Sade Sati, double-transit houses) and names the triggering user question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 78%, so the schema carries most parameter meaning and a 3 is the baseline. The description only ties asOfIso to the output ('for each graha at asOfIso'); it does not explain the place-vs-explicit-coordinates branch, the timezone/timezoneOffset relationship, or the date/time birth inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (current Gochara transits against the natal chart) and enumerates exactly what each graha output includes. An agent knows precisely what the tool returns, but the description never distinguishes it from close siblings such as calculate_gochara, calculate_gochara_from_known_place, or analyze_transit_activation, all of which sit in the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use for 'how are my transits now / this month'" gives a clear intended scenario, but there are no exclusions and no routing advice despite heavy sibling overlap with calculate_gochara and analyze_transit_activation. Usage is implied rather than scoped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_vargaAnalyze one divisional chartARead-onlyIdempotentInspect
ONE DIVISIONAL CHART. Placements, lords and topic emphasis in a chosen varga (D1–D60, plus D5, D6, D8, D81, D108, D144). Use D9 for marriage/dharma, D10 career, D7 children, D4 property, D24 education, D60 fine detail (needs an accurate birth time).
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | No | ||
| varga | Yes | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower and the description clears it by adding real behavior: only one varga per call, and D60 demands an accurate birth time. The data-quality dependency caveat is genuinely useful context not available in structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the single-chart constraint and then the selection guidance. The parenthetical enumeration of varga codes partially restates the schema enum, which is slight redundancy, but the rest is waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations carry the safety profile. The description adequately covers scope, varga selection, and precision caveats for a 10-parameter tool; the main omission is any hint about the place-vs-coordinates input branch, which the schema does document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 60% schema coverage, the description compensates by mapping astrological topics to specific varga codes and flagging the birth-time precision requirement tied to D60. It adds real interpretive meaning beyond the enum list, though it says nothing about the topic, date/time, or coordinate alternatives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a precise scope statement ("ONE DIVISIONAL CHART") and names the concrete outputs: placements, lords, topic emphasis. It clearly delimits the tool to a single varga, which distinguishes it from broader synthesis tools, though it never names a sibling alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives actionable selection guidance for the core parameter (D9 marriage/dharma, D10 career, D7 children, D4 property, D24 education, D60 fine detail), which is exactly what an agent needs to pick a varga. It stops short of stating when to prefer this over siblings or 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.
analyze_yogasAnalyze classical Yogas: formation, strength, cancellation and timingARead-onlyIdempotentInspect
YOGAS. Evaluates about a hundred classical yogas — the 32 Nabhasa yogas, Pancha Mahapurusha, Chandra and Surya yogas, Raja and Dhana yogas, named Viparita and Parivartana types, Neecha Bhanga, Lakshmi/Saraswati/Parvata and traditional afflictions — with rule, evidence, cancellation tests, a participant-strength grade and the dasha periods that activate each formed yoga.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| asOfIso | No | ISO date-time for the dasha activation windows; defaults to now | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral content beyond that: the evaluation emits rule, evidence, cancellation tests, a participant-strength grade, and the dasha periods activating each yoga — i.e., it tells the agent what analysis is actually performed and surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single lead label ('YOGAS.') front-loads the topic and one dense sentence carries the whole scope, with no filler. The long enumerated list is justified because it defines the tool's coverage boundary, though it pushes toward the verbose end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, annotations cover the safety profile, and the description fully characterizes the analytical scope. What is missing is only routing guidance against the many overlapping analysis siblings, which keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 78%, so the schema already documents nearly all nine parameters (date, time, place, lat/long/timezone, asOfIso). The description contributes no parameter-level detail such as the coordinate-vs-place alternative or how asOfIso drives the dasha windows, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Evaluates') and resource ('about a hundred classical yogas') and then enumerates the exact families covered (Nabhasa, Pancha Mahapurusha, Chandra/Surya, Raja, Dhana, Viparita, Parivartana, Neecha Bhanga, Lakshmi/Saraswati/Parvata). This clearly separates it from siblings like calculate_doshas or analyze_house.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope implies when to reach for it (you want yoga formation/strength/timing analysis), but there is no explicit when-to-use or when-not-to-use guidance and no named alternative for overlapping tools such as calculate_doshas, calculate_strength_profile, or get_timing_context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_prediction_readinessAssess prediction and tradition readinessARead-onlyIdempotentInspect
Reports independent readiness gates for calculations, executable rules, worked examples, practitioner review and outcome calibration. It explicitly reports Lal Kitab as source-only until a dedicated reviewed engine exists.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| gates | Yes | |
| safety | Yes | |
| decision | Yes | |
| traditions | Yes | |
| overallStatus | Yes | |
| schemaVersion | Yes | |
| recommendedMcpBuildOrder | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description still adds real behavioral value beyond the annotations by disclosing that the gates are independent and, notably, that Lal Kitab is reported as source-only until a dedicated reviewed engine exists – a substantive caveat about the tool's output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler. The enumeration of the readiness domains is front-loaded, and the Lal Kitab caveat is appended as a distinct, clearly-scoped fact rather than buried in prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description is not obligated to explain return values, and with no parameters and full annotation coverage the remaining burden is light. It is nearly complete, but a brief note on when this readiness check should be run relative to the validation siblings would close the one real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. Nothing in the description is needed to clarify inputs, and it correctly does not waste space restating a nonexistent parameter set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (reports) and a specific resource (independent readiness gates) and enumerates the five domains assessed: calculations, executable rules, worked examples, practitioner review, and outcome calibration. This distinguishes it reasonably well from generic siblings like get_validation_report, though it never explicitly contrasts itself with get_synthesis_validation_status or knowledge_status, which an agent might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to call this tool versus the many similar-sounding readiness/validation siblings (get_synthesis_validation_status, get_validation_report, get_marriage_readiness, knowledge_status). No prerequisites or exclusions are stated; the agent must infer usage purely from the name and the list of gates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_chart_calculationAudit chart calculation provenance and sensitivityBRead-onlyIdempotentInspect
Checks engine certification, timezone provenance, conventions and important sign/Nakshatra/Pada boundary distances before interpretation. It does not claim an external ephemeris recomputation.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| engine | Yes | |
| notice | Yes | |
| decision | Yes | |
| convention | Yes | |
| validation | Yes | |
| boundaryAudit | Yes | |
| schemaVersion | Yes | |
| inputProvenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds a genuine scope boundary beyond the structured fields: it explicitly disclaims external ephemeris recomputation, telling the agent what the audit does NOT verify.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the scope statement front-loaded and the disclaimer second. Nothing is padded, though the dense enumeration is slightly hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 9-parameter audit tool with 33% schema coverage, the description leaves the input contract and the when-to-use-vs-siblings question substantially unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 9 parameters, so the description is expected to compensate, yet it mentions no parameter at all. The agent gets no help on the place-vs-coordinates anyOf, the timezone requirement, or birthTimeAccuracyMinutes, which is the parameter most relevant to a sensitivity audit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (checks) and enumerates the resources it audits: engine certification, timezone provenance, conventions, and boundary distances. This clearly reads as a calculation-provenance verifier. It does not, however, explicitly distinguish itself from near-neighbors like explain_chart_sources, get_validation_report, or compare_conventions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'...before interpretation' implies the usage context (run prior to reading a chart), which is a meaningful hint. But it names no alternatives, no prerequisites, and no conditions under which another audit/validation sibling should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_prediction_claimAudit one prediction claim before narrationBRead-onlyIdempotentInspect
Applies calculation, approved-rule, opposition, calibration and harm gates and returns publish, caution or claim-level abstain, plus narration instructions. Sensitive topics remain answerable with bounded reflections and practical suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| harmClass | No | ||
| claimClass | No | ||
| nearBoundary | No | ||
| approvedRules | No | ||
| opposingEvidence | No | ||
| supportingEvidence | No | ||
| calculationCertified | No | ||
| unresolvedSourceKeys | No | ||
| empiricallyCalibrated | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral value beyond that: the five gate families it applies, the three possible verdicts (publish, caution, claim-level abstain), and the policy that sensitive topics stay answerable with bounded reflections. That is meaningful disclosure for a decision tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and verdict set, then the sensitive-topic policy. No filler, though the dense gate jargon goes unexplained, which slightly undercuts readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out. But for a 10-parameter audit tool the description leaves the entire input contract — especially harmClass and the evidence arrays — to an undocumented schema, and gives no routing guidance among the several sibling audit tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters with 0% schema description coverage, so the description carries the full explanatory burden — yet it documents none of them. The gate names ('calculation', 'approved-rule', 'opposition', 'calibration', 'harm') loosely hint at calculationCertified, approvedRules, opposingEvidence, empiricallyCalibrated and harmClass, but nothing is explicit, and the enum for harmClass is never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (audit one prediction claim) and adds a sequencing cue (before narration) that separates it from generic audit siblings. It does not, however, name or differentiate itself from the closely related assess_prediction_readiness or audit_reading_evidence tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Before narration' implies the point in the workflow at which to call it, but there is no explicit when-to-use versus assess_prediction_readiness / audit_reading_evidence / audit_chart_calculation, and no stated prerequisites or exclusions. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_reading_evidenceAudit reading prose against calculated placements and safety rulesBRead-onlyIdempotentInspect
AUDIT A READING. Checks prose against the calculated placements and safety rules and lists contradictions.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| text | Yes | ||
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the tool 'lists contradictions,' hinting at output behavior, but says nothing about what a contradiction is, how placements are sourced, or any limits beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and no filler. Efficient, though arguably over-sparse for a 9-parameter tool with a domain-specific 'safety rules' concept.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format needn't be described. However, for a tool demanding full birth data plus up to 30k characters of prose, the description omits key context: what safety rules are, how placements are computed, and what 'audit' produces conceptually.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (latitude/longitude/text lack descriptions), which is below the 80% threshold, so the description should compensate but does not. It never explains that the 9 inputs form a birth-data block (date/time/place or coordinates) whose chart the prose is audited against, leaving the coordinate-vs-place choice to the schema's anyOf.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('checks/audits') against a defined resource ('prose'/'reading') and names the two comparison bases: calculated placements and safety rules. This distinguishes it reasonably from siblings like audit_chart_calculation or audit_prediction_claim, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use context, no prerequisites, and no routing to related tools such as audit_prediction_claim, get_validation_report, or validate_rule_spec. The agent must infer when auditing prose is the right call versus any of the ~80 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_claim_evidence_ledgerbuild claim evidence ledgerDRead-onlyIdempotentInspect
Evidence-linked build claim evidence ledger without deterministic outcome claims.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topics | No | ||
| asOfIso | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The phrase 'without deterministic outcome claims' is the one behavioral signal the description contributes, but it is too vague to tell the agent what the output guarantees or refuses to do. No mention of latency, dependencies, required evidence inputs, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but brevity here reflects under-specification rather than conciseness: it is a fragment that repeats the tool name and carries no actionable content. Nothing is front-loaded because there is nothing substantive to front-load. This mirrors the calibration case where a one-word 'Process' description scored low on this dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with a branch-conditional input schema and an output schema, a single fragment sentence is wholly inadequate. Even granting that the output schema can explain return values, the agent still has no idea what evidence sources are consulted, what the ledger aligns, or how this differs from the many audit/journal siblings. Nothing an agent needs in order to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, and the description provides no parameter information whatsoever — no mention of date, time, place, coordinates, timezone, topics, or the anyOf branch requiring either 'place' or latitude/longitude/timezone. With low coverage, the description was obligated to compensate and does not. The one input constraint the description could clarify, the exclusive place-vs-coordinates requirement, is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the name and title: 'Evidence-linked build claim evidence ledger' adds no verb or resource framing beyond what the tool name already says. The only extra semantic content is a negative qualifier ('without deterministic outcome claims'), which describes an epistemic stance rather than what the tool produces. It does not distinguish this tool from auditing siblings such as audit_reading_evidence or audit_prediction_claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer. With roughly a dozen adjacent evidence/claim/journal tools (audit_prediction_claim, audit_reading_evidence, build_prediction_journal), the absence of any routing guidance leaves the agent to guess. The description is silent rather than misleading, so it lands at the low end of the scale rather than 1.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_prediction_journalFreeze a falsifiable prediction-journal claimBRead-onlyIdempotentInspect
Builds one reviewable claim from a topic judgment: active dasha window, observable outcome, falsifier, and review date. Resolve it later with record_consultation_outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | ||
| topic | Yes | ||
| asOfDate | No | ||
| latitude | No | ||
| nodeMode | No | ||
| timezone | No | ||
| longitude | No | ||
| timezoneOffset | No | ||
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds useful artifact context — the claim must be falsifiable and carries a review date. It does not clarify the key ambiguity of whether the claim is persisted ('freeze'/'journal' vs readOnlyHint=true) or what happens on repeat calls, leaving a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action and output components, with the follow-up routing last. No filler, though the density means parameter details get squeezed out.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but for a 12-parameter tool with zero schema descriptions the description is far too thin — an agent cannot infer what most inputs mean or whether the call persists state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters, so the description must carry the semantic load and largely does not. 'Topic judgment' loosely gestures at the topic enum and 'review date' at a date field, but date, time, place, latitude, longitude, timezone, asOfDate, nodeMode, and birthTimeAccuracyMinutes are entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (builds) and resource (one reviewable claim from a topic judgment) and enumerates the artifact's parts: active dasha window, observable outcome, falsifier, review date. It distinguishes itself somewhat by naming record_consultation_outcome as the resolution counterpart, but does not separate itself from close siblings like audit_prediction_claim or build_claim_evidence_ledger.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It points to the downstream step ('Resolve it later with record_consultation_outcome'), which is a genuine lifecycle hint. However, it gives no guidance on when to choose this over the many adjacent claim/audit tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_remedy_repertoireFull classical remedy repertoire for a chartARead-onlyIdempotentInspect
Full remedy repertoire. Works out each graha's functional nature and afflictions, then returns beej and Vedic mantras, stotra, gemstone (for grahas to strengthen), named daana, vrata, rudraksha, yantra, conduct, the Lal Kitab remedies for its fixed house, dosha remedies and Dasha-based timing. Every family is on by default; pass false to leave one out. No topic required.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| options | No | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered; the description adds genuinely new behavioral context by describing the computation pipeline and the default-on/exclude-with-false semantics of the remedy families. It does not discuss cost, rate limits, or output size, but the defaults behavior is the key trait an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The long opening sentence is dense but front-loaded with the output inventory, followed by two short sentences that carry the default/exclusion rule and the 'no topic required' cue. No sentence is filler, though the family list is heavy enough to slow scanning slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers what the tool produces and how to scope it. But for an 11-parameter tool with nested options and a place-versus-coordinates alternative, the description leaves the birth-data inputs entirely to the schema at 27% description coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% across 11 params (including a nested options object), so the description carries some compensating burden. It does explain the options booleans collectively ('every family is on by default; pass false to leave one out'), but says nothing about date/time formats, the place-vs-coordinates alternative, language, or birthTimeAccuracyMinutes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (works out each graha's functional nature and afflictions) and enumerates the concrete deliverables (beej/Vedic mantras, stotra, gemstone, daana, vrata, rudraksha, yantra, conduct, Lal Kitab remedies, dosha remedies, dasha timing), which separates it from narrow siblings like analyze_remedies or analyze_lal_kitab_remedies. It never names those siblings explicitly, so the differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'No topic required' implies a contrast with topic-driven tools, and 'Every family is on by default; pass false to leave one out' gives operational guidance for scoping the output. However, there is no explicit when-to-use-this-vs analyze_remedies / analyze_lal_kitab_remedies / suggest_safe_practice statement, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_slow_transit_calendarBuild exact slow-transit periodsBRead-onlyIdempotentInspect
Returns exact Saturn, Jupiter, Rahu and Ketu sidereal sign periods, Saturn Sade Sati/Dhaiya structural ranges, and Vimshottari intersections over a selected future interval.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | Yes | ||
| years | No | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| startDate | Yes | ISO date or instant | |
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| periods | Yes | |
| dashaIntersections | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description usefully discloses the computational scope: carefully bounded slow-transit periods over a future interval plus Vimshottari intersections. It adds no auth, performance, or output-format context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence led by the verb 'Returns' with no filler. It is dense with domain jargon but every clause names a distinct output, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be explained, and the description enumerates the main outputs. However, for an 11-parameter tool it omits why both a natal birth moment and a future interval are required, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 9% across 11 parameters, so the description must compensate but largely does not. Only 'selected future interval' loosely maps to startDate/years; the seven required natal inputs (date, time, place, latitude, longitude, timezoneOffset) and their relationship to the interval are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output: Saturn/Jupiter/Rahu/Ketu sidereal sign periods, Sade Sati/Dhaiya ranges, and Vimshottari intersections. An agent can tell what it computes, but nothing distinguishes it from close siblings like calculate_ingress_timeline, calculate_gochara, or fuse_timing, which likely produce overlapping transit data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative guidance is given. With many transit/timing siblings (calculate_gochara, analyze_transit_activation, get_timing_context, query_vimshottari_date), the agent has no basis from the description to choose this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ashtakavargaCalculate Bhinnashtakavarga and SarvashtakavargaARead-onlyIdempotentInspect
ASHTAKAVARGA. Bhinnashtakavarga for the seven planets, Sarvashtakavarga, Trikona/Ekadhipatya reductions and Pinda. Use for sign strength and transit support.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, idempotent, non-destructive, closed-world calculation, so the safety profile is fully covered. The description adds the computational outputs (reductions, Pinda) but says nothing about input prerequisites or how results are scoped; with annotations doing the safety work, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the technique name front-loaded and no filler. It is efficient, though the lead token 'ASHTAKAVARGA.' is a bare label rather than a load-bearing clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and a 75%-documented input schema, most detail is carried structurally; the description supplies the computational scope, which is the main missing context. The one gap is not noting the birth-data/coordinates requirement, but that is captured by the schema's required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so parameter documentation largely lives in the schema, and the description contributes no parameter-level detail (e.g. date range limits or the place-vs-coordinates alternative). Baseline 3 is correct when the schema does the heavy lifting and the description adds nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific techniques computed (Bhinnashtakavarga for seven planets, Sarvashtakavarga, Trikona/Ekadhipatya reductions, Pinda), so the agent knows exactly what the tool produces. Compared to siblings like calculate_strength_profile or calculate_gochara, however, it doesn't explicitly say why this differs from those general strength/transit tools, leaving overlap unresolved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use for sign strength and transit support' gives an implied context for invocation, but no alternatives are named and no when-not conditions are stated. An agent cannot tell from this alone when to prefer it over calculate_strength_profile or analyze_transits beyond a vague thematic hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ayanamsa_chartCalculate a selectable ayanamsa projectionBRead-onlyIdempotentInspect
Projects placements and sign-based Graha Drishti under Lahiri, Krishnamurti, Raman, or Fagan/Bradley, reports boundary changes, and preserves per-convention validation status. Non-Lahiri full derived systems are not silently recomputed.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| ayanamsa | Yes | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | Yes | |
| safety | Yes | |
| aspects | Yes | |
| selected | Yes | |
| placements | Yes | |
| schemaVersion | Yes | |
| boundaryChangesFromLahiri | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuine behavioral context: reporting boundary changes, preserving per-convention validation status, and explicitly stating that non-Lahiri full derived systems are not silently recomputed. That last clause is a real behavioral guarantee an agent cannot get from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler, front-loaded on the verb and the selectable conventions. The final sentence about non-recomputation is slightly cryptic in isolation but carries real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the boundary-change/validation notes add useful context. However, with 11 parameters at 27% coverage and a required anyOf branch, the description omits how the coordinate vs. place inputs interact and leaves much of the input contract unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% across 11 parameters, so the description carries a heavy burden it does not meet. It names the four ayanamsa enum values, but those are already in the schema enum, and it says nothing about the place-vs-coordinates anyOf, date/time formats, or the several undocumented numeric parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Projects placements and sign-based Graha Drishti') and scopes it to four named ayanamsa conventions, which is distinctly more specific than most calculate_* siblings. It does not, however, name or contrast with the closest siblings such as calculate_chart_from_known_place or compare_conventions, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no named alternative, and no guidance on when a different projection tool is preferable. The only hint of usage is the choice among ayanamsa conventions implied by the enumeration, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_chart_from_known_placeCalculate a chart from a place or coordinatesARead-onlyIdempotentInspect
SHOW THE BIRTH CHART. Use when the person wants to see their chart, planet positions, Navamsa or running dasha. Returns a compact readable summary (Lagna, planet table, current Vimshottari, birth Panchanga, Navamsa) and, in hosts that support MCP Apps, an interactive South Indian Rasi/Navamsa chart with a dasha timeline. For interpretation of a question use consult_jyotishya instead. Calculates a complete South Indian chart from a known catalogue place or explicit latitude, longitude, and IANA timezone supplied by the MCP host. Bare place names auto-resolve to the curated best-effort match with alternatives noted. This deterministic tool never invokes another AI model.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | Yes | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| timezoneOffset | No | ||
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description correctly spends its budget elsewhere: determinism ('never invokes another AI model'), bare-place-name auto-resolution to a curated best-effort match with alternatives noted, and host-dependent interactive rendering. These are real behavioral traits not derivable from annotations, though rate limits or failure modes are unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the imperative purpose, then usage, then return shape, then routing exclusion, then caveats. Dense and mostly waste-free, though the return-value sentence partially duplicates what the output schema already covers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter calculation tool with an output schema and full annotation coverage, the description supplies the key missing behavioral context (determinism, place resolution, host rendering). The gap is parameter semantics: an agent still cannot infer what focus, language, timezoneOffset, or birthTimeAccuracyMinutes do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description carries the full burden and largely fails. It clarifies only the geo inputs (explicit latitude, longitude, IANA timezone) and place auto-resolution; date/time formats, name, focus, language, timezoneOffset, and birthTimeAccuracyMinutes are left entirely to bare type/pattern constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource ('SHOW THE BIRTH CHART') and enumerates the outputs (Lagna, planet table, Vimshottari, Panchanga, Navamsa), which is specific and agent-actionable. It differentiates from consult_jyotishya but says nothing about how it differs from close siblings like calculate_south_indian_chart or render_chart, which appear to produce overlapping artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('use when the person wants to see their chart...') and an explicit exclusion with a named alternative ('For interpretation of a question use consult_jyotishya instead'). It does not address when to prefer it over the other chart-producing siblings, so routing is clear only on one axis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_compatibilityCalculate Ashtakoota, Porutham and Kuja compatibilityBRead-onlyIdempotentInspect
Resolves both birth places, calculates both charts, and returns separate auditable North Indian 36-point Ashtakoota and South Indian ten-Porutham breakdowns plus Mangal/Kuja Dosha evidence. Traditional research preview; never a relationship verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| bride | Yes | ||
| groom | Yes | ||
| language | No | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| porutham | Yes | |
| subjects | Yes | |
| kujaDosha | Yes | |
| ashtakoota | Yes | |
| schemaVersion | Yes | |
| sourceCoverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine context beyond that: it resolves both birth places itself, calculates both charts, returns 'auditable' breakdowns, and explicitly disclaims that results are not a relationship verdict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense but purposeful sentences, front-loaded with the action and followed by the scope caveat. No filler, though the second clause packs several concepts that could be split for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and annotations carry the safety profile. What remains missing is disambiguation from the marriage-compatibility sibling and any hint about the required inputs, which matters for a nested two-person tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported at 0% and the description says nothing about the bride/groom objects, their required date/time, the place-vs-coordinates either/or, or the language parameter. With nested objects and low coverage, the description must compensate for the schema gap and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (calculates/resolves) and a well-defined resource set: 36-point Ashtakoota, ten-Porutham, and Mangal/Kuja Dosha evidence. The procedure is concrete, but it never distinguishes itself from the close sibling calculate_relationship_compatibility, leaving the agent to guess which marriage-compatibility tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Traditional research preview; never a relationship verdict' frames intent and sets an interpretive boundary, which is useful usage context. However, it gives no when-to-use condition versus the overlapping calculate_relationship_compatibility or calculate_doshas siblings, so routing is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_dasha_systemCalculate a declared Dasha systemCRead-onlyIdempotentInspect
A DASHA SYSTEM. Vimshottari (5 levels at asOfIso), Yogini, Ashtottari, Kalachakra, Narayana or Chara, with the period running at asOfIso and a timeline focused around it (detail: full returns every level).
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| detail | No | focused (default) keeps sub-periods only around asOfIso | |
| system | Yes | ||
| asOfIso | Yes | ISO date-time whose running period is reported | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context about output shape ('period running at asOfIso', 'detail: full returns every level'), but does not explain anything further such as computation scope or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the leading fragment 'A DASHA SYSTEM.' is not a coherent sentence and does not earn its place, leaving the reader without a clear front-loaded statement of what the tool does. The remainder is densely parenthetical rather than well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for an 11-parameter tool with a non-trivial anyOf location requirement, the description omits how location inputs work and does not clearly delimit its scope against the many calculation siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 73%, so the schema documents most parameters and the baseline is 3. The description does add meaning beyond the schema for two parameters (the '5 levels' for Vimshottari at asOfIso and the focused/full behavior of detail), but leaves the anyOf location requirement (place vs latitude/longitude/timezone) unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the fragment 'A DASHA SYSTEM.' rather than a clear verb+resource, so the actual action (calculating a dasha timeline) is only inferable from the title. It lists the supported systems, which helps, but it never states what the tool produces and gives no differentiation from siblings like query_vimshottari_date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool versus alternatives such as query_vimshottari_date, calculate_jaimini, or calculate_kp. No prerequisites, no when-not conditions, and no mention of the required birth data or location inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_devata_profileCalculate Iṣṭa and guiding Devatā candidatesBRead-onlyIdempotentInspect
Calculates Iṣṭa, Dharma, Pālana, Guru and Kula Devatā anchors from an explicit lineage preset: occupants, Rashi Drishti, then sign lord with visible tie-breaks. Unsupported lineages are withheld rather than silently mixed. It never prescribes initiation-only mantra or claims one uniquely correct deity.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| lineage | No | rath-eight-karaka-reversed-rahu | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuine behavioral context beyond that: failure handling ('unsupported lineages are withheld'), deterministic tie-breaks ('visible tie-breaks'), and scope limits ('never prescribes initiation-only mantra or claims one uniquely correct deity'). Return format is not described, but an output schema exists, so that is not a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the calculation and method, followed by guarantees. Dense but every clause carries information; the jargon (Rashi Drishti, occupants) is inherent to the domain rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 10-parameter calculation tool, the description adequately covers purpose, failure behavior, and scope guarantees, and an output schema means return values need not be explained. However, it leaves usage routing and most parameter semantics unaddressed, so it is minimum-viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters. The description's 'explicit lineage preset' touches the lineage enum, but date, time, name, latitude, longitude, timezoneOffset, and birthTimeAccuracyMinutes carry no meaning in the description. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculates') with a precise, distinctive resource set ('Iṣṭa, Dharma, Pālana, Guru and Kula Devatā anchors'), which separates it from generic siblings like analyze_spiritual_path or calculate_jaimini. It also names its method ('occupants, Rashi Drishti, then sign lord'). It stops short of explicitly naming a sibling it displaces, 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.
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 guidance. The statement 'Unsupported lineages are withheld rather than silently mixed' is a behavioral constraint, not routing advice. An agent gets no signal about when this beats analyze_spiritual_path or analyze_nakshatra_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_doshasCalculate evidence-first Dosha patternsBRead-onlyIdempotentInspect
Calculates Mangal/Kuja, Kaal Sarpa enclosure, Kemadruma, and conservative Pitru-related structural candidates with raw/effective severity and explicit cancellation or mitigation evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| subject | Yes | |
| summary | Yes | |
| patterns | Yes | |
| rulebook | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds that results are evidence-first with raw/effective severity and explicit cancellation/mitigation evidence, which is useful context but describes output content more than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence dense with specific terminology and no filler. Efficient, though the heavy noun stacking borders on jargon that an unfamiliar agent may need to parse carefully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, with 10 parameters at 30% schema coverage and no usage guidance, the definition leaves the agent under-equipped on how to call it and when it applies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, and the description mentions none of them. It does not explain the date/time vs place vs coordinates anyOf requirement, the IANA timezone requirement, or how birthTimeAccuracyMinutes affects results, leaving a significant documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific calculations (Mangal/Kuja, Kaal Sarpa, Kemadruma, Pitru-related structural candidates) with a clear verb, which distinguishes it from siblings like analyze_yogas or analyze_badhaka that handle other chart patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to select this tool versus alternatives such as analyze_yogas, analyze_badhaka, or calculate_strength_profile. Nothing tells the agent which chart questions this answers or any prerequisite (e.g., a chart must already be computed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_gocharaCalculate sidereal gocharaCRead-onlyIdempotentInspect
Calculates deterministic transit placements for an explicit instant and maps them to whole-sign houses from a supplied natal Lagna.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| natalLagnaSign | Yes | ||
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| engine | Yes | |
| placements | Yes | |
| natalLagnaSign | Yes | |
| instantJulianDay | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuine methodological context beyond that: 'deterministic' and the whole-sign house mapping rule. It still says nothing about input precision requirements or how the transit is scoped, so it is modest rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the scope qualifier ('explicit instant') and mapping rule are packed in efficiently. It is appropriately sized, though it is so terse that it leaves no room for the usage guidance the tool needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but for a 9-parameter tool with 0% schema coverage and a confusingly similar sibling, the description is too thin. It gives no parameter semantics, no invocation example, and no disambiguation from calculate_gochara_from_known_place.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description carries the full burden of explaining them. It gestures at the instant (date/time), place and natal Lagna but omits latitude/longitude/timezoneOffset ranges, the language enum, and the 0-11 sign indexing, leaving most parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (calculates transit placements) with two qualifiers: an explicit instant and whole-sign houses from a supplied natal Lagna. An agent can tell this is a gochara/transit calculation. However, it never distinguishes itself from the near-identical sibling calculate_gochara_from_known_place, which is a real ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternatives are named. The phrase 'explicit instant' and 'supplied natal Lagna' hints at the contrast with calculate_gochara_from_known_place, but the agent must infer that distinction itself rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_gochara_from_known_placeCalculate gochara from a verified placeBRead-onlyIdempotentInspect
Resolves a verified catalogue place and its IANA timezone before calculating sidereal transits, avoiding manual coordinate and offset entry.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| natalLagnaSign | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| engine | Yes | |
| placements | Yes | |
| resolvedPlace | Yes | |
| natalLagnaSign | Yes | |
| instantJulianDay | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the useful pipeline detail that place and IANA timezone are resolved internally before transits are computed, but says nothing about auth, rate limits, or what happens if the place is not found in the catalogue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words; the key scoping constraint (verified place, avoiding manual entry) leads the sentence. Efficient, though very terse for a 5-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations carry the safety profile. The gap is the undocumented parameters, particularly the required natalLagnaSign, which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters. The description only loosely gestures at 'place' and the timezone handling, leaving date, time, language, and especially the required natalLagnaSign (a 0-11 ascendant index) entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it resolves a catalogue place and its IANA timezone, then calculates sidereal transits (gochara). The 'from a verified place' scoping distinguishes it from the sibling calculate_gochara, though it does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'avoiding manual coordinate and offset entry' implies this is the choice when you have a place name rather than raw coordinates, giving implied usage context. However, it never explicitly names an alternative tool or states a when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ingress_timelineCalculate sidereal ingress timelineBRead-onlyIdempotentInspect
Finds sign-boundary crossings for Sun through Saturn and the lunar nodes over an explicit future interval.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| days | No | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| precision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds useful scope context (which grahas are included, future-only interval), but says nothing about how crossings are reported or ordering of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler, and the scoping detail (bodies plus interval) is front-loaded. Nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 9-parameter tool with six required fields and zero schema documentation, the description omits any parameter guidance or usage routing. The result is too thin to call the tool confidently without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, and the description compensates for none of them: date, days, place, latitude, longitude, timezoneOffset, timezone and language are all left unexplained. 'Explicit future interval' only loosely gestures at date/days and adds no format, bounds, or coordinate-system detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (finds sign-boundary crossings), names the exact bodies covered (Sun through Saturn and the lunar nodes), and the temporal scope (explicit future interval). It does not, however, distinguish itself from close siblings such as build_slow_transit_calendar or calculate_gochara, which also deal with planetary movement over time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no naming of alternatives. The phrase 'explicit future interval' implies a forward-looking constraint but never states that past dates are rejected or when another transit tool would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_jaiminiCalculate Jaimini structural chartBRead-onlyIdempotentInspect
Returns seven- and eight-Chara-Karaka conventions, all Arudha Padas including Arudha Lagna and Upapada, Karakamsha, and Jaimini Rashi Drishti matrices without silently mixing conventions.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| status | Yes | |
| charaDasha | Yes | |
| karakamsha | Yes | |
| arudhaPadas | Yes | |
| charaKarakas | Yes | |
| rashiDrishti | Yes | |
| devataProfile | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds one genuinely useful behavioral note — that conventions are not silently mixed — but says nothing about input requirements or error handling beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, appropriately front-loaded with the key outputs. It is list-heavy but every clause names a distinct deliverable, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so describing return contents is partly redundant, and the description leans on that rather than on usage or parameter guidance. For a 10-parameter, low-coverage tool it should say more about inputs and when to prefer it over overlapping siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, so the description carries the burden but adds nothing about parameters. It does not explain the place-vs-coordinates branch, the timezone requirement, or birthTimeAccuracyMinutes, leaving the agent to rely on sparse schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific Jaimini resources (Chara Karakas, Arudha Padas, Karakamsha, Rashi Drishti matrices), so the agent knows what the tool produces. However, it does not distinguish itself from the overlapping sibling analyze_arudha_and_upapada, which also covers Arudha Padas, so differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given siblings like analyze_arudha_and_upapada and compare_conventions that overlap with this tool's outputs, the absence of routing 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.
calculate_kpCalculate KP structural previewBRead-onlyIdempotentInspect
Returns deterministic Nakshatra star, sub, and sub-sub lords, ruling planets, and transparent significator evidence. Explicitly reports KP ayanamsa and Placidus cusps as unavailable until independently validated.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cusps | Yes | |
| safety | Yes | |
| status | Yes | |
| zodiac | Yes | |
| planets | Yes | |
| rulingPlanets | Yes | |
| schemaVersion | Yes | |
| significators | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description adds real value beyond that: it promises deterministic output and proactively declares that KP ayanamsa and Placidus cusps are reported as unavailable pending independent validation, which shapes how an agent should 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, and the primary return content is front-loaded ahead of the caveat about unavailable data. Nothing redundant is repeated from the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with two mutually exclusive input modes and a low schema coverage rate, the description omits the invocation guidance an agent most needs. An output schema exists so return values need not be explained, but the dual input paths and the absence of sibling differentiation leave significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, so the description carries a heavy burden and delivers nothing: no mention of date/time format, the place-vs-coordinates alternative, the IANA timezone requirement, or the timezoneOffset fallback. The critical anyOf branching (place alone, or latitude+longitude+timezone) is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-plus-resource: it returns Nakshatra star/sub/sub-sub lords, ruling planets, and significator evidence, framed as a 'KP structural preview'. An agent can tell this is KP-specific output. However, it never contrasts itself with adjacent siblings like analyze_nakshatra_profile or calculate_ayanamsa_chart, which cover overlapping territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the description of KP output; there is no explicit statement of when to prefer this over the many sibling chart tools. The one exclusion offered – ayanamsa and Placidus cusps unavailable until validated – does hint that agents needing those should look elsewhere, but no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_prashnaAsk a Prashna questionAInspect
Casts a server-time horary chart, checks chart fitness, and returns an auditable structural judgment plus outcome-confirmation hook. For 'when will I be promoted' or 'when will I get a job' (category career), pass seedNumber (the person's own pick from 1 to 249) to get KP Reader VI dated windows in timingWindows; without it, or when the chart is unfit or the promotion or job is not promised, judgmentDimensions.timing explains why no date is given. Job-change questions are not timed. Never supply dates that timingWindows does not contain.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| category | Yes | ||
| language | No | en | |
| latitude | No | ||
| question | Yes | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| tradition | No | integrated compares traditions; prashna-nadi is KP/Nadi and requires seedNumber | integrated |
| seedNumber | No | KP horary number chosen by the person asking; enables KP/Nadi results and Reader VI promotion and job timing | |
| referenceHouse | No | House of the person the question concerns (1 = the querent, 7 = spouse or other party, 10 = employer) | |
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false) but do not explain what the tool computes or returns. The description adds real behavioral context: server-time chart casting, a fitness check preceding judgment, a named output structure (timingWindows, judgmentDimensions.timing), the condition under which no date appears, and an anti-hallucination guardrail ('Never supply dates that timingWindows does not contain'). It does not explain the outcome-confirmation hook's mechanism or any persistence, but it goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense, front-loaded paragraph that leads with the action and then layers the seedNumber/timing conditional and the guardrail. Nearly every clause earns its place, though the middle conditional sentence is convoluted enough to require a second read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be enumerated, yet the description usefully names the two fields an agent will consult and explains their conditional emptiness. For an 11-parameter, non-read-only tool this is nearly complete; the main omissions are how the location inputs interact with 'server-time' casting and what the outcome-confirmation hook concretely does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 55% schema coverage across 11 parameters, the description must carry real weight, and it does for the most consequential ones: seedNumber is framed as the querent's own pick from 1 to 249 that unlocks KP Reader VI dated windows, and its absence is tied to a specific output field's explanation. It also anchors the career category. However, location inputs (place/latitude/longitude/timezone) and tradition/referenceHouse receive no descriptive treatment, leaving a gap the schema only partly fills.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource chain: 'casts a server-time horary chart, checks chart fitness, and returns an auditable structural judgment plus outcome-confirmation hook.' This is distinctly a horary/Prashna question tool, separating it from the many analyze_* natal-chart siblings. An agent can identify the operation and its scope 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete conditions of use: for 'when will I be promoted / get a job' under category career, pass seedNumber to obtain dated windows; without it, or when the chart is unfit or timing is not promised, no date is returned. It also excludes a case ('Job-change questions are not timed'). It stops short of naming sibling alternatives such as calculate_kp or record_prashna_outcome, so routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_relationship_compatibilityRelationship compatibility (business, friends, siblings, and more)ARead-onlyIdempotentInspect
Gender-neutral Nakshatra compatibility between any two people for a chosen bond — business partner, friend, sibling, colleague, mentor/student, roommate or general. Resolves both places, calculates both charts, and returns per-factor Tara, Graha Maitri, Gana, Yoni, Bhakoot and Moon-element evidence weighted for that relationship, plus a 0-100 harmony index. Traditional research preview; never a verdict on any relationship.
| Name | Required | Description | Default |
|---|---|---|---|
| personA | Yes | ||
| personB | Yes | ||
| language | No | en | |
| relationship | Yes | general |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| factors | Yes | |
| harmony | Yes | |
| subjects | Yes | |
| relationship | Yes | |
| schemaVersion | Yes | |
| sourceCoverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds genuine behavioral context: it resolves both places, computes both charts, and returns weighted per-factor evidence and a 0-100 index, plus an epistemic disclaimer. Good value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then mechanism/output, then caveat. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description usefully summarizes them. For a nested-object tool the description is largely complete, falling short only on inner person parameters that the schema itself leaves undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are nested person objects at 4 params. The description lists the relationship options (matching the enum) and notes both places are resolved, adding some meaning, but it says nothing about the personA/personB structure, timezone/timezoneOffset, or language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (calculate Nakshatra compatibility between two people) plus the scope (non-romantic bonds: business partner, friend, sibling, colleague, mentor/student, roommate, general). This enumeration implicitly separates it from the sibling calculate_compatibility (romantic/marriage) without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The enumerated bond types give clear context for when to invoke it, and the closing caveat frames it as a research preview. However, it never names an alternative (e.g. calculate_compatibility) or states when NOT to use it, so routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_south_indian_chartCalculate South Indian Jyotish chartARead-onlyIdempotentInspect
EXPERT FULL-MATRIX TOOL — prefer consult_jyotishya or get_compact_chart_evidence for normal questions. Deterministically calculates sidereal placements, all 16 Parashari vargas, Panchanga, Vimshottari timing, layered evidence and uncertainty from explicit birth data. Placement sign is a zero-based 0-11 index and signName is the display-safe name.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | Optional IANA timezone, for example Asia/Kolkata. When supplied, historical rules override timezoneOffset. | |
| longitude | Yes | ||
| methodology | No | parashari | |
| timezoneOffset | Yes | ||
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | |
| engine | Yes | |
| advanced | Yes | |
| panchanga | Yes | |
| placements | Yes | |
| vimshottari | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description adds real value beyond them: it asserts deterministic (non-heuristic) calculation and documents an output convention — zero-based 0-11 sign index with a display-safe signName — which is not derivable from the annotations. It does not discuss compute cost, latency, or the timezone/timezoneOffset precedence, which is why it falls short of 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The routing caveat is front-loaded in the first clause before the capability list, which is the right ordering for an expensive expert tool that should not be the default choice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is correctly omitted. However, for a 12-parameter, 6-required tool with 8% schema coverage and a three-way methodology enum, the description leaves too much to the schema — notably how to choose methodology and how timezone overrides timezoneOffset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 8% across 12 parameters, so the description must compensate for undocumented inputs, and it largely does not. It never explains focus, methodology, language, birthTimeAccuracyMinutes, or how timezone interacts with the required timezoneOffset — the one output-format note it gives concerns results, not inputs. The two sibling names give no parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (deterministically calculates) and enumerates the concrete outputs: sidereal placements, 16 Parashari vargas, Panchanga, Vimshottari timing, evidence and uncertainty. It also positions itself against two named siblings, so an agent can separate it from the large family of analyze_*/calculate_* 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit routing rule: prefer consult_jyotishya or get_compact_chart_evidence for normal questions, implying this is the heavyweight full-matrix path. Both the when-not condition and the named alternatives are present, which is exactly what an agent needs to avoid over-calling an expensive tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_strength_profileCalculate a separated planetary strength profileARead-onlyIdempotentInspect
PLANET STRENGTHS. Full Shadbala (all six balas with components, required-strength ratio), Vimshopaka in four varga sets, Ishta/Kashta Phala, avasthas and planetary friendships. Use when asked which planets are strong or weak, or to qualify a yoga.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Birth date YYYY-MM-DD (1800–2050) | |
| name | No | Person's name or a label | |
| time | Yes | Local birth time HH:MM (24-hour); 6:30 PM is also accepted | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered. The description adds the substantive scope of the computation but says nothing about cost, determinism dependence on birth-time accuracy, or rate behavior beyond what annotations supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the front-loaded content inventory, then the usage trigger. Dense but every clause names a distinct computed quantity. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described; annotations cover the safety profile. Given that, the description's enumeration of computed components plus the usage trigger is essentially complete for an agent to select and call it, with only parameter-level detail left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% and covers input format (date pattern, HH:MM, timezone IANA, offset fallback) plus the place/coordinate anyOf. The description adds no parameter guidance at all, so it neither compensates for the remaining gap nor expands on semantics. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computed resource and enumerates its constituents (Shadbala with all six balas and required-strength ratio, Vimshopaka in four varga sets, Ishta/Kashta Phala, avasthas, friendships). This is far more specific than the title and clearly distinguishes it from the many analyze_* and calculate_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to invoke it: 'Use when asked which planets are strong or weak, or to qualify a yoga.' That is a concrete trigger. It stops short of naming alternatives or exclusions (e.g. vs calculate_ashtakavarga or analyze_varga), so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_varshaphalCalculate Varshaphal annual chartBRead-onlyIdempotentInspect
Casts the sidereal (Lahiri) solar-return chart for a target year and returns Tajaka Varshaphal: Muntha, the five office-bearers with Panchavargiya and Harsha Bala, the year lord, the sixteen Tajaka yogas, cited Sahams (Punya first), and Mudda and Patyamsa dashas.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| targetYear | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| muntha | Yes | |
| safety | Yes | |
| status | Yes | |
| tajika | Yes | |
| sources | No | |
| subject | Yes | |
| annualChart | Yes | |
| conventions | No | |
| solarReturn | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description does add one genuinely useful convention — the Lahiri sidereal ayanamsa — but the rest is an enumeration of return contents that the output schema already carries, and it says nothing about computation caveats or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that opens with the verb and keeps no filler. The trailing list of output artifacts is dense and partially redundant with the output schema, which slightly dilutes it, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema lets the description skip explaining return values, and annotations carry the safety profile, but for an 11-parameter tool with 27% schema coverage the description leaves the input contract underexplained. Nothing tells the agent about the place-or-coordinates requirement or the timezone dependency, which are the hardest parts of calling this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 11 parameters and only 27% schema description coverage, the description must compensate, and it does not. It never touches date, time, targetYear, the place/latitude/longitude/timezone alternative, language, or birthTimeAccuracyMinutes; only 'for a target year' faintly gestures at targetYear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Casts the sidereal (Lahiri) solar-return chart for a target year') and then enumerates the exact Tajaka Varshaphal deliverables. An agent can distinguish this from siblings like calculate_dasha_system or calculate_gochara without opening any schema, since 'annual solar-return chart' is a distinct chart type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The description never mentions the place-vs-coordinates branching in the schema, nor prerequisites like birth date/time accuracy, so the agent must infer everything from structured fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_conventionsCompare chart conventions without silent mixingARead-onlyIdempotentInspect
Compares Lahiri with selected alternative ayanamsa projections for one topic, identifies changed Lagna, topic lord, karaka, sign, house and Nakshatra anchors, and marks when a Lahiri judgment must not be reused. Alternative full derived charts remain explicitly unvalidated.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | ||
| topic | Yes | ||
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| conventions | No | ||
| timezoneOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, non-open-world behavior, so the bar is lower. The description adds genuine context beyond them: it flags that alternative full derived charts remain 'explicitly unvalidated' and that output includes a reuse warning, which tells the agent about result trustworthiness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler; the core comparison and the anchor list come first, and the validation caveat is placed last where it functions as a scope limit. Slightly dense with an inline enumeration, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it correctly focuses on scope and validation limits instead. It is close to complete for a read-only comparison tool, missing only convention-selection guidance and how the mutually exclusive location inputs behave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It adds semantics for two domain-specific inputs ('one topic' and the selected alternative ayanamsa projections), but says nothing about the location parameters (place vs latitude/longitude/timezone/timezoneOffset), date/time format, or the name field; the remaining eight parameters are left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: compares Lahiri against alternative ayanamsa projections for one topic, and enumerates the derived anchors it tracks (Lagna, topic lord, karaka, sign, house, Nakshatra). That is enough to distinguish it from calculate_ayanamsa_chart or compare_traditions without opening a schema, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the phrase 'marks when a Lahiri judgment must not be reused' hints at the scenario (checking whether a convention switch invalidates a reading), but there is no explicit when-to-use, when-not-to-use, or named alternative among the many analyze_*/compare_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_family_timingCompare family members' running periods side by sideARead-onlyIdempotentInspect
Family view for 2–6 linked people (for example wife, husband, children, parents). For each person: current mahadasha and antardasha with dates, upcoming period changes, Sade Sati / Ashtama Shani status, and the windows when two or more members are under Saturn pressure together. Use it when a question involves the whole family. It reports dated overlaps only and never treats one chart as the cause of another person's events.
| Name | Required | Description | Default |
|---|---|---|---|
| people | Yes | ||
| asOfDate | No | ||
| language | No | en | |
| horizonYears | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower; the description still adds real content about result shape and an interpretive constraint (never treats one chart as the cause of another's events). It omits upper-bound behavior such as the 6-person cap and the 1-5 year horizon default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with scope, then component breakdown, then usage and caveat. Every sentence carries information; only the output enumeration is slightly redundant given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-person comparison tool with an output schema, the definition is largely complete: scope, contents and an interpretation guardrail are all present. The remaining gap is parameter-level guidance around asOfDate and horizonYears.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It conveys the people array's 2-6 size and the relation vocabulary (wife, husband, children, parents), but asOfDate, horizonYears and language go unmentioned despite affecting output scope and language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: a family view comparing running periods for 2-6 linked people, with an explicit enumeration of what is reported (mahadasha/antardasha dates, upcoming changes, Sade Sati/Ashtama Shani, shared Saturn-pressure windows). This is clearly distinguishable from single-chart siblings like calculate_dasha_system or fuse_timing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use it when a question involves the whole family" gives a clear triggering condition, and the closing sentence sets a boundary (dated overlaps only, no causal cross-attribution). It stops short of naming alternatives, e.g. that a single-person dasha question belongs to calculate_dasha_system.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_reading_versionsExplain why two reading versions changedCRead-onlyIdempotentInspect
Compares engine, ruleset, input and conclusion status changes.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds which aspects are diffed (engine, ruleset, input, conclusion status), which is useful but is really scope rather than behavior; it says nothing about preconditions (e.g. both versions must exist) or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler, front-loading the action and the compared dimensions. It is efficient, though extremely terse for a tool with nested object inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the two nested input objects are completely undocumented and there is no usage context. For a comparison tool whose correctness depends on passing the right version objects, this leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are undescribed nested objects. The word 'versions' in the description implies first/second are two reading versions, but it never states what shape they take or how they are obtained, leaving the caller to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (compares) and enumerates the comparison dimensions (engine, ruleset, input, conclusion status changes), which maps well to the title's promise of explaining why versions changed. It is clearly distinguishable from siblings like compare_conventions and compare_traditions, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the other comparison tools (compare_conventions, compare_traditions) or the audit tools. The agent must infer the scenario 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.
compare_traditionsCompare traditions without blending themCRead-onlyIdempotentInspect
Compares explicitly supplied tradition ledgers while preserving separate methods, evidence, contradictions and readiness states.
| Name | Required | Description | Default |
|---|---|---|---|
| ledgers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish this is a read-only, idempotent, non-destructive, closed-world tool, so much of the safety profile is covered. The description then adds a genuinely useful behavioral trait: it preserves separate methods, evidence, contradictions, and readiness states rather than blending them. That is real added value beyond the annotations, but it still omits return-shape and comparison mechanics details that the output schema presumably covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler and the key qualifier ('explicitly supplied') placed early. It is efficiently sized for the amount of content it chooses to include. It loses a point only because the brevity comes at the cost of the missing parameter detail noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations carry the safety profile. But for a comparison tool with an undescribed nested input parameter and several comparison siblings, the definition is minimally adequate at best. It tells the agent what the tool refuses to do (blend traditions) but not how to supply ledgers or why to pick this tool over the alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single required parameter, 'ledgers', typed only as an array of objects with minItems 2. The description does not explain the internal shape of a ledger, what fields it must contain, or whether the two ledgers must come from the same or different traditions. With no schema descriptions and no parameter explanation, an agent cannot construct valid input from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (compares) and a loose resource (explicitly supplied tradition ledgers), so the core action is identifiable. But it doesn't explain what a 'tradition ledger' is, and it doesn't differentiate clearly from siblings like compare_conventions or compare_reading_versions, which also appear to be comparison tools. Purpose is implied but vague enough that an agent cannot confidently distinguish it from its neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no alternatives named. The word 'explicitly supplied' hints the input must already exist, but the description never says when this tool should be chosen over compare_conventions, compare_reading_versions, or analyze_chart_topic. An agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consult_jyotishyaAsk Sahadeva — master Jyotisha consultationARead-onlyIdempotentInspect
PRIMARY TOOL FOR EVERY NORMAL USER QUESTION AND FIRST READING. Always runs a complete person-first screen covering identity, education, employment, business, money, love, marriage, health routines, family/property, children and spirituality, plus strengths, Doshas/cancellations and safe practical support. It then gives extra Varga and timing depth to the exact question, checks contradictions and reports coverage. Use specialist tools only when this result requests additional inputs or the user asks for technical matrices. Deterministic: it never invokes another AI model.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | No | ||
| detail | No | brief | |
| asOfDate | No | ||
| language | No | en | |
| latitude | No | ||
| question | No | ||
| timezone | No | ||
| longitude | No | ||
| profileRef | No | Stable profile reference returned by the first consultation. Pass it on later questions together with the same birth details. | |
| traditions | No | Traditions to compare as separate ledgers. They are interconnected by topic but never blended. | |
| readingMode | No | Use auto normally: without profileRef it creates the full first-reading dossier; with profileRef it returns a focused follow-up. | auto |
| timezoneOffset | No | ||
| remedyPreferences | No | Optional practice preferences. Prayer and charity can be turned off; every other remedy family is always included. | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond that: a deterministic engine that 'never invokes another AI model', a fixed screening pass, contradiction checks and coverage reporting. It omits cost/latency or result-size behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the routing directive in caps, then scope, then the specialist-tool exclusion, then the determinism note. The long life-domain list is dense but functional; a couple of clauses could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter tool with nested objects, the description is largely complete about what it does and when it applies, and an output schema exists so return values need not be described. The main residual gap is parameter-level guidance, which is not an agent-blocking omission here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22% across 18 parameters, so the description shoulders more burden than usual. The enumerated screen topics loosely mirror the 'focus' enum and the first-vs-follow-up framing touches profileRef/readingMode, but the description never directly explains input syntax or the many optional parameters, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (a full Jyotisha consultation covering a named set of life domains) and explicitly positions itself as the primary entry point. It contrasts itself against the many specialist siblings, so an agent can tell it apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('PRIMARY TOOL FOR EVERY NORMAL USER QUESTION AND FIRST READING') and when-not ('Use specialist tools only when this result requests additional inputs or the user asks for technical matrices'). The follow-up path is also hinted via the profileRef/first-vs-later framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_methodologyDescribe Sahadeva methodologyCRead-onlyIdempotentInspect
Returns the calculation boundary, accuracy status, interpretive safety contract and production validation requirements.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| computation | Yes | |
| interpretation | Yes | |
| productionGate | Yes | |
| currentAccuracy | Yes | |
| supportedMethodology | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that the return carries methodology framing (boundary, safety contract, validation requirements), which is useful behavioral context beyond annotations, though it remains abstract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, but it is a noun-heavy list of return categories with no framing verb up front. Front-loading the purpose before the field list would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return details need not be explained, though the description paraphrases output categories rather than adding value. As a zero-param metadata tool the description is minimally adequate, but it lacks any indication of when this methodology description should be fetched versus the other validation and audit tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; baseline for a no-param tool applies. No misleading parameter claims.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists internal data categories (calculation boundary, accuracy status, interpretive safety contract, validation requirements) rather than stating a clear verb+resource purpose. It reads more like an output field list than a statement of what the tool does. It does not distinguish itself from siblings like get_validation_report or get_synthesis_validation_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. Given ~80 siblings including several validation/audit tools, the description offers no route for the agent to know which tool fits which question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_life_themesDetect ranked Dasha-activated life themesBRead-onlyIdempotentInspect
Detects structural afflictions and supportive Yogas, weights their activation through Vimshottari Maha/Antardashas over a date range, and returns ranked neutral themes with reasons, citation state, uncalibrated confidence, and mandatory safety limits.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| endDate | Yes | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| startDate | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| range | Yes | |
| safety | Yes | |
| periods | Yes | |
| patterns | Yes | |
| uncertainty | Yes | |
| schemaVersion | Yes | |
| sourceCoverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety bar is lower. The description still adds useful traits beyond the annotations: results are ranked, neutral-framed, carry citation state, use explicitly uncalibrated confidence, and are bounded by mandatory safety limits. These are meaningful interpretation caveats an agent would not otherwise know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence that front-loads the core action and the output characteristics, with no filler or repetition. It is long but every clause carries content, though the compressed phrasing for a 12-parameter tool makes it read as packed rather than crisp.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity tool with an output schema present, the description need not explain return values, and it does summarize them adequately. However, it omits the location-input duality (place vs lat/long/timezone) and any usage routing, leaving real gaps for a 12-parameter astrological tool. Minimum viable but noticeably incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 12 parameters, so the description is expected to compensate and largely does not. It only implies date-range scoping (startDate/endDate); it says nothing about the place-vs-coordinates anyOf, the required IANA timezone, language, timezoneOffset, or birthTimeAccuracyMinutes. Only one semantic hint is added over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource (detects structural afflictions and Yogas, weights their Dasha activation, returns ranked themes), which is materially more precise than the title alone. It is distinguishable from nearby siblings like analyze_yogas or calculate_doshas because it names the Vimshottari weighting and ranked-output step. It stops short of explicitly saying how it differs from those siblings, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite many plausible siblings (analyze_yogas, calculate_doshas, analyze_transit_activation, fuse_timing). The date-range phrase implies a time-windowed use case but never states when an agent should pick this tool over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_chart_sourcesExplain the source and review status behind a chart topicCRead-onlyIdempotentInspect
Returns book-section locators and rule-review status without treating discovered prose as executable doctrine.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds a meaningful caveat — that returned prose is not 'executable doctrine' — which is genuinely extra behavioral context. However it gives no detail on what a locator or review status actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence, which is efficient, but its compactness comes at the cost of clarity rather than from tight, front-loaded substance. Minimal waste, but also minimal signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return structure need not be explained, but the description still leaves the core purpose and the meaning of the single parameter underspecified. For a lookup tool amid many citation-related siblings, the definition is too thin to guide a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'topic' parameter with 0% schema description coverage, so the description must compensate, yet it says nothing about what a 'topic' is, its format, or examples. The phrase 'chart topic' implies domain scope but adds no usable specificity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is abstract and jargon-heavy ('book-section locators', 'rule-review status', 'executable doctrine'). It gestures at returning sourced citations with review metadata, but never plainly states the verb+resource, e.g. 'returns source references and review status for a given chart topic.' An agent cannot cleanly distinguish it from siblings like get_rule_citations or search_source_passages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and none of the close alternatives (get_rule_citations, search_source_passages, search_reviewed_rules) are named. The agent must infer usage purely from the abstract phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explore_lal_kitab_remedy_catalogInspect Lal Kitab remedy-engine coverageARead-onlyIdempotentInspect
Returns whole-book extraction counts, source hash, catalog hash and publication policy without returning copyrighted remedy text.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that: what specifically is returned and, importantly, that copyrighted remedy text is explicitly NOT returned, which explains why an agent won't get content here. It still omits pagination/size behavior, so not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates the return payload and ends with the key constraint. No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and annotations cover the safety profile. The description supplies the one thing structured fields can't: the copyright constraint on output. Its only gap is the absence of sibling-routing guidance, which is minor for a zero-arg inspection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly adds no parameter discussion, which is appropriate for a no-argument inspection call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and an enumerated set of resources: whole-book extraction counts, source hash, catalog hash, and publication policy. An agent can tell this is a coverage/metadata inspection tool rather than an analysis tool. It does not, however, explicitly distinguish itself from the close sibling explore_lal_kitab_sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no named alternative. The purpose implies a metadata-inspection use case, but nothing tells the agent when to pick this over explore_lal_kitab_sources or analyze_lal_kitab_remedies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explore_lal_kitab_sourcesExplore complete Lal Kitab source coverageBRead-onlyIdempotentInspect
Returns all source families, locators, coverage counts, lexical risk signals and graduated disclosure policy without republishing source body text.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | Yes | |
| policy | Yes | |
| source | Yes | |
| coverage | Yes | |
| families | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that: a 'graduated disclosure policy' and an explicit commitment not to republish source body text, which tells the agent about output restrictions. It still omits anything about result size or pagination, keeping it at a solid 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the payload list and closes with the key constraint. It is efficient, though the comma-separated inventory reads as compressed rather than structured, and nothing indicates why those five categories matter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, yet it still summarizes the payload. For a zero-parameter, read-only tool this is close to complete; the main gap is the absence of routing guidance relative to the many sibling exploration tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no argument semantics for the description to add or for the schema to carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete return payload — source families, locators, coverage counts, risk signals, and disclosure policy — which is a specific resource distinct from siblings like search_source_passages. The clause 'without republishing source body text' further distinguishes it from passage-retrieval tools. It stops short of a crisp verb+resource framing but is clearly interpretable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not, or named alternative. The phrase 'without republishing source body text' implicitly contrasts with search_source_passages or explain_chart_sources, but the agent must infer that routing rather than being told. No prerequisites or context for selection are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_elected_lagnaFind elected-Lagna windowsARead-onlyIdempotentInspect
EXPERT electional search: finds ascendant-sign windows across 1 day (up to 3 with an API key) and scores each elected Lagna structurally (lord strength and dignity, benefic/malefic placement, Moon condition, activity-karaka state, prohibited-period overlap). Ineligible windows stay visible with fail reasons; draft rules, never a guarantee.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| activity | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| startDate | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
| place | Yes | |
| safety | Yes | |
| windows | Yes | |
| rulebook | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world. The description adds real behavioral value beyond them: the scoring criteria (lord dignity, benefic/malefic placement, Moon condition, activity-karaka, prohibited-period overlap), the fail-reason visibility behavior, the API-key tier limit, and the important 'draft rules, never a guarantee' caveat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the core purpose and follow with scope, scoring, and caveats. Every clause carries information, though the second sentence is a long comma-separated list that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The description supplies scope, scoring methodology, failure behavior, and the non-guarantee caveat — enough for correct invocation, with the main gap being undocumented non-required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% across 9 parameters, so the description must compensate and largely does not. It ties 'days' to the 1-day/3-day API-key cap, which is useful, but leaves limit, startDate, activity, place, and the coordinate/timezone fallback unexplained beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'finds ascendant-sign windows' — and pins down the exact domain ('elected Lagna') that separates it from siblings like find_muhurta and find_marriage_windows. It also discloses the scoring dimensions, so an agent knows precisely what the tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Labels itself 'EXPERT electional search' and gives the day-range/API-key constraint plus the fact that ineligible windows remain visible with fail reasons, which implies a professional electional workflow. However it never explicitly says when to choose this over find_muhurta or find_muhurta_with_natal_fit, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_marriage_windowsFind structural marriage-planning windowsBRead-onlyIdempotentInspect
Finds overlaps between Jupiter transiting the natal seventh sign and Venus or seventh-lord Vimshottari periods. Returns planning windows, never a guaranteed marriage prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | ||
| years | No | ||
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| startDate | Yes | ||
| timezoneOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| natal | Yes | |
| range | Yes | |
| safety | Yes | |
| subject | Yes | |
| windows | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world traits. The description adds genuine value beyond them by disclosing the computation (Jupiter transit plus Vimshottari dasha overlap) and, importantly, that results are planning windows rather than predictions - a caveat an agent needs to avoid overclaiming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the mechanism front-loaded and the output caveat second. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the purpose plus caveat are clear. However, for a 10-parameter astrological computation with 0% schema coverage, the description leaves the agent without guidance on required birth-data inputs or how windows are bounded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters, and the description supplies no parameter meaning at all. It never explains date, time, startDate, place, latitude/longitude/timezone, or the years default, so the agent must infer birth-data semantics from field names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with unusual precision: overlaps between Jupiter transiting the natal seventh sign and Venus/seventh-lord Vimshottari periods. This mechanism is naturally distinguishable from structural siblings like analyze_marriage_structure or get_marriage_readiness, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives. The closing caveat ('never a guaranteed marriage prediction') frames interpretation of the output but does not tell the agent when this tool is the right choice versus analyze_marriage_structure or get_marriage_readiness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_muhurtaFind ranked Muhurta windowsBRead-onlyIdempotentInspect
Ranks candidate windows over a bounded date range using activity Panchanga fitness, prohibited-period avoidance, optional Tara/Chandra Bala, instant Lagna structure, and activity-karaka condition. Returns every pass/fail reason and draft source key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| natal | No | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| endDate | Yes | ||
| activity | Yes | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| startDate | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| windows | Yes | |
| activity | Yes | |
| rulebook | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine context by disclosing the ranking methodology and that every pass/fail reason plus a draft source key is returned, but says nothing about cost, runtime, or what happens when no window passes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the operation and its methodology front-loaded and no filler. The density borders on jargon-heavy, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need not be restated, and annotations cover safety. Still missing for a 10-parameter tool with nested objects: any explanation of the location input modes, the natal object, or how this differs from the natal-fit sibling, leaving real gaps before a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, so the description must compensate and does not. It never explains the place-vs-latitude/longitude/timezone alternative, the limit cap, the date-range format expectations, or what the nested natal object unlocks — 'optional Tara/Chandra Bala' is the only nod to a parameter and is not mapped to one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Ranks candidate windows over a bounded date range') and enumerates the scoring factors, so the operation is unmistakable. It does not, however, distinguish itself from near-siblings such as find_muhurta_with_natal_fit or find_marriage_windows, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative. The phrase 'optional Tara/Chandra Bala' hints that natal data is not required (implying find_muhurta_with_natal_fit is the natal counterpart), but the agent must infer that routing decision rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_muhurta_with_natal_fitFind Muhurta windows fitted to a natal chartCRead-onlyIdempotentInspect
Ranks a maximum seven-day range using Panchanga, prohibited intervals, Tara Bala and Chandra Bala. Medical procedures are unsupported.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| natal | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| endDate | Yes | ||
| activity | Yes | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| startDate | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a real operational constraint not present in the schema (seven-day maximum range) and a scope exclusion, which is useful. It stops short of describing error behavior or how natal fitting alters output, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler, and the core behavior (ranking a bounded range) is front-loaded ahead of the exclusion. Efficient, though brevity here comes at the cost of completeness rather than being purely a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters, a nested natal object, an enum, and an anyOf coordinate/place requirement, the description is thin. It omits the natal-fitting semantics, the required input combinations, and activity handling. The output schema covers return values, but the invocation-relevant context is largely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 10 parameters, so the description must carry significant weight. It only implies a date-range cap that loosely maps to startDate/endDate and says nothing about the natal object, the activity enum, the place-vs-coordinates alternative, or the limit parameter. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (ranks) and resource (a maximum seven-day range) plus the techniques used, so the general purpose is inferable. However, it never mentions the natal-chart fitting that distinguishes it from the sibling find_muhurta, and it never explicitly says it returns muhurta windows. An agent cannot tell this apart from find_muhurta from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides one explicit exclusion ('Medical procedures are unsupported'), which is genuine scope guidance. But it never says when to prefer this over find_muhurta, find_elected_lagna, or find_marriage_windows, and gives no prerequisites for the natal input. Implied usage with a single carve-out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fuse_timingFuse promise, Dasha, transit, Ashtakavarga and Varga timingCRead-onlyIdempotentInspect
Applies natal promise as a hard gate and returns uncalibrated, auditable timing windows with learnable factor weights.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | Yes | ||
| endIso | Yes | ||
| latitude | No | ||
| startIso | Yes | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful context that outputs are 'uncalibrated' and 'auditable' with 'learnable factor weights', warning the agent not to treat results as finalized predictions — useful but thin beyond that one signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence is structurally efficient and front-loaded, but it is dense with undefined terms ('natal promise as a hard gate', 'learnable factor weights') whose meaning is not recoverable from the text itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter fusion tool with low schema coverage, the description is far too thin: it omits coordinate/timezone input rules, the date-range semantics, and what 'fusing' actually returns. The presence of an output schema excuses return-value detail, but not the missing input and routing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% across 11 parameters, so the description bears a heavy compensation burden — yet it says nothing about any parameter (date/time, topic enum, place vs lat/long/timezone either-or, startIso/endIso range). The one required-vs-optional distinction it could clarify is left to the schema's anyOf.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gestures at a specific capability ('applies natal promise as a hard gate', 'returns timing windows') but is framed in architecture jargon rather than a concrete verb+resource. An agent cannot easily tell from this text how it differs from siblings like find_marriage_windows, get_timing_context, or analyze_transit_activation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance. Given the many timing-adjacent siblings (find_muhurta_with_natal_fit, build_slow_transit_calendar, get_timing_context), the absence of any selection criteria 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.
generate_full_life_reportGenerate a complete evidence-linked life reportARead-onlyIdempotentInspect
EXPERT FULL-REPORT TOOL — prefer consult_jyotishya (brief dossier + profileRef) for normal questions; use get_full_life_report_section for one section at a time. Builds a complete South Indian astrology report covering all major life areas, domain-specific timing outlooks, measured strengths, Vargas, structural Yogas, current Dasha and upcoming Antardashas. Timing activation identifies an area, never a specific event; interpretations remain qualified and evidence-linked.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| asOfDate | No | ISO date or instant for the current-timing section; defaults to now | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| horizonYears | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| anchors | Yes | |
| aspects | Yes | |
| subject | Yes | |
| placements | Yes | |
| uncertainty | Yes | |
| ashtakavarga | Yes | |
| futureTiming | No | |
| currentTiming | Yes | |
| schemaVersion | Yes | |
| sourceCoverage | Yes | |
| measuredStrengths | Yes | |
| plainLanguageReading | Yes | |
| divisionalChartAnchors | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine behavioral context beyond that — the caveat that timing activation identifies an area and never a specific event, and that interpretations are qualified and evidence-linked. It omits cost/latency expectations for a full report, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the routing decision before the content scope, and the three sentences carry distinct information. The 'EXPERT FULL-REPORT TOOL' label is mildly redundant with the rest but earns its place by signaling weight/priority.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the report's scope is well covered. However, for a 13-parameter tool with 31% schema coverage, the description leaves the input contract under-explained, which is a real completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 13 parameters, and the description supplies no parameter guidance at all — nothing on date/time, place vs. explicit coordinates, focus, horizonYears, or birthTimeAccuracyMinutes. With such 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (builds/generates) and resource (complete South Indian astrology report) and enumerates the covered content — life areas, timing outlooks, strengths, Vargas, Yogas, Dasha/Antardashas. It explicitly distinguishes itself from consult_jyotishya and get_full_life_report_section, so an agent can route without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use routing: prefer consult_jyotishya for normal questions and get_full_life_report_section for a single section. It effectively positions itself as the heavyweight full-scope option, so when and when-not are both clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_report_pdfGenerate a hosted shareable PDF reportCInspect
Generates the full reading context as a server-side PDF and returns a hosted URL valid for 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | ||
| asOfDate | No | ||
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| chartStyle | No | Layout of the birth chart printed on the first page | south |
| horizonYears | No | ||
| timezoneOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| safety | Yes | |
| expiresAt | Yes | |
| contentType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/hint profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description need not restate safety. It does add genuine value by disclosing that the output is a hosted server-side PDF with a 30-day URL lifetime, which the annotations do not convey. However, it says nothing about whether the artifact is stored, regenerated on repeat calls, or what happens after expiry, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the key output fact (hosted URL, 30-day validity) front-loaded and no filler. It is appropriately sized, though its brevity comes at the cost of the missing usage and parameter guidance scored elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, but for an 11-parameter generation tool with 9% schema coverage and no usage routing, the single sentence is far from complete. The agent lacks guidance on required-field combinations and on how this differs from sibling report tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 9% across 11 parameters, so the description carries most of the burden — yet it mentions no parameters at all. Nothing explains the place-vs-(latitude/longitude/timezone) anyOf requirement, the meaning of asOfDate, horizonYears, or timezoneOffset. The one enum-bearing parameter (chartStyle) is documented only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Generates ... as a server-side PDF and returns a hosted URL'), which is enough to distinguish it from analytical siblings like analyze_chart_topic or calculate_dasha_system. It doesn't explicitly differentiate it from the other output-producing siblings (render_chart, generate_full_life_report), and 'the full reading context' is a somewhat vague object, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over the many near-neighbor output tools (render_chart, generate_full_life_report, get_full_reading_context). No prerequisites, no exclusions, no alternative named. The agent is left to 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.
get_compact_chart_evidenceGet compact chart evidence for AIBRead-onlyIdempotentInspect
Returns a stable, compact, deterministic evidence object for narration agents. It omits bulky timelines and contribution matrices while retaining calculation version, confidence, placements, focus, and safety boundaries.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavioral facts: the output is stable and deterministic, and it explicitly documents what is dropped (timelines, contribution matrices) versus retained (calculation version, confidence, placements, focus, safety boundaries), which helps an agent trust and reuse 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, front-loading the core behavior (what it returns) before the scope details. The jargon 'contribution matrices' is domain-specific but compact and earned given the audience.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-structure explanation is not strictly required, and the description usefully characterizes output richness and safety boundaries. However, with 0% schema description coverage on 10 parameters and no differentiation from the many sibling get_* tools, the definition is only minimally sufficient to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters (6 required), and the description supplies no parameter meaning, format, or defaults. 'focus' appears only as a retained output field, not as an explained input, and required fields like date, time, place, latitude, longitude and timezoneOffset are entirely unaddressed where the schema gives no help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns a ... evidence object') with the scope qualifiers compact, stable and deterministic, so the agent knows it produces a summarized reading artifact. It does not, however, distinguish itself from closely related siblings like get_full_reading_context, get_depth_analysis or get_timing_context, which an agent could easily confuse given the crowded get_* family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for narration agents' plus the omission policy ('omits bulky timelines and contribution matrices') implies that this is the lightweight alternative to a fuller context tool, which is useful implied guidance. But no alternative is named and no explicit when-to-use / when-not-to-use condition is given, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_depth_analysisGet strength, Varga and additional-Dasha depthCRead-onlyIdempotentInspect
Returns Vimsopaka and Ishta/Kashta evidence, topic-specific cross-Varga synthesis, special Lagnas, expanded Yoga candidates and additional-Dasha status.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | Yes | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only a list of returned artifacts and discloses nothing behavioral beyond that, such as computational cost, dependency on chart inputs, or how the outputs differ from the narrower sibling tools. Given the annotation coverage this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler, and the distinctive artifacts are front-loaded. It could be slightly better organized given the number of items, but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and relieves the description of explaining return values, this is a complex 9-parameter tool with an anyOf location requirement and multiple overlapping siblings, none of which the description addresses. It omits required-input guidance and completely forgoes the routing information an agent needs to choose it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, leaving date, time, topic, name, latitude, and longitude undocumented in the schema, and the description does not compensate. It only hints at topic filtering ('topic-specific'), with nothing about the required place-vs-coordinates anyOf structure or the meaning of the remaining inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates the outputs (Vimsopaka, Ishta/Kashta, cross-Varga synthesis, special Lagnas, Yoga candidates, Dasha status), which conveys roughly what the tool produces, but it is framed as a bag of return contents rather than a crisp verb+resource statement. It draws no boundary against overlapping siblings such as calculate_strength_profile, analyze_varga, analyze_yogas, or calculate_dasha_system, all of which appear to cover pieces of the same territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance anywhere in the description. With heavily overlapping siblings like analyze_chart_topic and calculate_strength_profile, the absence of any routing signal leaves the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_life_report_sectionGet one full-life-report sectionBRead-onlyIdempotentInspect
Returns one bounded section of the full report for MCP clients with limited context windows.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| section | Yes | ||
| asOfDate | No | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| horizonYears | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| safety | Yes | |
| section | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that output is 'bounded', which is useful context for context-window management, but says nothing about section sizing, caching, or whether sections are independent across calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and its bounding constraint come first. Nothing could be trimmed without losing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the input surface is complex (13 params, anyOf location branching, 23% coverage) and the description addresses none of it. One sentence is inadequate for a tool this compound.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 23% across 13 parameters, so the description must compensate and it does not. It never mentions the mutually exclusive location input (place OR latitude/longitude/timezone), the required date/time/section trio, or what the section enum values denote.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('one bounded section of the full report'), and the word 'section' plus the enum signals it is the paginated counterpart to generate_full_life_report. It does not explicitly name that sibling, so an agent must infer the relationship 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for MCP clients with limited context windows' implies when to prefer this over the full report, but there is no explicit 'use this instead of generate_full_life_report when...' statement or exclusion. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_reading_contextGet complete one-shot reading contextARead-onlyIdempotentInspect
EXPERT FULL-REPORT ALIAS — prefer consult_jyotishya for normal questions. One-call alias for the complete evidence-linked life report. Returns enriched placements, strengths, Vargas, synthesis, current Dasha, and a configurable future transit-and-Dasha horizon for narration clients.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| focus | No | general | |
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| asOfDate | No | ||
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| horizonYears | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the output content and the 'narration clients' purpose plus the configurable horizon, but says nothing about rate limits, auth, or latency concerns. Modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is two sentences, front-loads the alias/routing caveat before the return summary, and wastes little. The all-caps lead-in is a minor style cost but it does front-load the most decision-relevant fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter tool with an anyOf location mode and a partial-required set, the description leaves the agent without guidance on how to supply birth data versus coordinates. The presence of an output schema excuses it from explaining returns, but not from the parameter-level gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 13 parameters at 23% schema description coverage, the description needs to compensate for the documentation gap but largely does not. Only the future horizon is alluded to ('configurable... horizon'); birth date/time, the place-vs-coordinates anyOf, focus, language, and accuracy parameters get no explanatory text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific role (one-call alias for the complete evidence-linked life report) and enumerates what it returns at a high level (placements, strengths, Vargas, synthesis, Dasha, transit horizon). It also distinguishes itself from the similar sibling consult_jyotishya, so an agent can tell them apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent to 'prefer consult_jyotishya for normal questions,' naming the alternative and the condition that selects it, and signals its own niche as an expert/narration path. This is exactly the when-not/alternative routing guidance the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marriage_readinessGet one-call marriage readiness contextBRead-onlyIdempotentInspect
Returns separate North Indian Ashtakoota and South Indian ten-Porutham compatibility, Kuja evidence, compact summaries for both charts, and structural marriage-planning windows for each person in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| bride | Yes | ||
| groom | Yes | ||
| years | No | ||
| muhurta | No | Optional shared wedding location and bounded date range passed to find_muhurta | |
| language | No | en | |
| startDate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| safety | Yes | |
| subjects | Yes | |
| compatibility | Yes | |
| schemaVersion | Yes | |
| marriageWindows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is fully covered structurally. The description adds that this is a composite returning multiple sub-analyses, which is useful, but says nothing about cost/latency, whether it internally invokes find_muhurta, or what happens when optional blocks are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and then enumerates outputs in a scannable list. Dense but no filler; only the trailing 'in one call' is slightly redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex composite tool with nested inputs and low schema coverage, yet the description covers only return contents and nothing about the required birth data for both people or how startDate/muhurta interact. With an output schema present, most of what the description does say duplicates structured data, leaving the input side of the contract undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% and six parameters are present, including two nested person objects, so the description carries the burden of compensating and does not. It never explains bride/groom birth date-time-place requirements, the role of startDate, the years window, the language enum, or the optional muhurta override beyond 'for each person'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Returns) and enumerates the concrete artifacts produced: North Indian Ashtakoota, South Indian ten-Porutham, Kuja evidence, compact summaries, and marriage-planning windows. The phrase 'in one call' signals it is the aggregator, which distinguishes it from the narrower siblings. It never names calculate_compatibility or find_marriage_windows directly, so sibling routing is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'in one call' suggests this is the tool to pick when the agent wants the full marriage-readiness bundle rather than several narrow calls. No explicit when-to-use or when-not-to-use guidance is given, and no alternative tool is named for partial needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_natal_panchangaAnalyze the five natal Panchanga limbsARead-onlyIdempotentInspect
Returns calculated Vara, Tithi class, Nakshatra lord, Yoga, Karana, Paksha Bala, boundary warnings and unresolved lineage-specific source keys. This is distinct from daily Panchanga.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely behavioral context beyond that: results may include 'boundary warnings' and 'unresolved lineage-specific source keys', signalling partial or flagged output. It stops short of explaining failure modes or how those warnings surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the returned content and ending with the sibling distinction; no filler. The long comma list of outputs blends computed limbs with caveat fields, which slightly muddies the structure but does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return values is optional, and the annotations carry the safety profile; the description is complete enough on those axes. Its remaining gap is the parameter branch (place vs explicit coordinates), which the schema's anyOf covers structurally even though the description adds nothing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, and the description supplies zero parameter guidance — nothing about date/time format, the place-vs-coordinates branch, or the timezoneOffset fallback. With low coverage, the description should compensate but does not, leaving most parameters (date, name, time, latitude, longitude) undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (Returns) and enumerates the specific resources computed (Vara, Tithi class, Nakshatra lord, Yoga, Karana, Paksha Bala, plus warnings and unresolved source keys). It explicitly names the sibling it is not ('distinct from daily Panchanga'), so an agent can separate it from get_panchanga 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence routes the agent by contrasting this tool with 'daily Panchanga', implying natal use versus daily use. However, it never states an explicit condition, prerequisite, or 'use X when / use Y when' rule, so the routing is inferred rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_panchangaGet complete daily PanchangaCRead-onlyIdempotentInspect
Returns the five limbs plus Rahu Kaal, Yamaganda, Gulika, Bhadra status, Abhijit and Brahma Muhurta, day/night Choghadiya, 24 Horas, solar-day context, festival flags, and optional Tara/Chandra Bala from a natal chart.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| natal | No | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the conditional behavior that Tara/Chandra Bala is present only when a natal chart is supplied; it discloses nothing about error conditions, timezone requirements, or locale-dependent output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, but the bulk is a long enumerated list of return contents that largely duplicates what the output schema already declares. Word budget is spent restating results rather than adding routing or setup information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so enumerating return values is redundant, yet that is the entirety of the description. For a tool with a nested natal object, an either/or location requirement, and a near-identical sibling, the agent is left without the call-setup and sibling-selection information it actually needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38% across 8 parameters (including a nested natal object), so the description must compensate and does not. It hints that a natal chart unlocks optional Bala outputs, but says nothing about date/place versus explicit coordinates, the required IANA timezone, language, or timezoneOffset fallback.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (daily Panchanga) with a clear verb ('Returns') and enumerates the constituent outputs, so an agent can tell it produces daily almanac data. However, it never distinguishes itself from the sibling get_natal_panchanga, even though it mentions 'optional Tara/Chandra Bala from a natal chart', leaving overlap ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: no mention of when to prefer this over get_natal_panchanga, no prerequisite about needing place OR latitude/longitude/timezone, and no note on when the natal object is worth supplying. The sentence is purely a content list, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planetary_relationship_graphGet the typed planetary relationship graphBRead-onlyIdempotentInspect
Returns dispositors, chains, conjunctions, exchanges, Graha Drishti, compound relationships and Lagna-specific functional lordships as distinct edge types.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds the edge-type taxonomy (which is genuinely useful behavioral content about what edges are produced) but nothing about computation cost, required birth-data accuracy, or interpretation caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence listing edge types with no filler. Front-loaded with the verb and resource. It is perhaps slightly dense but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. However, with an 8-parameter, 38%-covered birth-data schema and no annotations gap to excuse it, the description should address the coordinate-vs-place contract and timezone requirements. It covers the graph's content but not the invocation contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 38%, so the description must compensate and does not. It says nothing about date/time, place vs. explicit coordinates, the anyOf coordinate requirement, the IANA timezone requirement when coordinates are given, or the optional timezoneOffset fallback. Five of eight parameters carry no description in either location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (returns) and a precise resource: a 'typed planetary relationship graph' with enumerated edge types (dispositors, chains, conjunctions, exchanges, Graha Drishti, compound relationships, Lagna functional lordships). This distinguishes it from sibling analysis tools like analyze_house or analyze_yogas, though it doesn't explicitly name an alternative the way a 5 would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No 'when to use' guidance, no prerequisites, and no mention of alternatives such as analyze_house or calculate_strength_profile. With ~85 siblings, the definition gives no routing help beyond the resource name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_remedy_catalogBrowse the Vedic remedy catalogARead-onlyIdempotentInspect
Lists the structured remedy catalog indexed from Sanjay Rath's Vedic Remedies in Astrology (mantra, deity mantra, yantra, homa, puja, dana, vrata, meditation, pranayama, devata orientation, calendar observances and gemstone reference topics) with source locators and our own guidance; no book prose. Not chart-specific: gemstone rows are reference topics, and chart gemstones come from build_remedy_repertoire.
| Name | Required | Description | Default |
|---|---|---|---|
| graha | No | ||
| limit | No | ||
| topic | No | ||
| family | No | ||
| tradition | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| policy | Yes | |
| safety | Yes | |
| entries | Yes | |
| families | Yes | |
| returned | Yes | |
| withheld | Yes | |
| chartChecked | No | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read profile (readOnlyHint, idempotent, openWorldHint=false), so the bar is lower. The description adds real value beyond that: it discloses output scope ('with source locators and our own guidance; no book prose') and the non-chart-specific nature, telling the agent what it will and won't get back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core list, no filler or restatement of the title. The parenthetical enumeration is dense but each item is informative, so it stays close to earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the description correctly signals content type. But with five zero-documented filter parameters and no guidance on their accepted values, an agent cannot reliably scope a query, leaving a meaningful gap for a browsing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never explains any of the five filters (graha, topic, family, tradition, limit). It hints that 'topics' and gemstone rows exist, which loosely maps to the topic parameter, but graha/family/tradition/limit remain semantically opaque and the agent has no basis to know what values are valid or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (lists) and resource (structured remedy catalog) and enumerates the concrete topic families it contains (mantra, yantra, homa, dana, etc.). It explicitly distinguishes itself from build_remedy_repertoire and clarifies the non-chart-specific scope, so an agent can tell it apart from the many analyze_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear routing context: 'Not chart-specific... chart gemstones come from build_remedy_repertoire,' which tells the agent when this tool is the wrong choice. It does not, however, distinguish itself from neighboring catalog/analysis tools like analyze_remedies or explore_lal_kitab_remedy_catalog, so the exclusion set is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rule_citationsGet approved citations for source keysBRead-onlyIdempotentInspect
Returns passage-level citations only when the linked rule satisfies the two-reviewer publication gate and has no blocking review. Unresolved keys are returned separately.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceKeys | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| citations | Yes | |
| publicationRule | Yes | |
| unresolvedSourceKeys | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive. The description adds real behavioral context beyond that: citations are only returned when the linked rule clears the two-reviewer gate and has no blocking review, and unresolved keys are surfaced separately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no waste, leading with the return behavior and the gating constraint. Front-loaded and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not needed. However, for a lookup tool the description omits where source keys come from and gives no usage framing, leaving a notable gap despite reasonable behavioral disclosure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required sourceKeys array, and the description never defines what a 'source key' is, its format, or how to obtain one. It mentions 'unresolved keys' but does not clarify the parameter's semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Returns) and resource (passage-level citations) and qualifies it with the publication-gate condition. Clear enough that an agent knows what it fetches, though it does not name a sibling it differs from (e.g. search_source_passages).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The gating condition hints at intended use but leaves the agent to infer when to call this versus search_source_passages or search_reviewed_rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_synthesis_validation_statusGet Synthesis Brain validation statusBRead-onlyIdempotentInspect
Returns the frozen blind-validation protocol, cohort-size gates, anti-leakage rules, and the honest current calibration state. It never treats a known single case as validation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| protocol | Yes | |
| currentStatus | Yes | |
| calibratedProbabilities | Yes | |
| blindValidationCompleted | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and non-destructive safe reads, so the safety profile needs no restating. The description adds a methodological stance ('frozen', 'honest current calibration state', 'never treats a known single case as validation'), which conveys the epistemic discipline of the output. It does not, however, disclose format, freshness, or how the state is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the returned content and closed by a defining constraint. Nothing is redundant, though the second sentence is a nuance rather than a core payload fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is unnecessary, and a parameterless read-only tool has a low completeness burden. The description adequately covers what the call yields; the only missing piece is routing guidance relative to the validation siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate and the baseline of 4 applies. The description correctly implies a parameterless snapshot rather than a scoped query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') plus a concrete resource list: blind-validation protocol, cohort-size gates, anti-leakage rules, and calibration state. This is clearly distinct from a generic report tool, though it never explicitly names the sibling get_validation_report that an agent would otherwise confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this over the closely-named get_validation_report or run_longitudinal_validation, and no prerequisites or exclusions. The agent must infer the appropriate context entirely, which is a real gap given how many validation-related siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timing_contextGet combined dasha and transit contextBRead-onlyIdempotentInspect
For one date, returns active Vimshottari periods plus Saturn, Jupiter and node transit houses from natal Moon and Lagna. Sade Sati and Dhaiya are labelled structural periods, not guaranteed outcomes.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| queryDate | Yes | ||
| queryTime | No | 12:00 | |
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| dasha | Yes | |
| transits | Yes | |
| queryDate | Yes | |
| saturnPeriods | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is handled. The description adds genuine interpretive context by labeling Sade Sati and Dhaiya as structural periods rather than guaranteed outcomes, which shapes how the agent should present results, but it says nothing about auth needs, rate limits, or error/edge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the output composition front-loaded and the interpretive caveat following it; nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, seven of them required, and zero schema descriptions, the absence of any parameter guidance is a serious gap; notably the birth-data-vs-queryDate relationship is unexplained. The output schema excuses the description from detailing return values, but the input side is inadequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must carry the load and it does not. It never clarifies the crucial distinction between 'date'/'time'/'place' (birth data) and 'queryDate', nor explains latitude/longitude/timezoneOffset or the en/te language enum, leaving the agent to guess from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb-plus-resource construction: it returns active Vimshottari periods alongside Saturn/Jupiter/node transit houses measured from natal Moon and Lagna, so an agent knows exactly what comes back. It does not name a sibling, but the combined dasha+transit scope for a single date implicitly distinguishes it from single-purpose tools like query_vimshottari_date or calculate_gochara.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'For one date' hints at the intended scope, but there is no statement of when to pick this tool over siblings such as fuse_timing, build_slow_transit_calendar, or analyze_transit_activation, and no prerequisites or exclusions. The agent is left to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_validation_reportGet versioned calculation, knowledge, review and outcome validation statusCRead-onlyIdempotentInspect
Reports coverage and validation gates without converting descriptive counts into scientific or predictive validity.
| Name | Required | Description | Default |
|---|---|---|---|
| tradition | No | ||
| engineVersion | No | ||
| rulesetVersion | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuine epistemic constraint—it reports counts/gates but does not convert them into scientific or predictive validity—which is useful interpretation context. It does not, however, explain behavior on version mismatch or what a 'gate' result means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler; nothing is redundant. It is well-sized but the brevity comes at the cost of substance rather than being crisply front-loaded with the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but with three undocumented parameters at 0% coverage and no usage routing against four or five similar validation siblings, the description leaves too much for the agent to infer to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (tradition, engineVersion, rulesetVersion). The word 'versioned' hints that engineVersion/rulesetVersion select a ruleset snapshot, but tradition is never addressed and no parameter is explained, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it 'reports coverage and validation gates,' which gives a general verb+resource, but 'coverage' and 'gates' are never defined and the tool's actual subject (calculation, knowledge, review, outcome validation) lives only in the title. It also fails to distinguish it from the similarly named sibling get_synthesis_validation_status or assess_prediction_readiness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which alternative to prefer. With close siblings like get_synthesis_validation_status and run_longitudinal_validation available, the agent has to guess which validation surface to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_statusInspect reviewed Jyotish knowledge statusARead-onlyIdempotentInspect
Returns counts of sources, passages, approved rules and active reviewers. Draft material is never represented as expert knowledge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| readiness | Yes | |
| publicationRule | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real policy context beyond that: counts reflect reviewed/approved knowledge and draft material is excluded, which tells the agent how to interpret the numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is returned and followed by the one interpretive caveat. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and no parameters, the return shape is documented elsewhere and the description only needs to frame meaning, which it does via the draft-exclusion policy. Minor gap: it doesn't clarify scope of the counts (global vs. session/workspace) or what qualifies as an 'active reviewer'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies; no parameter-level value could be added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination: returns counts of sources, passages, approved rules, and active reviewers. This is a clear inventory/status read that is distinguishable from sibling actions like search_reviewed_rules or list_rule_review_queue, though the description never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no conditions, and no named alternatives despite a large sibling set containing adjacent tools (get_synthesis_validation_status, list_rule_review_queue). Usage can only be inferred from the noun 'status'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rule_review_queueList source-linked rule review workBRead-onlyIdempotentInspect
Returns implemented rule claims and their passage, rule, reviewer, contradiction, and publication state. Unlinked or draft claims are never represented as citations.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| module | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| summary | Yes | |
| publicationRule | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe-read profile (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so the bar is lower. The description goes beyond them by specifying the returned fields and adding a real behavioral guarantee: unlinked or draft claims are never surfaced as citations, which tells the agent the output is filtered/verified rather than raw.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the returned content and closed with the filtering guarantee. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description is not obligated to explain return values, and it covers the payload in prose anyway. However, for a list/pagination tool it leaves the limit/module semantics and any sibling routing entirely unaddressed, so it is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions 'limit' or 'module'. With two undocumented parameters, the description is required to compensate and does not; notably there is no explanation of what a module filter selects or how the enum values relate to the queue.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('list rule review queue' via 'returns implemented rule claims') and enumerates the payload fields (passage, rule, reviewer, contradiction, publication state). It is clear what the tool does, but it never distinguishes itself from close siblings like search_reviewed_rules, get_rule_citations, or review_lal_kitab_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use framing, no prerequisites, and no mention of the alternative tools (search_reviewed_rules, get_rule_citations) that an agent would otherwise have to weigh against this one. The only scoping sentence is about output integrity, not about invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_consultation_intakePrepare a practitioner consultation intakeARead-onlyIdempotentInspect
Refines the question, checks birth-time fitness, collects dated life history for rectification, records consent, and returns the session plan. Run this before chart judgment for a new person.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | ||
| consent | No | ||
| question | Yes | ||
| lifeEvents | No | ||
| expectations | No | ||
| birthTimeSource | No | ||
| traditionPreference | No | ||
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description usefully adds that this is a pre-judgment intake that returns a session plan. However, 'records consent' sits in slight tension with readOnlyHint=true, and the description does not clarify whether consent is merely captured in the returned plan or persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the multi-step workflow front-loaded and the sequencing condition placed last. Every clause maps to a real capability; the first sentence is dense but not padded. Slightly run-on, which keeps it just short of ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. But with 8 parameters, nested objects, and no schema descriptions, the description omits meaningful detail on the enum-backed inputs (topic, birthTimeSource) and on how lifeEvents/consent should be shaped, leaving gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description carries the explanatory burden. It conceptually maps to several inputs (question, birth-time source/accuracy via 'birth-time fitness', lifeEvents via 'dated life history', consent), but leaves topic, expectations, and traditionPreference entirely undocumented, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete workflow actions (refines the question, checks birth-time fitness, collects dated life history, records consent, returns the session plan) and frames it as the intake step that precedes chart judgment. It is clearly distinct from analysis siblings like analyze_chart_topic, though it does not name a specific sibling it should not be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence gives an explicit usage condition: 'Run this before chart judgment for a new person.' That is a clear when-to-use trigger tied to a new subject. It stops short of naming alternatives or stating when-not-to-use (e.g., returning users), so it is strong but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_vimshottari_dateQuery Vimshottari period on a dateBRead-onlyIdempotentInspect
Returns the active Mahadasha, Antardasha and Pratyantardasha with exact boundaries for one ISO date. Optimized for AI clients that do not need the full 120-year timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| queryDate | Yes | ISO 8601 date or instant | |
| timezoneOffset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| mahadasha | Yes | |
| antardasha | Yes | |
| pratyantardasha | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds that boundaries are exact and the response is single-date scoped, which is modest extra context but no auth/rate/format detail beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the return content, no filler. Every clause earns its place and the scope constraint follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with 7 required inputs and near-zero schema documentation, the description does not clarify how birth data and queryDate relate or what units/formats the coordinates and offset expect. The output schema covers return values, but the input-side gaps remain significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 10% across 10 parameters (7 required), and the single schema-described param is queryDate. The description says 'one ISO date' but never explains the crucial distinction between birth data (date, time, place, latitude, longitude, timezoneOffset) and the queryDate, leaving most required parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource (active Mahadasha, Antardasha and Pratyantardasha with exact boundaries) scoped to a single ISO date. It distinguishes itself from a full-timeline tool by contrast, though it never names the sibling (e.g. calculate_dasha_system) explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Optimized for AI clients that do not need the full 120-year timeline' implies when to prefer this over a full-timeline dasha tool, but the alternative is never named and there are no explicit when-not conditions. 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.
reason_lal_kitabRun the deterministic Lal Kitab inference kernelBRead-onlyIdempotentInspect
Calculates a topic-aware Lal Kitab natal prediction and remedy plan from fixed houses, conjunction friendship/enmity, dormancy, eclipse conditions and birth-period context. It reasons from calculated chart facts without searching the corpus at runtime and returns a complete explanation trace; annual timing is not implied.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | No | general | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted | |
| birthTimeAccuracyMinutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds real behavioral context beyond them: deterministic reasoning over pre-calculated chart facts rather than runtime retrieval, a complete explanation trace as output, and no annual timing. It does not discuss cost, latency, or failure modes on bad birth data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the primary action and scope, with the 'annual timing is not implied' caveat placed last where it reads as a qualifier. No padding, though the list of chart factors is jargon-heavy and slightly slows the read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return values need not be re-explained (and the 'explanation trace' note is a bonus). However, for a 10-parameter tool with two mutually exclusive geolocation paths and 30% schema coverage, the description leaves the input contract under-specified for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 30% across 10 parameters, so the description carries a heavy burden, yet it adds meaning only for 'topic' via 'topic-aware'. It says nothing about the anyOf location contract (place vs latitude/longitude/timezone), timezoneOffset fallback, or birthTimeAccuracyMinutes, which are exactly the parameters an agent could get wrong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: 'Calculates a topic-aware Lal Kitab natal prediction and remedy plan', and names the constitutive inputs (fixed houses, friendship/enmity, dormancy, eclipse, birth-period). It carves out a distinct methodology ('without searching the corpus at runtime'), which separates it from the retrieval-oriented siblings, though it never names analyze_lal_kitab or analyze_lal_kitab_remedies directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Annual timing is not implied' is an explicit when-not boundary, and the no-corpus-search clause implicitly routes source lookups elsewhere. But with highly overlapping siblings like analyze_lal_kitab, analyze_lal_kitab_remedies and explore_lal_kitab_sources, no alternative is named and the choice between them 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.
recommend_toolsRecommend which Sahadeva tool(s) to call for a questionARead-onlyIdempotentInspect
Router / planner. Give it the user's natural-language question and optional context flags and it returns a deterministic, ordered call plan — the primary tool, why, the arguments it needs, alternatives and relevant resource URIs — so you know exactly what to call BEFORE calling it. Read-only, makes no astrological claim. Call this first when unsure which of the many tools fits.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| question | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | |
| intent | Yes | |
| safety | Yes | |
| primaryTool | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower. The description adds genuine value beyond them: determinism of the plan, the plan's contents, and the guarantee that it 'makes no astrological claim'. It does not detail latency or failure modes, but for a read-only router this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with 'Router / planner.' and free of filler; each clause carries information (the output plan, the safety note, the call-first rule). Dense but not padded, though the em-dash list of plan contents is slightly long-winded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values needn't be spelled out, yet the description still characterizes the plan usefully. With annotations handling safety and the output schema handling structure, the only real gap is the undocumented nested context flags — an agent can still call the tool with just 'question'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It covers the required 'question' ('natural-language question') and acknowledges 'optional context flags', but never explains the four nested flags (language, hasProfileRef, hasBirthDetails, hasSecondPerson), leaving their semantics entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+role ('Router / planner') and precisely what it returns ('deterministic, ordered call plan — the primary tool, why, the arguments it needs, alternatives and relevant resource URIs'). This immediately distinguishes it from the ~80 analysis/calculation siblings, which none of them are.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the trigger condition: 'Call this first when unsure which of the many tools fits.' Given the enormous sibling set, this routing instruction is exactly the when-to-use guidance an agent needs, and it names no alternative because it is the meta-entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconstruct_worked_exampleReconstruct a local rule worked exampleARead-onlyIdempotentInspect
Lists or deterministically replays a local book-rule fixture, comparing expected matches, exceptions and source locators. Passing validates software consistency only; examples remain unpublishable until independent scan adjudication and review.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| fixtureId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly, idempotent, non-destructive, closed-world), and 'deterministically replays' reinforces idempotency. The description earns credit by adding a genuinely non-obvious behavioral caveat: passing only validates software consistency and examples stay unpublishable until independent scan adjudication and review.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the caveat second, no filler. The dense comparison clause carries real information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description needn't explain return shape, and annotations cover safety. It supplies purpose plus the crucial interpretation of a pass result; the only substantive gap is parameter documentation, which is a moderate omission for a two-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, so the description must compensate and largely does not. 'Lists' faintly implies a limit-style paging behavior and 'local book-rule fixture' loosely gestures at fixtureId, but neither parameter's meaning, format, or defaults are explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Lists or deterministically replays a local book-rule fixture') and even names the compared artifacts (expected matches, exceptions, source locators), so the agent understands the operation. It does not, however, distinguish itself from nearby siblings like validate_rule_spec or list_rule_review_queue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the closing line clarifies that a pass means software consistency, not publishability, which hints at where this fits in a workflow. But it never states when to choose this tool over validate_rule_spec or the review-queue tools, nor any prerequisites for a fixture.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_consultation_outcomeRecord a versioned prediction claim and later outcomeBInspect
Stores one atomic claim and a consent-scoped outcome for descriptive validation without training on narration.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| notes | No | ||
| claimId | Yes | ||
| outcome | Yes | ||
| evidence | No | ||
| tradition | Yes | ||
| claimClass | Yes | ||
| resolvedAt | No | ||
| chartVersion | Yes | ||
| consentScope | Yes | ||
| userSawClaim | No | ||
| outcomeBlinded | No | ||
| rulesetVersion | Yes | ||
| resolutionWindowEnd | No | ||
| resolutionWindowStart | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/non-destructive/non-open-world/non-idempotent profile, so the bar is lowered. The description still adds real behavioral context beyond them: atomicity ('one atomic claim'), consent scoping, and a data-governance guarantee ('without training on narration'). It does not clarify append-vs-overwrite behavior implied by idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, opening on the operative verb. It is efficient, though arguably too terse given the tool's 15-parameter complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes 15 inputs (8 required, nested objects, 2 enums) with zero schema coverage, yet the one-sentence description explains none of them. An output schema exists so return values are covered, but the input surface is far too rich to leave this under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and 0% schema description coverage, the description needs to carry the load but does not. Only two concepts are echoed vaguely ('claim', 'consent-scoped'), leaving the versioning fields (chartVersion, rulesetVersion), windows, blinding flags, and the two enums entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (stores) and resource (one atomic claim plus a consent-scoped outcome) with a stated purpose (descriptive validation). It distinguishes the record type clearly, though it never differentiates itself from close siblings like record_prashna_outcome or build_prediction_journal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use, when-not-to-use, or alternative routing, despite several sibling tools that also record claims/outcomes. The phrase 'for descriptive validation' faintly implies a workflow context but stops short of actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_prashna_outcomeRecord a Prashna outcomeBInspect
Closes the Prashna feedback loop using the private confirmation token returned by calculate_prashna. The token is hashed at rest and is distinct from the consultation ID.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| outcome | Yes | ||
| resolvedAt | No | ||
| confirmationToken | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| status | Yes | |
| recordedAt | Yes | |
| consultationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds real value by noting the token is hashed at rest and distinct from the consultation ID, but it does not disclose the consequences of the non-idempotent flag (e.g. duplicate or re-record behavior) or whether outcomes are mutable after recording.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the action front-loaded and no filler. Efficient, though the second sentence is more about data handling than invocation guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. Still, for a non-idempotent mutation with 0% parameter coverage, the description leaves outcome semantics and repeat-call behavior unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description clarifies the origin and security treatment of confirmationToken, but adds nothing for outcome (an enum of four values), notes, or resolvedAt, leaving three of four parameters entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (closing the Prashna feedback loop, i.e. recording an outcome) tied to a named source tool. It is distinguishable from calculate_prashna and record_consultation_outcome, though it never explicitly contrasts itself with the latter sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the prerequisite (a confirmation token returned by calculate_prashna must exist first), which is genuinely useful context. However, it gives no explicit when-to-use guidance versus record_consultation_outcome or what to do if an outcome is already recorded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rectify_birth_timeRank birth-time hypothesesARead-onlyIdempotentInspect
Scores candidate birth times against life events and validates with a held-out event. Never claims an exact recovered minute.
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| baseInput | Yes | ||
| latestTime | Yes | ||
| stepMinutes | No | ||
| earliestTime | Yes | ||
| holdoutEventId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds genuine behavioral context beyond the annotations: it discloses the held-out validation step and the epistemic limitation that no exact minute is claimed, which materially shapes how results should be interpreted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core function is front-loaded and the caveat follows naturally. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a 6-parameter tool with nested objects and 0% schema coverage, the description leaves the search-window parameters (earliestTime/latestTime/stepMinutes) and baseInput unaddressed, which is a meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description carries the full explanatory burden. It loosely implies 'events' and 'holdoutEventId' via 'life events' and 'held-out event', but earliestTime, latestTime, stepMinutes, and the nested baseInput object are entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource (scores candidate birth times against life events, validates with a held-out event), which is clear and distinctive. However, it does not name or differentiate itself from the closest sibling, simulate_birth_time_uncertainty, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the method described (candidate scoring plus holdout validation), but there is no explicit when-to-use, when-not-to-use, or named alternative. The 'never claims an exact recovered minute' clause hints at a boundary but doesn't route the agent between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_chartRender a shareable birth chartARead-onlyIdempotentInspect
Renders a deterministic birth chart as inline SVG in South Indian (default), North Indian or East Indian style, for the rasi chart or any divisional chart, with the lagna marked, degrees in the rasi chart, and retrograde and combustion flags.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| size | No | ||
| time | Yes | ||
| place | No | ||
| style | No | South Indian (fixed signs), North Indian (fixed houses) or East Indian (Bengal/Odisha) layout | south |
| theme | No | light | |
| varga | No | Divisional chart: D1 (rasi), D9 (navamsa), D10 and so on up to D144 | D1 |
| language | No | en | |
| latitude | No | ||
| timezone | No | ||
| longitude | No | ||
| timezoneOffset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | Yes | |
| style | No | |
| varga | No | |
| format | Yes | |
| safety | Yes | |
| mimeType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral context: output is deterministic and returned as inline SVG, and it discloses what the rendering contains. It omits size/pixel constraints and any note about how coordinates vs place resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and output format first, then the feature list. Dense but no wasted clauses; the only cost is that the stacked qualifiers make it read more like a spec than guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the description usefully names the rendered contents. However, with 13 inputs at 15% coverage it never addresses the anyOf location contract (place or lat/lon/timezone) nor input formats, leaving meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 15% across 13 params, so the description must carry the load. It clarifies style variants and the varga range (D1 rasi through divisional charts), but those are already in the schema, while date/time formats, place vs latitude/longitude/timezone alternative, theme, language, name and size remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (renders) and resource (birth chart) plus the output medium (inline SVG), which cleanly separates it from the analyze_*/calculate_* siblings that produce data rather than a visual. It even enumerates the chart styles and the features baked into the image (lagna, degrees, retrograde/combustion flags).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the visualization step, but the description never says when to render versus call calculate_south_indian_chart or generate_report_pdf, nor any prerequisite (e.g. an already-computed chart). No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_lal_kitab_ruleRecord a Lal Kitab specialist rule reviewCDestructiveInspect
Reviewer-only mutation recording convention version, scan verification, sensitive class, remedy burden and decision.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| ruleId | Yes | ||
| decision | Yes | ||
| reviewerId | Yes | ||
| remedyBurden | No | ||
| scanVerified | Yes | ||
| conventionVersion | Yes | ||
| sensitiveClaimClass | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=false), so the bar is lower. The description adds one genuinely useful piece of context beyond them — that this is reviewer-restricted — but says nothing about reversibility, what state is destroyed, or whether repeated calls overwrite a prior review.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no wasted words, but it is terse to the point of under-specification and reads as a noun-phrase fragment rather than a full instruction. Size is appropriate; content density is too low for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive, reviewer-gated mutation with 8 parameters (6 required), 0% schema description coverage, nested objects, and an output schema. For that complexity the description is drastically incomplete — no auth/permission detail, no side-effect or overwrite semantics, and no guidance on the nested remedyBurden object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It merely enumerates five of the eight field names (conventionVersion, scanVerified, sensitiveClaimClass, remedyBurden, decision) with no format, allowed values, or meaning — e.g. it never explains what 'sensitive class' or 'remedy burden' should contain, and omits ruleId, reviewerId, and notes entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('mutation recording' of a rule review) and a scope constraint ('Reviewer-only'), which sets it apart from the analyze_* siblings. However it is a sentence fragment and never names related siblings such as list_rule_review_queue, validate_rule_spec, or search_reviewed_rules, so differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'Reviewer-only', which hints at eligibility but does not say when to use this tool versus validate_rule_spec or list_rule_review_queue, nor any when-not conditions or prerequisites. Effectively no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_longitudinal_validationMeasure outcome calibration over timeBRead-onlyIdempotentInspect
Produces descriptive calibration from recorded claim outcomes; it never presents the result as scientific validation.
| Name | Required | Description | Default |
|---|---|---|---|
| records | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds a genuine epistemic constraint beyond that: the result is 'descriptive' and must never be framed as scientific validation, which materially shapes how an agent should present output. It does not mention the 1–10,000 record bounds or batch/idempotency implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler, and the core claim plus the epistemic caveat are front-loaded. It is arguably too terse for the structural complexity, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover the safety profile. However, for a tool that ingests up to 10,000 nested outcome records with zero schema documentation, the description leaves the agent without guidance on input shape or scale.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the single 'records' parameter has a non-trivial nested shape (claimId, predictedStatus, outcome enum, recordedAt) plus minItems 1 and maxItems 10000. The description says nothing about the expected record structure, the allowed outcome enum values, or the size constraints, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (produces) and resource (descriptive calibration) with the input source named (recorded claim outcomes). This distinguishes it from the sibling recording tools like record_consultation_outcome and record_prashna_outcome, though it does not explicitly name which sibling to prefer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no reference to alternatives such as get_validation_report, get_synthesis_validation_status, or the record_* tools. Usage is only implied by the name and the mention of 'recorded claim outcomes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_locationsFind a chart locationARead-onlyIdempotentInspect
Searches Sahadeva's deterministic local catalogue and geographic index. It never invokes another AI model. If no result exists, the MCP host should resolve the place with its own capabilities and pass coordinates to the chart tool.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| status | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, destructiveHint=false, idempotentHint, openWorldHint), so the description's extra value is the determinism guarantee — it is a local index, never invokes another AI model — plus the empty-result fallback protocol. That is additive behavioral context beyond the annotations, though it says nothing about result richness or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then the determinism claim, then the fallback. The 'never invokes another AI model' line is short and carries real signal. Nothing is padded, though it is slightly more about system guarantees than about how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the fallback path is documented. Still missing are the parameter contract, expected query format, and whether results are ranked — gaps the 0% schema coverage leaves unfilled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the two parameters. An agent gets no guidance on what 'query' should contain (place name vs. free text), the minLength=2 constraint, or what 'limit' (default 8, max 20) controls. With zero coverage the description had to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('searches Sahadeva's deterministic local catalogue and geographic index'), which clearly separates it from the analyze_*/calculate_* astrology siblings. It never explicitly says it returns place coordinates for chart calculation, though the fallback sentence implies it. Clear, but one step short of naming the delivered artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a real usage rule: try this first, and if it yields nothing, the MCP host should resolve the place with its own capabilities and pass coordinates to the chart tool. That fallback is genuinely actionable. It stops short of naming the downstream sibling (e.g. calculate_chart_from_known_place) that consumes the coordinates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reviewed_rulesSearch independently approved rulesBRead-onlyIdempotentInspect
Returns only publication-gated rules and rights-safe source metadata. Drafts and open contradictions are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| topic | No | ||
| harmClass | No | ||
| tradition | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds genuine behavioral value by disclosing the inclusion/exclusion filter (publication-gated only; drafts and open contradictions omitted), but says nothing about ordering, pagination, or what 'publication-gated' operationally means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the scoping constraint front-loaded and no wasted text. Efficient, though extremely terse for a five-parameter search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values need not be explained, and annotations carry the safety profile. Still, for a 5-param search tool with 0% schema coverage, the description omits all parameter guidance and explicit usage routing, leaving gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters (limit, query, topic, harmClass, tradition) have 0% schema description coverage, and the description mentions none of them or their semantics. With low coverage the description must compensate, but it adds no filtering syntax, value guidance, or interaction between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (publication-gated rules and rights-safe source metadata) with an explicit scope limitation, and the exclusion of drafts/open contradictions distinguishes it from list_rule_review_queue. However, the verb is only implied via 'Returns' rather than a clear search action, and no sibling is named directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: by excluding drafts and open contradictions, it hints that list_rule_review_queue is the tool for those cases, but no explicit when-to-use or alternative is stated. The agent must infer routing from the exclusion clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_source_passagesSearch source passages with rights controlsBRead-onlyIdempotentInspect
Searches passage metadata and returns text only when display rights permit it. Results never become executable rules automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| tradition | No | ||
| reviewStatus | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds genuinely useful behavior beyond them: text is gated by display rights, and results are inert rather than executable rules. It still doesn't say what is returned when rights do not permit display.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the verb and the rights constraint; no filler. It is efficient, though the second sentence is a caveat rather than operational guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. However, with four parameters at 0% description coverage, an agent cannot tell how tradition or reviewStatus filter results, leaving a real gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for query, limit, tradition, and reviewStatus — and it explains none of them. No format, allowed values, or filtering semantics for tradition/reviewStatus are given anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Searches passage metadata') and a conditional return behavior, and implicitly separates itself from rule-lookup tools by stating results never become executable rules. It does not name any sibling explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, no prerequisites. The clause about results not becoming executable rules hints at a review workflow (search_reviewed_rules, validate_rule_spec) but never tells the agent which tool to pick for which need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_birth_time_uncertaintySimulate birth-time uncertaintyARead-onlyIdempotentInspect
Samples the declared birth-time interval and reports Lagna, Moon-pada and Navamsa-Lagna boundary changes. This is not rectification.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | Yes | ||
| language | No | en | |
| latitude | Yes | ||
| timezone | No | ||
| longitude | Yes | ||
| timezoneOffset | Yes | ||
| birthTimeAccuracyMinutes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | Yes | |
| samples | Yes | |
| stability | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that the operation samples an interval and detects boundary changes for specific divisions, but says nothing about sampling density, determinism of the sample set, or output size. Adequate but thin beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and outputs, followed by a high-value disambiguation. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. Still, for a 10-parameter tool with 0% schema coverage, the description leaves most inputs unexplained, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters, so the description must compensate and largely does not. Only 'declared birth-time interval' loosely maps to birthTimeAccuracyMinutes; the required date, time, place, latitude, longitude and timezoneOffset parameters, plus the language enum, get no explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Samples the declared birth-time interval') and names the exact outputs it produces (Lagna, Moon-pada, Navamsa-Lagna boundary changes). It also explicitly distinguishes itself from the sibling rectify_birth_time ('This is not rectification'), so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'This is not rectification' is an explicit exclusion that steers the agent away from rectify_birth_time, which is valuable routing guidance. However, it never states the positive when-to-use condition (e.g. to gauge chart sensitivity to an uncertain birth time) or any prerequisites, so one inference step remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_safe_practiceSuggest belief-compatible remediesBRead-onlyIdempotentInspect
Builds a remedy protocol from the evidence ledger and user preferences, with the full planet repertoire (mantra, stotra, gemstone, daana, vrata, rudraksha, yantra) and the Lal Kitab book remedies. It can return no-remedy-needed and does not claim causality.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| topic | Yes | ||
| detail | No | brief omits internal audit sections; full returns the complete protocol | brief |
| language | No | en | |
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| preferences | Yes | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read with no open-world access. The description adds real behavioral context beyond that: it discloses that the output may legitimately be empty ('can return no-remedy-needed') and that it makes no causal claim, both of which shape how an agent should interpret 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and followed by the repertoire and the two behavioral caveats. No filler, though the parenthetical remedy list is dense and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, and annotations carry the safety profile. However, for a 12-parameter tool with a nested preferences object and 33% schema coverage, the description leaves the input contract largely unexplained, which is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 12 parameters (including a nested preferences object), so the description must compensate. It alludes to 'user preferences' and implicitly to topic via 'remedy protocol', but gives no meaning for date, time, place, coordinates, language, detail, or the required preference fields, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Builds a remedy protocol from the evidence ledger and user preferences') and enumerates the remedy repertoire it can draw on. It is clear about what the tool produces, but it never names or distinguishes itself from close siblings such as analyze_remedies, build_remedy_repertoire, or analyze_lal_kitab_remedies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives, despite several sibling tools that also deal with remedies. The only signals ('can return no-remedy-needed', 'does not claim causality') describe behavior, not the conditions under which an agent should select this tool over analyze_remedies or build_remedy_repertoire.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_rule_specValidate and replay a structured Jyotisha ruleARead-onlyIdempotentInspect
Reviewer/developer tool. Validates the typed rule DSL and replays a proposed rule, including exceptions and harm/review publication gates, against a deterministic chart. It does not approve or publish the rule.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| name | No | ||
| rule | Yes | ||
| time | Yes | ||
| place | No | Catalogue query or display label when explicit coordinates are supplied | |
| asOfDate | No | ||
| latitude | No | ||
| timezone | No | Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata | |
| longitude | No | ||
| timezoneOffset | No | Optional fallback offset; derived from timezone and the requested local date when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/non-open-world, yet the description adds meaningful context: it replays against a deterministic chart, covers exceptions and harm/review publication gates, and explicitly does not approve or publish. That clarifies the gate semantics beyond the safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the audience and purpose, then the replay scope, then the negative boundary. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations carry the safety profile, but for a 10-param tool with a nested rule object and low schema coverage the description leaves parameter usage under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 10 parameters and only 30% schema description coverage, the description should explain the rule payload and chart-location inputs, but it names no parameters at all. The complex nested 'rule' object and the place-vs-coordinates anyOf are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs (validates, replays) and the resource (typed rule DSL, proposed rule) and scopes to a deterministic chart. It clearly separates this from review-queue or citation siblings, though it doesn't name a specific alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Reviewer/developer tool' implies the audience and 'does not approve or publish' draws one boundary, but there is no explicit when-to-use guidance or naming of alternatives like review_lal_kitab_rule or list_rule_review_queue.
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 tool update
- Added
get_remedy_catalog
2 tool updates
- Changed
generate_report_pdf1 field changed- added
Input schema / properties / chartStyleAdded value: +{ + "default": "south", + "description": "Layout of the birth chart printed on the first page", + "enum": [ + "south", + "north", + "east" + ], + "type": "string" +}
- Changed
render_chart6 fields changed- added
Input schema / properties / languageAdded value: +{ + "default": "en", + "enum": [ + "en", + "te" + ], + "type": "string" +} - added
Input schema / properties / styleAdded value: +{ + "default": "south", + "description": "South Indian (fixed signs), North Indian (fixed houses) or East Indian (Bengal/Odisha) layout", + "enum": [ + "south", + "north", + "east" + ], + "type": "string" +} - added
Input schema / properties / themeAdded value: +{ + "default": "light", + "enum": [ + "light", + "dark" + ], + "type": "string" +} - added
Input schema / properties / vargaAdded value: +{ + "default": "D1", + "description": "Divisional chart: D1 (rasi), D9 (navamsa), D10 and so on up to D144", + "type": "string" +} - added
Output schema / properties / styleAdded value: +{ + "enum": [ + "south", + "north", + "east" + ], + "type": "string" +} - added
Output schema / properties / vargaAdded value: +{ + "type": "string" +}
23 tool updates
- Changed
analyze_arudha_and_upapada4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
analyze_badhaka4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
analyze_lal_kitab_remedies1 field changed- changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "mode", - "placements", - "matchedCandidateCount", - "catalogCoverage", - "publication", - "nextGate" -]New value: +[ + "schemaVersion", + "mode", + "placements", + "matchedCandidateCount", + "catalogCoverage", + "publication", + "notice" +]
- Changed
analyze_marriage_structure1 field changed- added
Input schema / properties / currentPlaceAdded value: +{ + "description": "Where the person lives now, as they said it (for example 'Bangalore'). Directions are given relative to it. Never pass the birthplace in its place.", + "type": "string" +}
- Added
analyze_special_points - Changed
analyze_transit_activation4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Added
analyze_transits - Changed
analyze_varga5 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted" - changed
Input schema / properties / varga / enumPrevious value: -[ - "D1", - "D2", - "D3", - "D4", - "D7", - "D9", - "D10", - "D12", - "D16", - "D20", - "D24", - "D27", - "D30", - "D40", - "D45", - "D60" -]New value: +[ + "D1", + "D2", + "D3", + "D4", + "D7", + "D9", + "D10", + "D12", + "D16", + "D20", + "D24", + "D27", + "D30", + "D40", + "D45", + "D60", + "D5", + "D6", + "D8", + "D81", + "D108", + "D144" +]
- Changed
analyze_yogas6 fields changed- added
Input schema / properties / asOfIsoAdded value: +{ + "description": "ISO date-time for the dasha activation windows; defaults to now", + "type": "string" +} - added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted" - changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "detected", - "notDetected", - "notice" -]New value: +[ + "schemaVersion", + "counts", + "formed", + "notFormed", + "notice" +]
- Changed
audit_reading_evidence4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
build_prediction_journal1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "required": [ + "schemaVersion", + "subject", + "claims", + "method", + "notice" + ], + "type": "object" +}
- Changed
build_remedy_repertoire4 fields changed- changed
Input schema / properties / options / properties / allowFasting / defaultPrevious value: -falseNew value: +true - changed
Input schema / properties / options / properties / allowGemstones / defaultPrevious value: -falseNew value: +true - changed
Input schema / properties / options / properties / allowMantras / defaultPrevious value: -falseNew value: +true - removed
Input schema / properties / options / properties / healthScreenedForFastingRemoved value: -{ - "default": false, - "type": "boolean" -}
- Changed
calculate_ashtakavarga4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
calculate_dasha_system6 fields changed- added
Input schema / properties / asOfIso / descriptionAdded value: +"ISO date-time whose running period is reported" - added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / detailAdded value: +{ + "description": "focused (default) keeps sub-periods only around asOfIso", + "enum": [ + "focused", + "full" + ], + "type": "string" +} - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
calculate_prashna4 fields changed- changed
Input schema / properties / category / enumPrevious value: -[ - "career", - "relationship", - "money", - "property", - "travel", - "lost-object", - "general" -]New value: +[ + "career", + "relationship", + "money", + "property", + "travel", + "lost-object", + "health", + "education", + "litigation", + "children", + "missing-person", + "general" +] - added
Input schema / properties / referenceHouseAdded value: +{ + "default": 1, + "description": "House of the person the question concerns (1 = the querent, 7 = spouse or other party, 10 = employer)", + "maximum": 12, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / seedNumberAdded value: +{ + "description": "KP horary number chosen by the person asking; enables KP/Nadi results and Reader VI promotion and job timing", + "maximum": 249, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / traditionAdded value: +{ + "default": "integrated", + "description": "integrated compares traditions; prashna-nadi is KP/Nadi and requires seedNumber", + "enum": [ + "integrated", + "classical", + "tajaka", + "systems-approach", + "prashna-nadi" + ], + "type": "string" +}
- Changed
calculate_strength_profile4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Birth date YYYY-MM-DD (1800–2050)" - added
Input schema / properties / date / patternAdded value: +"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / name / descriptionAdded value: +"Person's name or a label" - added
Input schema / properties / time / descriptionAdded value: +"Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
- Changed
calculate_varshaphal3 fields changed- added
Output schema / properties / conventionsAdded value: +{ + "type": "array" +} - changed
Output schema / properties / schemaVersion / constPrevious value: -"sahadeva-varshaphal-1"New value: +"sahadeva-varshaphal-2" - added
Output schema / properties / sourcesAdded value: +{ + "type": "array" +}
- Changed
compare_family_timing1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "required": [ + "schemaVersion", + "asOfIso", + "endIso", + "people", + "sharedSaturnPressure" + ], + "type": "object" +}
- Changed
consult_jyotishya1 field changed- changed
Input schema / properties / remedyPreferences / descriptionPrevious value: -"Optional explicit consent and burden preferences. Without these, personalized traditional remedies remain withheld."New value: +"Optional practice preferences. Prayer and charity can be turned off; every other remedy family is always included."
- Changed
generate_full_life_report11 fields changed- added
Input schema / anyOfAdded value: +[ + { + "required": [ + "place" + ] + }, + { + "required": [ + "latitude", + "longitude", + "timezone" + ] + } +] - added
Input schema / properties / latitude / maximumAdded value: +90 - added
Input schema / properties / latitude / minimumAdded value: +-90 - added
Input schema / properties / longitude / maximumAdded value: +180 - added
Input schema / properties / longitude / minimumAdded value: +-180 - added
Input schema / properties / place / descriptionAdded value: +"Catalogue query or display label when explicit coordinates are supplied" - added
Input schema / properties / timezone / descriptionAdded value: +"Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata" - added
Input schema / properties / timezoneOffset / descriptionAdded value: +"Optional fallback offset; derived from timezone and the requested local date when omitted" - added
Input schema / properties / timezoneOffset / maximumAdded value: +14 - added
Input schema / properties / timezoneOffset / minimumAdded value: +-14 - changed
Input schema / requiredPrevious value: -[ - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time" +]
- Changed
get_full_life_report_section12 fields changed- added
Input schema / anyOfAdded value: +[ + { + "required": [ + "place" + ] + }, + { + "required": [ + "latitude", + "longitude", + "timezone" + ] + } +] - added
Input schema / properties / latitude / maximumAdded value: +90 - added
Input schema / properties / latitude / minimumAdded value: +-90 - added
Input schema / properties / longitude / maximumAdded value: +180 - added
Input schema / properties / longitude / minimumAdded value: +-180 - added
Input schema / properties / place / descriptionAdded value: +"Catalogue query or display label when explicit coordinates are supplied" - changed
Input schema / properties / section / enumPrevious value: -[ - "summary", - "life-areas", - "placements", - "strengths", - "vargas", - "aspects", - "ashtakavarga", - "synthesis", - "timing", - "uncertainty", - "evidence", - "citations" -]New value: +[ + "summary", + "life-areas", + "placements", + "strengths", + "vargas", + "aspects", + "ashtakavarga", + "synthesis", + "timing", + "uncertainty", + "evidence", + "citations", + "yogas", + "special-points", + "transits" +] - added
Input schema / properties / timezone / descriptionAdded value: +"Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata" - added
Input schema / properties / timezoneOffset / descriptionAdded value: +"Optional fallback offset; derived from timezone and the requested local date when omitted" - added
Input schema / properties / timezoneOffset / maximumAdded value: +14 - added
Input schema / properties / timezoneOffset / minimumAdded value: +-14 - changed
Input schema / requiredPrevious value: -[ - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "section" -]New value: +[ + "date", + "time", + "section" +]
- Changed
get_full_reading_context11 fields changed- added
Input schema / anyOfAdded value: +[ + { + "required": [ + "place" + ] + }, + { + "required": [ + "latitude", + "longitude", + "timezone" + ] + } +] - added
Input schema / properties / latitude / maximumAdded value: +90 - added
Input schema / properties / latitude / minimumAdded value: +-90 - added
Input schema / properties / longitude / maximumAdded value: +180 - added
Input schema / properties / longitude / minimumAdded value: +-180 - added
Input schema / properties / place / descriptionAdded value: +"Catalogue query or display label when explicit coordinates are supplied" - added
Input schema / properties / timezone / descriptionAdded value: +"Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata" - added
Input schema / properties / timezoneOffset / descriptionAdded value: +"Optional fallback offset; derived from timezone and the requested local date when omitted" - added
Input schema / properties / timezoneOffset / maximumAdded value: +14 - added
Input schema / properties / timezoneOffset / minimumAdded value: +-14 - changed
Input schema / requiredPrevious value: -[ - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time" +]
- Changed
prepare_consultation_intake1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "required": [ + "schemaVersion", + "status", + "refinedQuestion", + "birthDataFitness" + ], + "type": "object" +}
5 tool updates
- Added
analyze_name - Changed
analyze_remedies1 field changed- changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "diagnosis", - "chartDiagnosis", - "remedyFamilyEligibility", - "eligiblePractices", - "traditionalChartRemedies", - "traditionalRemedyStatus", - "sourceCoverage", - "decisionTrace", - "contraindications", - "followUp" -]New value: +[ + "schemaVersion", + "diagnosis", + "eligiblePractices", + "traditionalChartRemedies", + "traditionalRemedyStatus", + "contraindications", + "followUp" +]
- Changed
calculate_south_indian_chart3 fields changed- removed
Output schema / properties / dashasRemoved value: -{ - "type": "object" -} - added
Output schema / properties / vimshottariAdded value: +{ + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "input", - "placements", - "panchanga", - "dashas", - "advanced", - "engine" -]New value: +[ + "input", + "placements", + "panchanga", + "vimshottari", + "advanced", + "engine" +]
- Changed
consult_jyotishya1 field changed- changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "subject", - "anchors", - "priorities", - "currentTiming", - "futureTiming", - "confidence", - "safety" -]New value: +[ + "schemaVersion", + "subject", + "anchors", + "priorities", + "currentTiming", + "confidence", + "safety" +]
- Changed
suggest_safe_practice1 field changed- changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "diagnosis", - "outcome", - "preferences", - "remedyFamilyEligibility", - "eligiblePractices", - "traditionalChartRemedies", - "contraindications", - "followUp" -]New value: +[ + "schemaVersion", + "diagnosis", + "outcome", + "preferences", + "eligiblePractices", + "traditionalChartRemedies", + "contraindications", + "followUp" +]
62 tool updates
- Changed
analyze_arudha_and_upapada1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_badhaka1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_career_structure1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_chart_topic1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic" -]New value: +[ + "date", + "time", + "topic" +]
- Changed
analyze_education_structure1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_finance_structure1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_house1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "house" -]New value: +[ + "date", + "time", + "house" +]
- Changed
analyze_lal_kitab1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_lal_kitab_remedies1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_marriage_structure1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_nakshatra_profile1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_property_and_vehicle1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_remedies3 fields changed- added
Input schema / properties / detailAdded value: +{ + "default": "brief", + "description": "brief omits internal audit sections; full returns the complete protocol", + "enum": [ + "brief", + "full" + ], + "type": "string" +} - added
Input schema / properties / languageAdded value: +{ + "default": "en", + "enum": [ + "en", + "te" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic", - "preferences" -]New value: +[ + "date", + "time", + "topic", + "preferences" +]
- Changed
analyze_spiritual_path1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
analyze_transit_activation1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic", - "asOfIso", - "startIso", - "endIso" -]New value: +[ + "date", + "time", + "topic", + "asOfIso", + "startIso", + "endIso" +]
- Changed
analyze_varga1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "varga" -]New value: +[ + "date", + "time", + "varga" +]
- Changed
analyze_yogas1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
audit_chart_calculation1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
audit_reading_evidence1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "text" -]New value: +[ + "date", + "time", + "text" +]
- Changed
build_claim_evidence_ledger1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Added
build_prediction_journal - Changed
build_remedy_repertoire1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
build_slow_transit_calendar1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "startDate" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset", + "startDate" +]
- Changed
calculate_ashtakavarga1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_ayanamsa_chart1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "ayanamsa" -]New value: +[ + "date", + "time", + "ayanamsa" +]
- Changed
calculate_chart_from_known_place1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place" -]New value: +[ + "date", + "time", + "place" +]
- Changed
calculate_compatibility2 fields changed- changed
Input schema / properties / bride / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +] - changed
Input schema / properties / groom / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_dasha_system1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "system", - "asOfIso" -]New value: +[ + "date", + "time", + "system", + "asOfIso" +]
- Changed
calculate_devata_profile1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_doshas1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_jaimini1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_kp1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_relationship_compatibility2 fields changed- changed
Input schema / properties / personA / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +] - changed
Input schema / properties / personB / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_south_indian_chart1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset" +]
- Changed
calculate_strength_profile1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
calculate_varshaphal1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "targetYear" -]New value: +[ + "date", + "time", + "targetYear" +]
- Changed
compare_conventions1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic" -]New value: +[ + "date", + "time", + "topic" +]
- Added
compare_family_timing - Changed
consult_jyotishya1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
detect_life_themes1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "startDate", - "endDate" -]New value: +[ + "date", + "time", + "startDate", + "endDate" +]
- Changed
find_marriage_windows1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "startDate" -]New value: +[ + "date", + "time", + "startDate" +]
- Changed
find_muhurta1 field changed- changed
Input schema / properties / natal / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
find_muhurta_with_natal_fit1 field changed- changed
Input schema / properties / natal / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
fuse_timing1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic", - "startIso", - "endIso" -]New value: +[ + "date", + "time", + "topic", + "startIso", + "endIso" +]
- Changed
generate_full_life_report1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset" +]
- Changed
generate_report_pdf1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
get_compact_chart_evidence1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset" +]
- Changed
get_depth_analysis1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic" -]New value: +[ + "date", + "time", + "topic" +]
- Changed
get_full_life_report_section1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "section" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset", + "section" +]
- Changed
get_full_reading_context1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset" +]
- Changed
get_marriage_readiness2 fields changed- changed
Input schema / properties / bride / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +] - changed
Input schema / properties / groom / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
get_natal_panchanga1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
get_panchanga1 field changed- changed
Input schema / properties / natal / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
get_planetary_relationship_graph1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
get_timing_context1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "queryDate" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset", + "queryDate" +]
- Added
prepare_consultation_intake - Changed
query_vimshottari_date1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "queryDate" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset", + "queryDate" +]
- Changed
reason_lal_kitab1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
render_chart1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time" -]New value: +[ + "date", + "time" +]
- Changed
simulate_birth_time_uncertainty1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "place", - "latitude", - "longitude", - "timezoneOffset", - "birthTimeAccuracyMinutes" -]New value: +[ + "date", + "time", + "place", + "latitude", + "longitude", + "timezoneOffset", + "birthTimeAccuracyMinutes" +]
- Changed
suggest_safe_practice3 fields changed- added
Input schema / properties / detailAdded value: +{ + "default": "brief", + "description": "brief omits internal audit sections; full returns the complete protocol", + "enum": [ + "brief", + "full" + ], + "type": "string" +} - added
Input schema / properties / languageAdded value: +{ + "default": "en", + "enum": [ + "en", + "te" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "topic", - "preferences" -]New value: +[ + "date", + "time", + "topic", + "preferences" +]
- Changed
validate_rule_spec1 field changed- changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "time", - "rule" -]New value: +[ + "date", + "time", + "rule" +]
47 tool updates
- Added
analyze_badhaka - Changed
analyze_career_structure1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_chart_topic1 field changed- changed
Input schema / properties / topic / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_education_structure1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_finance_structure1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Added
analyze_lal_kitab_remedies - Changed
analyze_marriage_structure1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_nakshatra_profile1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_property_and_vehicle1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_remedies1 field changed- changed
Input schema / properties / topic / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
analyze_spiritual_path1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
build_claim_evidence_ledger1 field changed- changed
Input schema / properties / topics / items / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Added
build_remedy_repertoire - Added
build_slow_transit_calendar - Added
calculate_ayanamsa_chart - Added
calculate_chart_from_known_place - Added
calculate_gochara - Added
calculate_ingress_timeline - Added
calculate_jaimini - Added
calculate_kp - Added
calculate_relationship_compatibility - Added
calculate_south_indian_chart - Added
calculate_varshaphal - Changed
compare_conventions1 field changed- changed
Input schema / properties / topic / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Changed
consult_jyotishya1 field changed- changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "subject", - "anchors", - "priorities", - "currentTiming", - "confidence", - "safety" -]New value: +[ + "schemaVersion", + "subject", + "anchors", + "priorities", + "currentTiming", + "futureTiming", + "confidence", + "safety" +]
- Added
describe_methodology - Added
detect_life_themes - Added
explore_lal_kitab_remedy_catalog - Added
find_elected_lagna - Changed
generate_full_life_report1 field changed- added
Output schema / properties / futureTimingAdded value: +{ + "type": "object" +}
- Added
get_compact_chart_evidence - Added
get_full_reading_context - Added
get_planetary_relationship_graph - Added
get_rule_citations - Added
get_synthesis_validation_status - Added
get_timing_context - Added
knowledge_status - Added
list_rule_review_queue - Added
query_vimshottari_date - Added
reason_lal_kitab - Added
recommend_tools - Added
reconstruct_worked_example - Added
review_lal_kitab_rule - Added
run_longitudinal_validation - Added
simulate_birth_time_uncertainty - Changed
suggest_safe_practice1 field changed- changed
Input schema / properties / topic / enumPrevious value: -[ - "career", - "education", - "property", - "relationships", - "spirituality", - "wealth" -]New value: +[ + "career", + "education", + "property", + "relationships", + "spirituality", + "wealth", + "health", + "children" +]
- Added
validate_rule_spec
54 tool updates
- First observed
analyze_arudha_and_upapada - First observed
analyze_career_structure - First observed
analyze_chart_topic - First observed
analyze_education_structure - First observed
analyze_finance_structure - First observed
analyze_house - First observed
analyze_lal_kitab - First observed
analyze_marriage_structure - First observed
analyze_nakshatra_profile - First observed
analyze_property_and_vehicle - First observed
analyze_remedies - First observed
analyze_spiritual_path - First observed
analyze_transit_activation - First observed
analyze_varga - First observed
analyze_yogas - First observed
assess_prediction_readiness - First observed
audit_chart_calculation - First observed
audit_prediction_claim - First observed
audit_reading_evidence - First observed
build_claim_evidence_ledger - First observed
calculate_ashtakavarga - First observed
calculate_compatibility - First observed
calculate_dasha_system - First observed
calculate_devata_profile - First observed
calculate_doshas - First observed
calculate_gochara_from_known_place - First observed
calculate_prashna - First observed
calculate_strength_profile - First observed
compare_conventions - First observed
compare_reading_versions - First observed
compare_traditions - First observed
consult_jyotishya - First observed
explain_chart_sources - First observed
explore_lal_kitab_sources - First observed
find_marriage_windows - First observed
find_muhurta - First observed
find_muhurta_with_natal_fit - First observed
fuse_timing - First observed
generate_full_life_report - First observed
generate_report_pdf - First observed
get_depth_analysis - First observed
get_full_life_report_section - First observed
get_marriage_readiness - First observed
get_natal_panchanga - First observed
get_panchanga - First observed
get_validation_report - First observed
record_consultation_outcome - First observed
record_prashna_outcome - First observed
rectify_birth_time - First observed
render_chart - First observed
search_locations - First observed
search_reviewed_rules - First observed
search_source_passages - First observed
suggest_safe_practice
Related MCP Connectors
Vedic astrology (Jyotish): birth charts, divisional charts, dashas, yogas, transits, panchang
Free Vedic astrology: panchang, kundali, transits, matching, doshas, eclipses, numerology
Vedic astrology from a real ephemeris: birth chart, life-event timing and Kundli matching.
Vargas, dashas, panchang, shadbala, yogas, doshas, jaimini and the rest of the Jyotish suite.
Related MCP Servers
- AlicenseAqualityCmaintenanceHosted Streamable HTTP MCP server for Vedic astrology: panchang, kundali (birth chart), matchmaking, dashas, doshas, muhurta and 16 tools computed by a precision astronomy engine.1720 npmMIT
- FlicenseNot gradedqualityDmaintenanceWorld's first Vedic Astrology MCP Server — connect Claude, ChatGPT, Cursor, or any AI to real Vedic astrology. Provides horoscope predictions, compatibility matching, numerology, planetary positions, yogas and house analysis via MCP.11-
- FlicenseNot gradedqualityCmaintenanceMCP server for Indian astrology (Jyotisha) that provides deterministic Lahiri sidereal calculations, question-aware natal context, Vimshottari dasha, and current gochara, enabling natural language conversations about astrology with saved birth profiles.-
- AlicenseNot gradedqualityBmaintenanceVedic astrology MCP server that computes birth charts, dashas, transits, and ashtakavarga using Swiss ephemerides, enabling Claude to provide astrological interpretations.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.