mcp-indian-astrology
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-indian-astrologyWhat's today's Panchang for Delhi?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ Divine API โ Indian Astrology MCP Server
The official Model Context Protocol (MCP) server for Divine API's Indian/Vedic Astrology services.
Connect your AI assistant (Claude, Cursor, VS Code Copilot, etc.) to the power of Vedic astrology โ Panchang, Kundli, Matchmaking, Festivals, and more โ all through natural language.
โจ What Can It Do?
Just chat naturally with your AI assistant:
You say... | The MCP calls... |
"What's today's Panchang for Delhi?" |
|
"Generate my Kundli โ born March 15, 1990, 2:30 PM, Mumbai" |
|
"Am I Manglik?" |
|
"Match Kundli for Rahul and Simran" |
|
"What festivals are in Kartik month 2025?" |
|
"Show me the Navamsha (D9) chart" |
|
"What gemstone should I wear?" |
|
"Is Sadhe Sati active for me?" |
|
Related MCP server: StarMeet MCP Server
๐ Quick Start
1. Get Your API Credentials
Sign up at divineapi.com and get your:
API Key โ from divineapi.com/api-keys
Auth Token (Bearer Token) โ from your profile page
You get a 7-day free trial โ no charges until you decide to continue.
2. Install
pip install divineapi-indian-astrology-mcpOr with uv (recommended):
uv pip install divineapi-indian-astrology-mcp3. Configure Your AI Client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"divine-indian-astrology": {
"command": "python",
"args": ["-m", "divineapi_indian_astrology_mcp"],
"env": {
"DIVINE_API_KEY": "your-api-key-here",
"DIVINE_AUTH_TOKEN": "your-bearer-token-here"
}
}
}
}Cursor / VS Code
Add to your MCP settings:
{
"divine-indian-astrology": {
"command": "python",
"args": ["-m", "divineapi_indian_astrology_mcp"],
"env": {
"DIVINE_API_KEY": "your-api-key-here",
"DIVINE_AUTH_TOKEN": "your-bearer-token-here"
}
}
}Claude Code
claude mcp add divine-indian-astrology \
-e DIVINE_API_KEY=your-api-key-here \
-e DIVINE_AUTH_TOKEN=your-bearer-token-here \
-- python -m divineapi_indian_astrology_mcp4. Restart your AI client and start chatting!
๐ Available Tools (128 Total)
๐๏ธ Panchang (Daily Vedic Calendar) โ 6 Tools
Tool | Description |
| Get the complete daily Panchang for a given date and location |
| Get tithi (lunar day) details for a given date and location |
| Get nakshatra (lunar mansion) details for a given date and location |
| Get karana details for a given date and location |
| Get Surya (Sun) Nakshatra details for a given date and location |
| Get yoga (Sun-Moon angular relationship) for a given date and location |
๐๏ธ Panchang Extended โ 7 Tools
Tool | Description |
| Get Choghadiya (auspicious time slots) for a given date and location |
| Get Nivas and Shool (directional inauspicious timings) for a date and location |
| Get Ritu (season) and Anaya details for a given date and location |
| Get Samvat (Hindu calendar year) details for a given date and location |
| Get Chandrabalam and Tarabalam for a given date and location |
| Get dates in other calendar systems and epoch values for a given date |
| Get sun and moon rise/set timings for a given date and location |
โฐ Timings (Muhurat & Gowri Panchangam) โ 3 Tools
Tool | Description |
| Get auspicious timings (shubh muhurat) for a given date and location |
| Get inauspicious timings for a given date and location |
| Get the Gowri Panchangam for a given date and location |
๐๏ธ Muhurat Finder - 9 Tools
Tool | Description |
| Get the Marriage Muhurat (auspicious wedding dates) for a given month and location |
| Get the Griha Pravesh (house-entering) Muhurat for a given month and location |
| Get the Vehicle Purchase Muhurat for a given month and location |
| Get the Property Purchase Muhurat for a given month and location |
| Get the Business Start Muhurat for a given month and location |
| Get the Foundation Laying (Bhoomi Pujan) Muhurat for a given month and location |
| Get the Do Ghati Muhurat for a given date and location |
| Get the Hora (planetary hour) timings for a given date and location |
| Get the Jain Pachakkhan timings for a given date and location |
๐ฎ Kundli (Birth Chart) Basics โ 9 Tools
Tool | Description |
| Get basic astrological details for a person based on their birth data |
| Get planetary positions in the birth chart (Kundli) |
| Generate a Vedic horoscope chart (Kundli diagram) as SVG and image |
| Get Bhava Kundli (house-based chart) for a given bhava chart number |
| Get detailed analysis of one planet in the birth chart |
| Get a detailed report based on the ascendant (Lagna) sign |
| Get Uday Lagna (rising sign) timings for a given date and location |
| Get Chandramasa (Hindu lunar month) details for a given date and location |
| Get Chandrashtama periods for a given month and location |
โ ๏ธ Doshas โ 4 Tools
Tool | Description |
| Check for Manglik Dosha (Mangal Dosha / Kuja Dosha) in the birth chart |
| Check for Kaal Sarpa Yoga in the birth chart |
| Check for Pitra Dosha (ancestral affliction) in the birth chart |
| Check Sadhe Sati (Saturn transit) status for the person |
๐ช Dasha Systems โ 6 Tools
Tool | Description |
| Get Vimshottari Dasha periods for a birth chart at the requested granularity |
| Get textual interpretation of a Maha Dasha period (no birth data needed) |
| Get textual interpretation of an Antar Dasha (MahaโAntar) period |
| Get textual interpretation of a Pratyantar Dasha (MahaโAntarโPratyantar) period |
| Get Yogini Dasha periods for a birth chart |
| Get Kaal Chakra Dasha periods for a birth chart |
๐ช Yogas & Strengths โ 8 Tools
Tool | Description |
| Get all yogas (planetary combinations) present in the birth chart |
| Get Nav Pancham Yoga compatibility analysis between two charts |
| Get Shadbala (six-fold planetary strength) for a birth chart |
| Get composite (Panchda) friendship table for all planets |
| Get Ghata Chakra (adverse combinations) for a birth chart |
| Get Sudarshana Chakra for a birth chart |
| Check Panchak status for a given date and location |
| Get gemstone recommendations based on the birth chart |
๐ Ashtakvarga โ 3 Tools
Tool | Description |
| Get Bhinnashtakvarga (individual Ashtakvarga) tables for all planets |
| Get Prasthara Chakra (expanded Ashtakvarga) for a birth chart |
| Get Sarvashtakavarga (combined Ashtakvarga) for a specific chart |
๐ Sub Planets (Upagrahas) โ 2 Tools
Tool | Description |
| Get sub-planet (Upagraha) positions for a birth chart |
| Generate a sub-planet (Upagraha) chart as SVG and image |
๐ Jaimini Astrology โ 4 Tools
Tool | Description |
| Get Jaimini Chara Dasha periods for a birth chart |
| Get Karakamsha Lagna from Jaimini astrology for a birth chart |
| Get Jaimini Padas (Arudha Padas) for all houses in a birth chart |
| Get Jaimini-specific planetary positions and karakas |
๐ฏ KP (Krishnamurti Paddhati) โ 5 Tools
Tool | Description |
| Get KP Cuspal Sub Lords for all house cusps |
| Get KP Planetary Sub Lords for all planets |
| Get KP Planetary-Cuspal Significator Table |
| Get KP Cuspal chart data for a birth chart |
| Get KP Planetary Positions for a birth chart |
๐ Transits โ 6 Tools
Tool | Description |
| Get transit analysis from the Ascendant (Lagna) on a chosen transit date |
| Get transit analysis from the Moon sign on a chosen transit date |
| Get Grah Gochar (planetary transit) data for a specific planet |
| Get planet combustion (Asta) transit details for a specific planet |
| Get nakshatra transit details for a specific planet |
| Get retrograde transit details for a planet (mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto) |
๐ Matchmaking (Kundli Milan) โ 7 Tools
Tool | Description |
| Perform Ashtakoot Milan (8-point compatibility matching) for two people |
| Perform Dashakoot Milan (10-point compatibility matching) for two people |
| Check Manglik Dosha for both people in a matchmaking context |
| Get basic astrological details for both persons in matchmaking |
| |
| Get Vimshottari Dasha for both persons in matchmaking |
| Get planetary positions for both persons in matchmaking |
๐ Festivals โ 7 Tools
Tool | Description |
| Get festivals falling on a specific date |
| Get all Hindu festivals for a specific English calendar month |
| Find the date(s) of a specific festival in a given year |
| Get all Hindu festivals for a specific Hindu calendar month |
| Get major Malayalam (Kerala) festivals for a year |
| Get major Tamil festivals for a year |
| Get the twelve solar Sankranti festivals for a year |
๐ Lal Kitab โ 16 Tools
Tool | Description |
| Get Lal Kitab planetary positions for a birth chart |
| Generate the Lal Kitab horoscope chart for a birth chart |
| Get Lal Kitab house positions for a birth chart |
| Get Lal Kitab planetary conjunctions for a birth chart |
| Get Lal Kitab teva (chart conditions) for a birth chart |
| Get Lal Kitab analysis of one planet in the birth chart |
| Get Lal Kitab dasha periods for a birth chart |
| Get Lal Kitab planet types for a birth chart |
| Get textual Lal Kitab interpretation of a Mahadasha period |
| Get textual Lal Kitab interpretation of a Mahadasha-Antardasha combination |
| Get Lal Kitab debts (rin) for a birth chart |
| Get the Lal Kitab signification of one house for a birth chart |
| Get the Lal Kitab Varsha Pravesh (annual chart entry) for a chosen year |
| Get Lal Kitab varshphal (annual chart) planetary positions |
| Get the Lal Kitab varshphal Muntha for a chosen year |
| Generate the Lal Kitab varshphal (annual) chart for a chosen year |
๐งญ Kundli Analysis (Vargottama, Bhava & Remedies) โ 7 Tools
Tool | Description |
| Get the vargottama planets (same sign in the D1 and D9 charts) for a birth chart |
| Get Bhava Bala (numeric strength of each of the twelve houses) for a birth chart |
| Get the Ashtama Shani analysis (Saturn in the 8th from natal Saturn) for a birth chart |
| Get the house-by-house analysis (sign, lord, occupants, aspects) for a birth chart |
| Get predictions grouped by house category (kendra, trikone, trishadaya, trik, maraka, dhana) |
| Get remedial measures (donation, gemstone, lifestyle, mantra) for one planet's placement |
| Get Rudraksha (mukhi bead) suggestions (life, lucky, and dasha beads) from birth data |
๐ Varshphal (Annual Chart) - 14 Tools
Tool | Description |
| Get the annual solar-return (Varsha Pravesh) moment for the given year |
| Get basic annual-chart astro details for the given year |
| Get annual-chart planetary positions for the given year |
| Get the annual divisional chart (D1..D60) as SVG for the given year |
| Get Tajika aspects (ithasala, etc.) for the annual chart |
| Get the Muntha (progressed ascendant) for the given year |
| Get the Panchadhikari (five year-lords) for the given year |
| Get the Tri Pataki Chakra for the annual chart |
| Get the Mudda Dasha (annual dasha) for the given year |
| Get the annual Yogini Dasha for the given year |
| Get the Patyanini Dasha for the given year |
| Get annual-chart planetary strengths (harsha bala, pancha vargiya bala) |
| Get the Sahams (sensitive points) for the annual chart |
| Get Tajika yogas for the annual chart |
๐ Monthly Lists โ 5 Tools
Tool | Description |
| Get list of Chandramasa (Hindu lunar months) for a given period |
| Get daily nakshatra list for a given month |
| Get daily sunrise and sunset times for a given month |
| Get daily Surya (Sun) Nakshatra list for a given month |
| Get daily tithi list for a given month |
๐ Language Support
All tools support multiple Indian languages via the lan parameter:
Code | Language |
| English (default) |
| Hindi |
| Tamil |
| Telugu |
| Kannada |
| Malayalam |
| Bengali |
| Gujarati |
| Marathi |
| Punjabi |
| Odia |
| Urdu |
๐ ๏ธ Development / Running from Source
If you want to run from source instead of installing via pip:
# Clone the repository
git clone https://github.com/DivineAPI/mcp-indian-astrology.git
cd mcp-indian-astrology
# Install dependencies
pip install -r requirements.txt
# Set environment variables
export DIVINE_API_KEY="your-api-key"
export DIVINE_AUTH_TOKEN="your-bearer-token"
# Run the server
python server.pyThen configure your MCP client to point to the local file:
{
"mcpServers": {
"divine-indian-astrology": {
"command": "python",
"args": ["/full/path/to/mcp-indian-astrology/server.py"],
"env": {
"DIVINE_API_KEY": "your-api-key",
"DIVINE_AUTH_TOKEN": "your-bearer-token"
}
}
}
}๐ Getting Your API Credentials
Go to divineapi.com and sign up
Start your 7-day free trial (no charges)
Find your API Key at divineapi.com/api-keys
Find your Auth Token on your profile page
Set them as environment variables or in your MCP client config
๐ API Documentation
Full API Docs: developers.divineapi.com/indian-api
Support: support.divineapi.com
Pricing: divineapi.com/pricing
๐ License
MIT License โ see LICENSE for details.
๐ข About Divine API
Divine API is a leading astrology technology company based in New Delhi, offering comprehensive Astrology, Kundali, Horoscope, Tarot, and Numerology APIs for businesses worldwide.
Contact: admin@divineapi.com
Available Tools
128 toolsdivine_find_festivalARead-onlyIdempotent
Find the date(s) of a specific festival in a given year.
Returns the date or dates on which the named festival falls in the specified year, with location-adjusted timing and festival details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Year and location | |
| festival | Yes | Festival identifier in lowercase snake_case from the DivineAPI festival list (e.g., 'maha_shivratri', 'shraavana_somvaar_vrat'). The API rejects names outside its list with 'Please enter valid festival'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds useful context about location-adjusted timing and that it returns one or multiple dates, but it does not disclose error behavior or caveats beyond that. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly worded sentences with no filler. The main purpose is front-loaded and the result description follows immediately. 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?
With an output schema present, the description does not need to explain return fields. It covers the key inputs (festival, year, location) and the location-adjusted aspect. It might optionally mention that festival names must come from the API's predefined list, but that is already fully covered in the festival parameter's schema description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the festival parameter already includes detailed semantics including the allowed value format and rejection behavior. The description's mention of 'given year' and 'location-adjusted timing' aligns with the parameters but adds no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Find') and resource ('date(s) of a specific festival in a given year'), and even adds return details. It does not explicitly differentiate from sibling tools like divine_get_festivals_by_date, but the phrase 'specific festival' makes the core purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this tool when you need the date(s) of a named festival for a specific year and location. However, it provides no explicit guidance about when not to use it or which sibling tool to prefer (e.g., when you need festivals by date instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_antar_dasha_analysisARead-onlyIdempotent
Get textual interpretation of an Antar Dasha (MahaโAntar) period.
No birth data needed โ this endpoint returns a generic interpretation for the named Maha + Antar combination.
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code (default 'en') | en |
| maha_dasha | Yes | Maha Dasha planet (e.g., 'rahu') | |
| antar_dasha | Yes | Antar Dasha planet (e.g., 'moon') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so safety is covered. The description adds genuinely useful behavioral context: no birth data is required and the result is a generic interpretation for the named Maha + Antar combination, which is not inferable from the schema alone.
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 compact and front-loaded, with the core action in the first line and a short clarifying note beneath it. Every sentence earns its place, and there is no redundant restatement of the tool name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity of three parameters, a rich output schema, and strong annotations, the description provides everything needed to invoke the tool correctly. It explains the return type, the generic nature of the response, and the absence of a birth-data requirement, leaving no critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents maha_dasha, antar_dasha, and lan with examples. The description only echoes the parameter relationship as 'Maha + Antar combination' without adding new value formats, constraints, or default behavior beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb and resource: 'Get textual interpretation of an Antar Dasha (MahaโAntar) period.' It also notes the endpoint returns a generic interpretation for a named combination, which helps distinguish it from personalized birth-data-based dasha tools, though it does not explicitly name siblings like divine_get_pratyantar_dasha_analysis.
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 statement 'No birth data needed' gives a clear condition for using this endpoint, and 'generic interpretation' clarifies that it serves the non-personalized case. It doesn't name alternatives or provide explicit when-not-to-use guidance, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_ascendant_reportBRead-onlyIdempotent
Get a detailed report based on the ascendant (Lagna) sign.
Returns personality traits, physical characteristics, and life tendencies based on the rising sign at the time of birth.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 context about the report content but no additional behavioral traits like rate limits, authentication, or side effects. It does not contradict annotations, so a 3 is appropriate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and output, with no wasted words. It is efficiently structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (which explains return values) and annotations covering safety, the description adequately covers the tool's purpose and expected content. It does not mention the required full birth details, but the schema makes that obvious. For a read-only report tool, this is complete enough, though a note on when to use it would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter-specific information. However, the input schema itself has detailed descriptions for each field (e.g., 'Birth day (e.g., '24')'), so the schema covers parameter semantics. With high schema coverage, the description does not need to compensate. Baseline 3 is suitable.
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 clear purpose: 'Get a detailed report based on the ascendant (Lagna) sign' and specifies the output content (personality traits, physical characteristics, life tendencies). However, it does not differentiate from siblings like divine_get_uday_lagna or divine_get_basic_astro_details, which may also involve the ascendant. A clear verb and resource are present, but sibling 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios like 'use this for detailed ascendant-based personality insights' or exclusions. The description only states what it does, leaving the agent to infer usage context, which is insufficient given the large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_ashtakoot_milanARead-onlyIdempotent
Perform Ashtakoot Milan (8-point compatibility matching) for two people.
The most popular matching method in North India. Evaluates 8 Gunas: Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi (max 36).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior, lowering the burden. The description adds useful behavioral context by specifying that the computation evaluates the 8 named Gunas and produces a score out of a maximum of 36. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main action, then uses a compact bullet-like list for the 8 Gunas. Every sentence adds relevant information 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?
The description gives the method, regional context, and scoring basis, and the output schema exists, so return values are covered elsewhere. However, for a tool with this much input complexity, it should at least state that complete birth details for both individuals are required; the absence of this leaves the agent reliant entirely on 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%, so the description needed to compensate by explaining that full birth details for both people are required. It only says 'for two people' and does not mention the need for names, birth date/time, place, coordinates, gender, or timezone for each person, which is a major gap for a 22-field input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Perform Ashtakoot Milan') and the resource ('8-point compatibility matching for two people'), and it lists the exact Gunas evaluated with a maximum score of 36. It does not explicitly name or contrast sibling tools like divine_get_dashakoot_milan, though the 'North India' context indirectly helps differentiate it.
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 a clear contextual signal by calling this 'the most popular matching method in North India', which guides an agent on regional use. It does not explicitly mention when not to use it or name alternatives such as divine_get_dashakoot_milan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_ashtakvargaARead-onlyIdempotent
Get Bhinnashtakvarga (individual Ashtakvarga) tables for all planets.
Returns the 8x12 benefic dots table for each planet showing strength in each sign. Used for transit prediction and sign strength analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is established. The description adds the output format (8x12 table per planet) and purpose, which is useful but does not disclose other behavioral traits like error handling or data requirements. Given the annotation coverage, this is adequate but not extensive.
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 two sentences, front-loaded with the primary action and output, and every sentence adds value. There is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (requires full birth details), the description explains the core functionality and output, and the schema covers the input parameters. With an output schema present, return values are not needed. It could be slightly more explicit about the need for birth details, but the schema provides that. Overall, it is reasonably 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?
The tool description contains no parameter information, and schema description coverage is 0%. The schema itself has detailed descriptions for each birth detail field, but the description does not compensate for the low coverage by explaining that birth details are required or how they relate to the tool. The agent must rely solely on the schema, which is adequate but the description offers no additional semantic 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?
The description clearly states it retrieves Bhinnashtakvarga (individual Ashtakvarga) tables for all planets, specifies the output as 8x12 benefic dot tables, and notes its use for transit prediction and sign strength analysis. This is a specific verb-resource pair and distinguishes it from the sibling divine_get_sarvashtakavarga, which would handle total Ashtakvarga.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context ('Used for transit prediction and sign strength analysis') and implicitly differentiates from other tools by focusing on individual Ashtakvarga. However, it does not explicitly mention when not to use it or name alternative tools like sarvashtakavarga, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_auspicious_timingsBRead-onlyIdempotent
Get auspicious timings (shubh muhurat) for a given date and location.
Returns favorable time windows for important activities like weddings, house-warming, travel, etc. (Abhijit Muhurat, Amrit Kaal, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds minor context about the output (favorable time windows, specific muhurat types) but does not go beyond what the annotations already imply. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main purpose, followed by clarifying details. Every word earns its place; no redundancy or fluff. It is well-structured for quick scanning.
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 description covers the core purpose and output but lacks critical usage context regarding when to use this general muhurat tool versus the numerous specific muhurat siblings (e.g., marriage, vehicle purchase). Given the high number of related tools, an agent could easily confuse this with a specific muhurat tool. The presence of an output schema and comprehensive parameter documentation mitigates some gaps, but the absence of usage guidance makes it incomplete for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any parameters. The input schema has a top-level parameter 'params' with no description, and the nested properties (day, month, year, place, lat, lon, tzone, lan) do have descriptions in the schema, but the schema_description_coverage is effectively 0% for the top-level. Since coverage is low, the description should compensate by explaining key required inputs, but it does not. The agent must rely entirely on the nested schema, which is comprehensive, but the description adds zero value for 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 clearly states the verb 'Get' and the resource 'auspicious timings (shubh muhurat)' for a given date and location. It further explains the return content with examples (weddings, house-warming, travel) and mentions specific muhurat types (Abhijit Muhurat, Amrit Kaal). This distinguishes it from sibling tools like divine_get_muhurat_marriage or divine_get_muhurat_house_entering, which focus on single activities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling muhurat-specific tools (e.g., divine_get_muhurat_marriage, divine_get_muhurat_vehicle_purchase). It does not state that this is the general-purpose auspicious timings tool and that for specific activities one should use the dedicated muhurat tools. The distinction is only implicit through the naming, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_basic_astro_detailsBRead-onlyIdempotent
Get basic astrological details for a person based on their birth data.
Returns tithi, nakshatra, rashi, sun sign, moon sign, yoga, karana, varna, vashya, yoni, gana, nadi, ayanamsha, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false, covering safety and side effects. The description adds the list of returned fields, which is some transparency, but does not disclose error handling, rate limits, or other behavioral quirks. Given annotations carry the main burden, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose and a succinct list of return fields. There is no redundant wording or unnecessary detail, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool requires a complex input object with many fields and has a large sibling family, yet the description omits usage context, any parameter prerequisites, or differentiation from alternatives. With an output schema present, return format is covered, but the description lacks enough guidance for an agent to confidently select and 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?
The description provides zero explanation of parameters, and schema coverage by description is 0%. Although the schema itself has detailed per-field descriptions, the tool description does not compensate, which it should given the low coverage. Agents must rely solely on the schema for parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches basic astrological details for a person based on birth data and enumerates specific return fields (tithi, nakshatra, rashi, etc.), which distinguishes it from sibling tools that retrieve individual elements. However, it does not explicitly contrast with those siblings, leaving some ambiguity about 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?
No guidance is given on when to use this tool versus the many specialized siblings (e.g., divine_get_tithi). The description only states what it does without any selection criteria or alternatives, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_bhava_analysisBRead-onlyIdempotent
Get the house-by-house (bhava) analysis for a birth chart.
For each of the twelve houses, returns the sign, the house lord and its placement, the occupying planets and the aspects received, each with interpretive content.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds no additional behavioral disclosure (auth, rate limits, side effects) beyond 'returns' data, and it does not contradict the annotations. It is consistent but not additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the first sentence states the main action, and the second details the return payload. Every sentence earns its place with no fluff, though it could have added a routing hint without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with output schema and annotations, the description adequately summarizes output. However, with over a hundred siblings including 'divine_get_bhava_kundli', 'divine_get_planet_analysis', and 'divine_get_horoscope_chart', it does not position this tool relative to them, and parameter handling is left entirely 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?
The description says 'for a birth chart' but does not enumerate any of the required input details (name, date, time, place, coordinates, timezone). Context reports 0% schema description coverage, so the tool description should compensate; it does not. The agent must open the schema to understand the single 'params' object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb/resource: 'Get the house-by-house (bhava) analysis for a birth chart' and lists the returned content (sign, house lord, occupying planets, aspects, interpretive content). It stops short of a 5 because it does not explicitly distinguish itself from the sibling 'divine_get_bhava_kundli' or other house-related 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?
The description implies a usage context ('need house-by-house interpretation') but gives no explicit when-to-use/when-not-to-use guidance, no alternatives, and no preconditions. It is neither misleading nor completely absent, so it earns the middle score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_bhava_group_predictionsBRead-onlyIdempotent
Get predictions grouped by house category for a birth chart.
Returns interpretations for the classical house groups: kendra (angular), trikone (trinal), trishadaya, trik (dusthana), maraka and dhana.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that the tool returns 'interpretations' rather than raw positions or numbers)Skip a useful behavioral detail about response content, but it does not mention response size, pagination, or any special processing behavior beyond the annotation-backed guarantees.
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: the first gives the immediate purpose, the second tells exactly which house groups are covered. Every phrase earns its place, and the most important information (grouping by house category) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with an output schema, the description is quite complete: it names the domain (birth chart), states the output shape (grouped interpretations), and lists the included categories. It does not explicitly mention that precise birth time and place are required, but the schema's required fields and the KundliInput definition compensate.
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 the single top-level 'params' parameter, and the tool description provides zero information about input requirements. The nested KundliInput definition does describe individual birth fields, and the tool name implies a birth chart, but the description neither explains that full birth details are needed nor gives any parameter-specific context, leaving an important gap for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get predictions grouped by house category for a birth chart') and enumerates the exact classical house groups returned (kendra, trikone, trishadaya, trik, maraka, dhana). It clearly identifies what the tool does, though it does not explicitly contrast itself with sibling tools like divine_get_bhava_kundli or divine_get_bhava_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus the many related bhava, dasha, and transit tools in the sibling list. It states what predictions are returned but never provides conditions, exclusions, or alternative tool suggestions, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_bhava_kundliARead-onlyIdempotent
Get Bhava Kundli (house-based chart) for a given bhava chart number.
Unlike the rashi chart which shows sign placements, the Bhava chart shows exact house cusps and planetary positions within houses. Returns the chart as SVG and image. chart_id is a number from 1 to 12.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| chart_id | Yes | Bhava chart number: '1' through '12' | |
| full_name | Yes | Full name of the person | |
| chart_type | No | Chart style: 'north' (diamond) or 'south' (square) | |
| line_color | No | Chart line color as hex (e.g., '#333333') | |
| sign_color | No | Sign label color as hex (e.g., '#333333') | |
| chart_color | No | Chart background color as hex (e.g., '#ffffff') | |
| planet_color | No | Planet label color as hex (e.g., '#333333') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 behavioral context by stating it returns the chart as SVG and image, and by clarifying the chart_id range (1 to 12). This goes beyond the annotations without contradicting them.
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 compact and front-loaded, with the core purpose in the first sentence. The comparison to the rashi chart and the return-format note are useful, though the 'bhava chart number' phrase in the first sentence is slightly redundant with the later chart_id explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large 19-parameter schema, full schema coverage, an output schema, and strong annotations, the description provides enough additional context to select and invoke the tool. It explains the chart type distinction and output format, while the schema already documents the required birth details and styling options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning to chart_id by calling it a 'bhava chart number' and noting it ranges from 1 to 12, but that largely repeats the schema. No other parameters receive additional semantic guidance beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Get Bhava Kundli (house-based chart)'. It also differentiates itself from the rashi chart by explaining that Bhava shows exact house cusps and planetary positions within houses, not just sign placements. This clearly separates it from the many chart-related sibling 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?
The description gives explicit comparative guidance: use this chart when you need house cusps and planetary positions within houses, rather than sign placements. It does not name a specific sibling tool or state a when-not condition, but the contrast with the rashi chart gives a clear selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_bhav_balaBRead-onlyIdempotent
Get Bhava Bala (house strength) for a birth chart.
Returns the numeric strength of each of the twelve houses, including the house-lord strength (bhavadhipati bala) and the directional strength (disha bala).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the output composition, but it does not disclose error conditions, response shape, or computation assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the main action and output details are front-loaded. Every clause contributes either the operation, the scope, or the return composition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and nested input schema carry much of the detail, so the description is minimally adequate for invoking the tool. However, with dozens of sibling astrology tools, it lacks guidance on prerequisites or when to prefer this tool over closely related strength/chart tools, leaving the agent to infer 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 0% for the single top-level parameter (params), and the tool description only explains the output without mentioning what input data is required. The nested KundliInput schema does document birth fields, which prevents a score of 1, but the description itself 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?
States a specific operation (Get Bhava Bala) on a concrete resource (birth chart house strength), and clarifies the return value: numeric strength of the twelve houses, including bhavadhipati bala and disha bala. It is clear enough to distinguish from most siblings, though it does not explicitly differentiate from close alternatives like shadbala or bhava_kundli.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to choose this tool over siblings such as divine_get_shadbala, divine_get_bhava_kundli, or divine_get_bhava_analysis. It only says 'for a birth chart,' which is a scope statement, not a usage rule or comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_chandrabalam_and_tarabalamBRead-onlyIdempotent
Get Chandrabalam and Tarabalam for a given date and location.
Chandrabalam is Moon's strength for each rashi. Tarabalam is the auspiciousness based on birth nakshatra. Both important for muhurta selection.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 fully covered. The description adds that the tool computes two specific astrological values for a given date and location, which is useful context, but it does not disclose output structure or any edge cases (e.g., invalid date, missing nakshatra).
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 compact and front-loaded: the first sentence states the core function, and the second provides brief definitions of the two concepts. Every sentence earns its place, though the definitions could be slightly more precise (e.g., 'Moon's strength for each rashi' is a bit vague).
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 an output schema and simple input parameters, so the description doesn't need to explain return values. However, given the large sibling list of similar astrological tools, the description could better clarify what makes this tool unique (e.g., specifically for muhurta selection) and whether it requires birth nakshatra as input or derives it from the date/location.
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 burden for parameter meaning. The description mentions 'date and location' which maps to the PanchangInput fields (day, month, year, place, lat, lon, tzone), but it does not explain the 'lan' parameter or the 'params' wrapper. The schema itself documents each field, so the description adds only minimal semantic value 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?
The description states a specific verb ('Get') and resource ('Chandrabalam and Tarabalam') and explains what each term means. It distinguishes itself from other panchang-related tools by naming the two specific astrological concepts, though it doesn't explicitly contrast with siblings like divine_get_panchang or divine_get_tithi.
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 implies usage context by stating both are 'important for muhurta selection,' which gives an agent a clear reason to select this tool. However, it does not explicitly state when not to use it or name alternative tools for related calculations (e.g., divine_get_panchang for general daily calendar).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_chandramasaARead-onlyIdempotent
Get Chandramasa (Hindu lunar month) details for a given date and location.
Returns the current Hindu lunar month name, Purnimant/Amant system, and the start/end dates of the lunar month.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Date, location, and timezone | |
| month_type | No | Lunar month system: 'amanta' (default, new-moon ending) or 'purnimanta' (full-moon ending) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it returns specific data, but it doesn't disclose additional behavioral traits (e.g., rate limits, language support, or error handling) beyond what the annotations imply. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and contains no filler. Every sentence adds value: the first states the function, the second lists the specific outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (as indicated by 'Has output schema: true') and annotations cover safety, the description adequately summarizes the expected return values. It mentions the key outputs (month name, system, dates), which is sufficient for an agent to understand what the tool does without listing every field.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (day, month, year, place, lat, lon, tzone, month_type) have descriptions. The description does not add any meaning beyond what the schema already provides, so it stays at the baseline for high 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 clearly states the tool retrieves Chandramasa (Hindu lunar month) details, specifying the exact resource (lunar month) and the type of information returned (month name, Purnimant/Amant system, start/end dates). This is a specific verb+resource that distinguishes it from siblings like divine_get_panchang or divine_get_tithi.
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 implies usage by stating it's for a given date and location, but it does not explicitly mention when to use this tool versus alternatives such as divine_get_chandramasa_list or divine_get_panchang. There is no explicit exclusion or alternative routing, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_chandramasa_listCRead-onlyIdempotent
Get list of Chandramasa (Hindu lunar months) for a given period.
Returns the start and end dates of each Hindu lunar month for the specified year and location.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds that it returns start and end dates of each lunar month, which is useful, but it fails to explain the list semantics (e.g., how many months are returned, whether it is month-scoped or year-scoped). It also does not mention the deprecated 'day' and 'lan' fields or their behavior, leaving behavioral gaps despite annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose, but it repeats the same idea in the second sentence without adding new information. It could be more concise by merging the two sentences and using the space to clarify the period semantics. It is not bloated, but it lacks key details that would make it more useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (not shown), so return format is presumably covered. However, the description is ambiguous about whether the tool returns a list for the whole year, a specific month, or a range. It also fails to differentiate from the sibling divine_get_chandramasa, and the deprecated fields are not addressed. Given the required month parameter and the existence of many sibling tools, this description is incomplete 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?
The schema itself provides descriptions for all fields, but the description does not compensate for the month parameter, which is required yet omitted from the description's summary of 'specified year and location.' With schema description coverage at 0%, the description should highlight the required inputs and their roles, but it only mentions year and location, leaving month and timezone unexplained. This is a significant gap for a tool with a single nested parameter object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get list') and resource ('Chandramasa (Hindu lunar months)'), and mentions it returns start and end dates. However, the phrase 'for a given period' is vague, and the subsequent 'for the specified year and location' conflicts with the required month parameter in the schema, creating ambiguity about what exactly the list covers. It partially distinguishes from the sibling divine_get_chandramasa by being a list, but not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus divine_get_chandramasa or other calendar tools. There is no mention of when not to use it, what inputs are required, or what distinguishes it from similar list tools like divine_get_month_tithi_list. The description provides zero usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_chandrashtamaARead-onlyIdempotent
Get Chandrashtama periods for a given month and location.
Chandrashtama is when Moon transits through the 8th house from one's birth Moon sign, considered inauspicious for new ventures. Returns the month's periods per moon sign; set day to narrow to a specific date.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond that: the result is month-scoped, organized per moon sign, and the day parameter narrows to one date. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: a direct action statement, a brief domain definition, and a result/filter note. 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 a read-only, idempotent tool, an output schema, and a clear scope, the description is sufficient for an agent to understand what to request and how to narrow it. The domain explanation resolves ambiguity, and the required structural details are carried by 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?
The description adds meaning by grouping required inputs as 'month and location' and highlighting the optional day. However, context reports 0% schema description coverage, and the description does not compensate for all parameters such as lat/lon/tzone, year, or language. It is helpful but incomplete as a standalone parameter guide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'Chandrashtama periods', and adds enough domain context to distinguish it from dozens of panchang and timing siblings. It also describes what the output looks like: month periods per moon sign, with optional narrowing by day.
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 clear context for when this is relevant ('considered inauspicious for new ventures') and an explicit usage lever ('set day to narrow to a specific date'). It does not name alternative tools or exclusions, but the use case is reasonably unambiguous among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_choghadiyaBRead-onlyIdempotent
Get Choghadiya (auspicious time slots) for a given date and location.
Divides the day and night into multiple slots, each ruled by a different planet, indicating good/bad periods for various activities.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat those. It adds the meaning of the output (good/bad periods for activities), which is useful for interpretation. However, it does not disclose any behavioral traits beyond that, such as language support or error handling, which would be expected in the absence of annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with the primary purpose front-loaded in the first sentence. It is concise, contains no fluff, and the second sentence adds meaningful context about what Choghadiya is. This is well-structured and easy 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?
The tool has an output schema and the input schema covers parameters, so the description does not need to explain those. However, the lack of usage guidance and differentiation from sibling tools leaves an agent uncertain about when to invoke this tool. Given the large sibling list, a more complete description would include a note on when Choghadiya is relevant, such as for muhurat selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contains no parameter information, but the input schema provides detailed descriptions for each field (day, month, year, place, lat, lon, tzone, lan). With high schema coverage, the description adds nothing beyond what the schema already offers, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get Choghadiya (auspicious time slots) for a given date and location.' This clearly identifies the action (get) and resource (Choghadiya), and explains the concept of dividing day/night into planet-ruled slots. It is not a tautology and is specific enough to distinguish from generic Panchang, though it does not explicitly differentiate from similar tools like divine_get_auspicious_timings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools. It does not mention any alternatives or conditions for selecting this over divine_get_panchang, divine_get_auspicious_timings, or others. An agent cannot determine suitability without further context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_composite_friendshipARead-onlyIdempotent
Get composite (Panchda) friendship table for all planets.
Shows natural, temporal, and composite friendship/enmity relationships between all planet pairs in the birth chart.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior. The description adds useful behavioral context by specifying that natural, temporal, and composite friendship/enmity are all computed and that the result covers all planet pairs.
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. The core operation is front-loaded, and the additional sentence adds valuable domain clarification without 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?
For a read-only table-generation tool with an output schema and safety annotations, the description is largely sufficient for selection and invocation. It lacks explicit usage guidance and parameter context, but the schema and annotations cover most of the operational requirements.
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 should compensate by explaining the input requirements. It only says 'birth chart,' which is a weak hint; it does not clarify that full birth details are needed or explain the single 'params' object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Get composite (Panchda) friendship table') and the resource scope ('all planets', 'all planet pairs in the birth chart'). It clearly distinguishes this from the many sibling tools by naming a unique astrological output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit 'use when' or 'use instead of' statement, but the description makes the function's unique purpose clear: friendship/enmity relationships between planets. No sibling covers this exact resource, so the intended context is inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_dashakoot_milanARead-onlyIdempotent
Perform Dashakoot Milan (10-point compatibility matching) for two people.
Popular in South India. Evaluates 10 categories with max score of 36. More comprehensive than Ashtakoot Milan.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds that it evaluates 10 categories with a max score of 36, which gives some insight into output content but not additional behavioral context like rate limits or authorization requirements. With annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, focused sentences. It front-loads the core purpose, adds regional context, and then gives a comparative statement. There is no fluff or redundancy; every sentence 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?
The tool is a straightforward matching API with a clear purpose. The description explains what it does and how it differs from a sibling, and the schema and annotations cover the remaining operational details. The only minor gap is not explaining what the 10 categories are, but that is not necessary 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?
The tool description itself adds no parameter information, but the input schema provides thorough descriptions for every parameter (e.g., birth day, latitude, etc.). Since schema coverage is high, the baseline of 3 is appropriate; the description does not need to duplicate this information.
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 ('Perform'), a clear resource (Dashakoot Milan), and explains it's a 10-point compatibility matching for two people. It also differentiates from the sibling tool by mentioning it's more comprehensive than Ashtakoot Milan, making the purpose unmistakable.
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 implies usage by highlighting that it's more comprehensive than Ashtakoot Milan, which suggests choosing this for a more detailed 10-category match. However, it does not explicitly state when not to use it or compare with other matching tools like Manglik or basic compatibility checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_english_calendar_festivalsARead-onlyIdempotent
Get all Hindu festivals for a specific English calendar month.
Returns festivals falling within a given month of the Gregorian calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (e.g., '28.6139') | |
| lon | Yes | Longitude (e.g., '77.2090') | |
| year | Yes | Year (e.g., '2025') | |
| month | Yes | English month number ('01' for Jan to '12' for Dec) | |
| place | Yes | Place name (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that it returns all festivals falling within the month, but does not disclose why location/timezone parameters are needed or any edge cases in date computation.
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 two tight sentences with no filler. The primary scope ('English calendar month') is front-loaded, and the second sentence reinforces the return semantics without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations cover much of the operational context, but the description omits why six required parameters including lat, lon, place, and tzone are needed for a festival lookup. It also does not help an agent distinguish this tool from similar festival-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having type and example documentation. The description itself adds little beyond noting the Gregorian-month scope, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Get all Hindu festivals for a specific English calendar month' and clarifies the calendar system as Gregorian. However, it does not explicitly distinguish itself from sibling festival tools such as divine_get_festivals_by_month or divine_get_festivals_by_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?
The usage context is implied: use when seeking Hindu festivals within a Gregorian month. No alternatives or exclusions are given, and the description does not explain when to choose this over the many other festival-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_festivals_by_dateARead-onlyIdempotent
Get festivals falling on a specific date.
Returns all Hindu festivals and observances for a given date and location.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat safety. It adds that the tool returns 'all Hindu festivals and observances', but does not disclose any additional behaviors such as response size, pagination, or location dependence beyond what is inferable from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action is front-loaded first, followed by a clear scope statement. Every word earns its place, and the description is appropriately sized relative to the tool's simplicity.
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 an output schema and annotations covering safety, so the description does not need to duplicate those. However, it omits any mention of required location parameters or typical usage context. An agent could successfully invoke the tool based on the schema, but the description alone is incomplete for understanding the data requirements and the fact that this is a Hindu-specific, date-limited query.
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 the top-level 'params' field, so the description must compensate. It only vaguely mentions 'given date and location' and does not explain that a full date (day, month, year), place name, coordinates, and timezone are required. The required nested fields are left undocumented in the description, and while the schema provides individual field descriptions, the tool description itself fails to orient the agent on the parameter structure.
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 ('Get') and resource ('festivals falling on a specific date'), clearly distinguishing it from siblings like divine_get_festivals_by_month and divine_find_festival. It also specifies the cultural scope ('Hindu festivals and observances'), which helps an agent disambiguate from Tamil, Malayalam, or English festival 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?
No guidance is given on when to use this tool versus alternatives. It does not mention any exclusion criteria, fallback conditions, or relationships to sibling tools. An agent must infer context purely from the name and generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_festivals_by_monthARead-onlyIdempotent
Get all Hindu festivals for a specific Hindu calendar month.
Supports all 12 Hindu months: Margashirsha, Pausha, Magha, Phalguna, Chaitra, Vaishakha, Jyeshtha, Ashadha, Shravana, Bhadrapada, Ashvina, Kartika.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (e.g., '28.6139') | |
| lon | Yes | Longitude (e.g., '77.2090') | |
| year | Yes | Year (e.g., '2025') | |
| place | Yes | Place name (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| hindu_month | Yes | Hindu month: margashirsha, pausha, magha, phalguna, chaitra, vaishakha, jyeshtha, ashadha, shravana, bhadrapada, ashvina, kartika |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 given set of behaviors. The description adds the month list and implies a broad scope, but it does not discuss response volume, pagination, or format, which is a gap but acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, then lists the 12 months. It is efficient with no fluff, but the month list is duplicated in the schema, so it could be trimmed 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?
Given the tool's moderate complexity (6 parameters, all required) and the existence of an output schema, the description provides sufficient clarity on why and when to use it. Missing nuances like behavior with invalid month names are minor and not critical for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are documented. However, the description adds minimal semantic meaning beyond the schema, such as the list of months, which is already in the schema property. It does not explain how parameters like lat/lon/tzone are used together, which could be improved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all Hindu festivals for a specified Hindu calendar month, identifying a specific verb and resource. However, it does not explicitly distinguish itself from closely related siblings like divine_get_festivals_by_date or divine_find_festival, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a broad month-level query but offers no explicit guidance on when to choose this tool over alternatives like divine_get_festivals_by_date or divine_find_festival. There is no mention of exclusions or comparisons, leaving the decision to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_gemstone_suggestionARead-onlyIdempotent
Get gemstone recommendations based on the birth chart.
Returns suggested gemstones based on planetary positions, including primary gemstone, alternative stones, and wearing instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the read-only, idempotent, and non-destructive behavior. The description adds useful context by stating that recommendations are based on planetary positions and include primary/alternative stones and wearing instructions, but it discloses no further behavioral caveats. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences with the core purpose front-loaded in the first line and return-value details in the second. There is no filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich self-documenting input schema, safety annotations, and an output schema, the description is mostly sufficient for an agent to select and call the tool. The main remaining gap is the lack of explicit routing guidance among the many sibling divine_get_ tools, but the core invocation needs are 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?
The description only broadly gestures at the input ('birth chart', 'planetary positions') and does not explain the params object or its required fields. The nested KundliInput schema compensates with detailed per-field descriptions and examples, so the agent can still invoke the tool correctly without parameter detail in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation (get gemstone recommendations), the resource (gemstone suggestions), the input basis (birth chart/planetary positions), and the main output categories (primary gemstone, alternatives, wearing instructions). It is specific enough to distinguish from most siblings, though it does not explicitly contrast with nearby remedy tools like divine_get_rudraksha_suggestion.
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 intended trigger is evident: use this tool when a user wants gemstone recommendations derived from a birth chart. However, it never states when not to use it or names alternatives, so the selection guidance is more implicit than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_ghata_chakraARead-onlyIdempotent
Get Ghata Chakra (adverse combinations) for a birth chart.
Returns the inauspicious day, tithi, nakshatra, yoga, karana, and lagna specific to the person's birth nakshatra.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety and side-effect expectations. The description adds one useful behavioral detail: the result is 'specific to the person's birth nakshatra,' indicating how the computation is scoped. However, it doesn't disclose any other operational behaviors (e.g., rate limits, data dependencies beyond the input). Given the annotations cover the core safety profile, a 3 is appropriateโthe description supplements but does not substantially extend behavioral transparency.
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 extremely conciseโtwo short linesโwith the core purpose stated first and the output details following. There is no redundant or verbose text, and every sentence contributes meaning. It is well-structured for quick agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a nested params object with many required birth details) and the presence of an output schema (not shown but indicated), the description is reasonably complete. It lists the specific output components and scoping (birth nakshatra). The schema handles input documentation, and the output schema likely explains the response structure. Missing are any caveats about data accuracy or error conditions, but these are not essential for basic invocation. The tool is well-covered for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description does not discuss parameters, but the nested schema ($defs/KundliInput) includes detailed descriptions for every field (day, month, year, hour, etc.). While the top-level 'params' property lacks a description (hence 0% schema coverage by the metric), the actual parameter documentation is comprehensive within the schema. The description adds no additional parameter semantics, so the baseline of 3 applies given that the schema effectively provides high coverage for the actual fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Ghata Chakra (adverse combinations) for a birth chart, using a specific verb ('Get') and resource ('Ghata Chakra'). It enumerates the returned components (inauspicious day, tithi, nakshatra, yoga, karana, lagna), making its purpose unambiguous. While it doesn't explicitly contrast with sibling tools, the distinct subject matter and specific output list sufficiently differentiate it from the many other astrological 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?
The description implies when to use this toolโwhen adverse combinations (Ghata Chakra) are neededโbut provides no explicit guidance on when not to use it or which alternatives might be preferable. Given the large sibling set, explicit routing would be helpful, but the intention is still inferable from the name and description. The lack of exclusion or alternative references keeps this at a 3 (implied usage) rather than a 2 (no guidance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_gowri_panchangamARead-onlyIdempotent
Get the Gowri Panchangam for a given date and location.
Returns auspicious and inauspicious time segments for the day and night (Laabam, Uthi, etc.) plus Nalla Neram (good time) periods, per the South Indian Gowri Panchangam system.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it returns day and night segments plus Nalla Neram, which is useful. However, it does not disclose details like whether the response includes sunrise/sunset times, how timezone affects calculations, or any API-specific quirks.
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 two short paragraphs, front-loaded with the core purpose and then the return value. Every sentence adds information. It could be slightly tighter, but it is efficient and 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?
The tool has an output schema and annotations covering safety, so the description need not explain return values in detail. However, given the large sibling set and the specialized nature of Gowri Panchangam, a note on the calculation system (South Indian) is present, but missing guidance on when this is the right tool versus divine_get_panchang or divine_get_choghadiya leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the schema itself has descriptive parameter names and examples for day, month, year, place, lat, lon, tzone, and lan. The description adds no parameter-level meaning beyond what the schema already provides. Baseline 3 is appropriate since the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the Gowri Panchangam for a given date and location, and specifies the output: auspicious/inauspicious time segments (Laabam, Uthi, etc.) and Nalla Neram periods. This distinguishes it from sibling tools like divine_get_panchang or divine_get_choghadiya, which cover different calendrical systems.
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 implies usage for South Indian Gowri Panchangam queries, but does not explicitly state when to prefer this over divine_get_panchang, divine_get_choghadiya, or divine_get_auspicious_timings. The context signals show many overlapping sibling tools, so explicit when/when-not guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_grah_gocharBRead-onlyIdempotent
Get Grah Gochar (planetary transit) data for a specific planet.
Returns detailed transit information including sign changes, nakshatra transits, and effects on the native.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| planet | Yes | Planet (transit): sun, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto, rahu, ketu | |
| full_name | Yes | Full name of the person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful return-content context (sign changes, nakshatra transits, effects), but it does not describe limitations, output shape, or interpretation concerns. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core operation in the first sentence. The second sentence adds relevant return details without repeating schema information. Slightly more structure around usage would be an improvement, but it is appropriately concise.
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 14-parameter tool with an output schema, the description provides a decent high-level purpose but does not explain why birth details are required or how transit timing is interpreted. It is adequate for an agent to guess the call shape, but there are noticeable contextual 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 100%, so the schema already documents all parameters. The description only restates the idea of a 'specific planet' and does not add detail beyond the schema, though it does clarify that 'Grah Gochar' means planetary transit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific verb and resource: 'Get Grah Gochar (planetary transit) data for a specific planet.' It also names concrete return content (sign changes, nakshatra transits, effects on the native), which helps an agent understand the tool's scope. It does not explicitly contrast it with sibling transit tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over related siblings such as divine_get_planet_nakshatra_transit or divine_get_kundli_transit_ascendant. The intended use is implied by the name and the phrase 'for a specific planet,' but there are no explicit conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_horoscope_chartBRead-onlyIdempotent
Generate a Vedic horoscope chart (Kundli diagram) as SVG and image.
Supports divisional charts: D1 (Lagna/Rashi), D2 (Hora), D3 (Drekkana), D9 (Navamsha), D10 (Dashamsha), chalit, sun, moon, and more. Optional styling: chart_type (north/south), hex colors, show_* toggles.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| chart_id | Yes | Chart type: D1 (Lagna), D2 (Hora), D3 (Drekkana), D9 (Navamsha), D10 (Dashamsha), chalit, sun, moon, etc. | |
| full_name | Yes | Full name of the person | |
| chart_type | No | Chart style: 'north' (diamond) or 'south' (square) | |
| line_color | No | Chart line color as hex (e.g., '#333333') | |
| sign_color | No | Sign label color as hex (e.g., '#333333') | |
| chart_color | No | Chart background color as hex (e.g., '#ffffff') | |
| planet_color | No | Planet label color as hex (e.g., '#333333') | |
| show_planet_retro | No | Set '1' to mark retrograde planets on the chart, '0' to hide | |
| show_planet_degree | No | Set '1' to show planet degrees on the chart, '0' to hide | |
| show_modern_planets | No | Set '1' to include Uranus/Neptune/Pluto on the chart, '0' to hide |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, non-destructive behavior. The description adds that the tool produces an SVG/image chart and supports styling toggles, which is useful but not deeply detailed. There is no discussion of edge-case behavior such as invalid locations or timezone handling, but the annotation coverage keeps this at an acceptable level.
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 compact and well-structured: the core purpose is front-loaded, then supported chart types and styling options follow. The only minor weakness is the vague 'and more' phrase, but overall each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 22 parameters, a rich schema, and an output schema, the description covers the main intent and the most important optional controls well enough to make a valid call. The notable gap is the lack of differentiation from the many sibling chart tools, which matters given the crowded 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 100%, so all 22 parameters are individually documented. The description adds a helpful high-level summary of optional styling controls ('chart_type (north/south), hex colors, show_* toggles') but does not materially enhance the meaning of specific parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('Vedic horoscope chart / Kundli diagram'), the output format ('SVG and image'), and enumerates supported chart types (D1, D2, D3, D9, D10, chalit, sun, moon). It is specific and actionable, though it does not explicitly distinguish itself from similarly named siblings like divine_get_matching_horoscope_chart or divine_get_lal_kitab_horoscope_chart.
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 implies when to use the tool: when a Vedic horoscope chart is requested, including divisional charts and styling options. However, it provides no explicit exclusions or alternatives, and in a large sibling set containing multiple chart tools, it does not guide the agent toward or away from those comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_inauspicious_timingsARead-onlyIdempotent
Get inauspicious timings for a given date and location.
Returns unfavorable time windows: Rahu Kaal, Yamaganda, Gulika Kaal, Dur Muhurat. Useful for avoiding inauspicious activities.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description's job is lighter. It adds useful context by specifying that the tool returns unfavorable time windows and what those windows are, without contradicting 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?
Three sentences with distinct jobs: scope, output content, and use case. Every sentence earns its place and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and safety annotations cover side effects, so the description need not explain return structure. It covers what the tool returns and why to use it; the main gap is not explicitly distinguishing it from the auspicious-timings sibling, but the name largely handles that.
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 nested PanchangInput schema provides detailed field descriptions for day, month, year, place, lat, lon, tzone, and optional language. The tool description only restates 'given date and location' and adds no parameter-level detail beyond what the schema already documents.
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: getting inauspicious timings for a date and location. It further names the exact returned categories (Rahu Kaal, Yamaganda, Gulika Kaal, Dur Muhurat), making it clearly distinguishable from the many sibling 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?
Provides a clear use context ('avoiding inauspicious activities') but does not explicitly name the obvious alternative, divine_get_auspicious_timings, nor state when this tool should not be used. The differentiation is mostly implicit in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_jaimini_chara_dashaARead-onlyIdempotent
Get Jaimini Chara Dasha periods for a birth chart.
A rashi-based dasha system where signs (not planets) rule the dasha periods. Excellent for timing events in Jaimini astrology.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 safety. The description adds context about the sign-based nature of the dasha system, which is useful, but it does not discuss output format, limitations, or side effects. It adds some value beyond annotations but not extensive.
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 two sentences with no fluff, front-loading the main purpose and then adding explanatory context. It is concise and well-structured, letting the agent grasp the essence quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and rich annotations, the description provides sufficient context about what the tool does and when it is appropriate. It highlights the rashi-based nature, distinguishing it from siblings, though it could be more explicit about differences from other dasha tools. Overall, it is adequate for an agent to use 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?
The description does not mention any parameters, and schema description coverage is 0%, meaning the description fails to compensate for parameter meaning. While the schema itself has descriptions for each field, the tool description adds nothing to parameter understanding, so it scores low per the rubric.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Jaimini Chara Dasha periods for a birth chart, and explains the rashi-based system distinguishing it from other dasha tools like vimshottari or yogini. The verb, resource, and system are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a brief usage context ('Excellent for timing events in Jaimini astrology') but does not explicitly state when to use this tool versus other dasha tools, nor when not to use it. It implies a use case but lacks explicit exclusion criteria or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_jaimini_karakamsha_lagnaARead-onlyIdempotent
Get Karakamsha Lagna from Jaimini astrology for a birth chart.
The sign occupied by the Atmakaraka in the Navamsha chart. Reveals the soul's desire and spiritual inclinations.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety and mutability. The description adds the interpretive meaning ('soul's desire and spiritual inclinations') and underlying calculation, but does not disclose potential edge cases (e.g., missing Atmakaraka, D-9 chart availability) or output format. Bar is lower due to strong annotations, yet the description offers limited additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with zero redundancy. The primary purpose is front-loaded, followed by a brief technical definition and a meaningful interpretation. It is concise yet informative, ideal for an agent scanning multiple tool descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that a full output schema exists and the input schema is exhaustively described, the description correctly focuses on the astrological concept and its significance. It would be marginally improved by noting that this depends on the Atmakaraka in the Navamsha chart and that it requires standard birth data, but those are already implicit in the schema and tool family context. Overall, it is sufficiently complete 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 100% โ every parameter (including the nested KundliInput fields and node_type) has a description. The tool description adds no parameter-level semantics beyond what the schema already provides, but it doesn't need to. Baseline of 3 is appropriate because the description adequately identifies the birth chart input expectation in its first sentence.
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 starts with a clear verb and resource: 'Get Karakamsha Lagna from Jaimini astrology for a birth chart.' It further clarifies the exact astronomical basis ('sign occupied by the Atmakaraka in the Navamsha chart') and its interpretation ('Reveals the soul's desire'), making it distinct from sibling Jaimini tools like chara dasha or padas.
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 guidance on when to use this tool versus other Jyotish tools, nor does it state conditions for use or mention alternatives. However, the term 'Karakamsha Lagna' is a precise concept, and the companion sentence about the soul's desire implies its purpose. It is not misleading, but it leaves the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_jaimini_padasARead-onlyIdempotent
Get Jaimini Padas (Arudha Padas) for all houses in a birth chart.
Arudha Padas show how the world perceives the native regarding each house signification (wealth, marriage, career, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds useful context beyond annotations by clarifying that it covers all houses and by explaining the interpretive meaning of Arudha Padas. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler. The primary purpose is front-loaded, and the follow-up sentence adds meaningful interpretive context rather than 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?
Given the rich annotations, detailed nested input schema, and presence of an output schema, the description covers the core purpose and semantic meaning well. It lacks explicit usage guidance and parameter mapping, but those gaps are partly mitigated by the well-structured 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?
The description provides no parameter guidance, and schema description coverage is 0% at the top-level 'params' field. Although the referenced KundliInput schema is itself detailed, the description does not compensate for the low coverage as required, leaving the agent to rely entirely on 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?
Description states a specific verb ('Get'), a specific resource ('Jaimini Padas / Arudha Padas'), and scope ('for all houses in a birth chart'). It also provides the conceptual meaning, which distinguishes it from other Jaimini siblings like chara dasha or karakamsha lagna.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to choose it over the many sibling astrological tools. There are no explicit alternatives, conditions, or exclusions mentioned, so an agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_jaimini_planetary_positionsARead-onlyIdempotent
Get Jaimini-specific planetary positions and karakas.
Returns Chara Karakas (variable significators) like Atmakaraka, Amatyakaraka, etc. based on planetary degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the tool is known safe. The description adds that it returns Karakas based on planetary degrees, which is useful context not in annotations. However, it does not disclose any other behavioral aspects like response format or potential errors. With annotations covering safety, this is acceptable, but it could add more context about what 'Jaimini-specific' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the tool's purpose and then an example of what it returns. It is concise, but the second sentence could be more informative about usage. Still, it is efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the input schema (KundliInput) is well-documented, the description covers the purpose and return concept. It lacks explicit detail on how node_type affects karaka calculation, but for a read-only tool with rich schema, this is fairly complete. It could mention that it's distinct from standard planetary positions, but that's already in purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, with the 'params' object (KundliInput) describing birth details and 'node_type' describing the mean/truenode option. The description adds that planetary degrees are used for karaka calculation, but gives no extra meaning for parameters beyond the schema. Baseline 3 is appropriate due to high 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 clearly states it gets Jaimini-specific planetary positions and karakas, specifically Chara Karakas. It distinguishes from siblings like divine_get_planetary_positions and divine_get_jaimini_padas. The specificity of 'Jaimini-specific' and listing examples of karakas makes it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for Jaimini karaka calculations, but does not explicitly state when to use it versus siblings like divine_get_planetary_positions or divine_get_jaimini_padas. Given the large number of siblings, clearer differentiation would help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kaal_chakra_dashaBRead-onlyIdempotent
Get Kaal Chakra Dasha periods for a birth chart.
A nakshatra-based dasha system described by Parashar. Each nakshatra pada maps to specific signs creating unique dasha sequences.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnly, idempotent, and non-destructive, and the description does not contradict those. It adds algorithmic context (Parashar's nakshatra pada-to-sign mapping) rather than operational behavior such as period format, number of periods, or response structure, so it provides only partial additional transparency.
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?
About two short paragraphs with no filler, and the main purpose is front-loaded in the first sentence. The second sentence provides useful distinguishing background but 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?
The rich input schema, output schema, and safety annotations fill most operational gaps, so the tool is callable from description plus schema. It still lacks guidance on how or why to select this dasha system relative to the many sibling dasha 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 description says nothing about the required full birth details, and top-level schema coverage is 0%, so it does not compensate for the missing parameter description. The nested KundliInput fields are well described in the schema, which prevents this from being a complete failure.
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 a specific verb and object ('Get Kaal Chakra Dasha periods') and adds a differentiating explanation of the calculation basis (nakshatra-based, Parashar, pada-to-sign mapping). It is not a mere restatement of the name, but it never explicitly names how it differs from sibling dasha tools such as vimshottari or yogini dasha.
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 over any of the dozens of sibling dasha, panchang, or transit tools, and no prerequisites, exclusions, or alternative tool names. The only implied context is that it applies to a birth chart, which is not enough to route among the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kaal_sarpa_yogaARead-onlyIdempotent
Check for Kaal Sarpa Yoga in the birth chart.
Occurs when all planets are hemmed between Rahu and Ketu. Returns the type of Kaal Sarpa Yoga and its effects.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior. The description adds that it returns the yoga type and effects, which is useful, but it does not disclose additional behavioral details such as calculation method sensitivity or how a non-occurrence is reported. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the action, the defining condition, and the return value. It is front-loaded with the purpose and contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input schema fully documents parameters, the output schema exists, and annotations cover safety and idempotency. The description supplies the remaining essential context: what the tool detects, the qualifying condition, and what it returns. Nothing needed 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 100%, with all birth-detail fields and node_type documented. The description adds no parameter-specific meaning, but none is required because the schema already carries the burden. This matches the baseline for fully covered schemas.
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 and resource: 'Check for Kaal Sarpa Yoga in the birth chart.' It also defines the core condition and states that it returns the yoga type and effects, making the tool's purpose unambiguous and distinct from the many sibling yoga and dosha 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?
Usage is implied clearly by the name and description: use this tool when checking for Kaal Sarpa Yoga. However, it does not explicitly mention alternatives or when not to use it, even though the sibling list contains several other yoga-related tools that could be confused with it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_karanaBRead-onlyIdempotent
Get karana details for a given date and location.
Karana is half of a tithi. There are 11 karanas in Vedic astrology, each with specific qualities for timing activities.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only safety profile is covered elsewhere. The description contributes domain context about what karana is, but no additional behavioral traits such as response format, validation behavior, or system assumptions, so it stays at baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the action front-loaded and the explanatory context kept to a single short paragraph; no redundant filler. It is appropriately sized for a simple read-only lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-only lookup, the combination of the description's conceptual framing and the detailed nested input schema is enough for an agent to call the tool; the output schema covers return value details. It is slightly incomplete only in missing explicit comparison to related panchang 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 schema coverage is 0% and the description only paraphrases the inputs as 'date and location' without mapping to the actual required day/month/year/lat/lon/tzone fields or the optional language parameter. It therefore fails to compensate for the low schema coverage, even though the nested schema itself contains useful property 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?
The description opens with a concrete action ('Get') and a distinct resource ('karana details'), and the follow-up explanation that karana is half of a tithi helps separate it from the similarly named tithi and panchang siblings. It could be stronger by explicitly naming the alternative tool for full panchang or tithi data, so it doesn't fully earn 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?
Usage is implied rather than explicit: the statement that the 11 karanas have qualities 'for timing activities' suggests this tool is for karana-based timing, and the 'date and location' phrase defines the invocation context. There is no explicit when/when-not guidance or mention of sibling tools like divine_get_panchang or divine_get_tithi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kp_cuspalBRead-onlyIdempotent
Get KP Cuspal chart data for a birth chart.
Returns detailed cuspal positions with sign, star, and sub divisions using the KP ayanamsha and unequal house system.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to restate safety. It adds useful behavioral context by disclosing the calculation method ('KP ayanamsha and unequal house system') and the output content ('cuspal positions with sign, star, and sub divisions'). No contradictions with annotations exist, but it does not go beyond these basics.
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 two concise sentences with no redundant wording. The core action and target are front-loaded in the first sentence, and the second sentence adds necessary technical context about the return content and calculation system. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only chart tool with annotations covering safety and an output schema present, the description is largely sufficient. It explains what is returned and the astrological system used, which is enough to guide invocation. The only minor gap is the lack of explicit sibling differentiation, but this does not severely hinder completeness given the clear tool name and purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level parameter schema has 0% description coverage, so the description must compensate for parameter meaning. It only says 'for a birth chart' and does not explain the required params field or its nested birth details. Although the nested KundliInput schema has rich descriptions, the tool description itself adds little parameter-level semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'KP Cuspal chart data' and specifies it returns cuspal positions with sign, star, and sub divisions. This is a specific verb-resource combination that conveys the core function. However, it does not explicitly distinguish itself from closely named siblings like divine_get_kp_cuspal_sub or divine_get_kp_cuspal_significator, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a birth chart' gives clear context that this tool applies to birth chart data, implying the general use case. There is no explicit guidance on when to prefer this tool over related KP cuspal siblings, nor any exclusions or alternative recommendations. The usage is implied rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kp_cuspal_significatorARead-onlyIdempotent
Get KP Planetary-Cuspal Significator Table.
A comprehensive table showing which houses each planet signifies as star lord and sub lord. Core of KP prediction methodology.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 no contradiction exists. The description adds behavioral context by describing the output as a 'comprehensive table' with house significations as star lord and sub lord, giving a clear sense of the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two succinct sentences: the first names the resource, the second defines its content and significance. There is no filler, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a richly documented input schema, an output schema, and safety annotations, the description provides enough context for an agent to understand what the tool returns. The only notable gap is the lack of explicit differentiation among the many KP sibling tools, though the specialized name and content description mitigate this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all birth details and node_type already fully documented. The description does not add parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, 'KP Planetary-Cuspal Significator Table', and elaborates its function: 'showing which houses each planet signifies as star lord and sub lord'. This clearly distinguishes it from sibling KP tools like divine_get_kp_cuspal or divine_get_kp_planetary_sub.
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 'Core of KP prediction methodology' implies usage for KP predictions, but there is no explicit guidance on when to use this tool versus alternatives or when not to use it. The large sibling list makes this more ambiguous than necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kp_cuspal_subBRead-onlyIdempotent
Get KP Cuspal Sub Lords for all house cusps.
Returns the sub lord of each house cusp, the primary factor for KP-based predictions about that house's significations.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds that the output is organized by house cusp and explains the role of sub lords in KP predictions, but it does not disclose response structure, pagination, or any edge cases. This is adequate given the strong annotation coverage but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences plus a one-line summary, with the core action front-loaded. Every sentence adds meaningful information about scope, output content, or interpretational value, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent lookup tool with a detailed input schema and an output schema, the description is nearly complete: it states the resource, the output granularity (all house cusps), and the purpose. A minor gap is that it does not differentiate among the closely related KP cuspal tools, but that is a usage-guidance concern rather than a completeness gap for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description says nothing about the birth-detail parameters, but the nested KundliInput schema provides detailed descriptions for every field (day, month, year, hour, min, lat, lon, etc.). Since the schema carries the parameter documentation burden, the tool description does not need to repeat it; the single 'params' argument is also obvious from the schema structure.
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-resource pair, 'Get KP Cuspal Sub Lords for all house cusps,' and clarifies that the tool returns the sub lord of each house cusp, which is a concrete deliverable. It does not explicitly contrast itself with similar KP siblings like divine_get_kp_cuspal or divine_get_kp_cuspal_significator, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over the many related KP tools (e.g., kp_cuspal_significator, kp_planetary_sub, kp_cuspal). The phrase 'KP-based predictions' hints at a general use case but provides no exclusion criteria or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kp_planetary_positionsARead-onlyIdempotent
Get KP Planetary Positions for a birth chart.
Returns planetary positions calculated using KP ayanamsha with sign lord, star lord, and sub lord for each planet.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 useful behavioral context by naming the calculation system (KP ayanamsha) and the exact output components (sign lord, star lord, sub lord), which is not redundant with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. It front-loads the core purpose and then adds the most decision-relevant technical detail. Every sentence 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?
With full schema coverage, an output schema, and strong safety annotations, the description does not need to repeat structured information. It covers the key semantic differentiator (KP ayanamsha and lord levels), and the remaining gaps are mostly explicit sibling-routing guidance, which is more a usage-guideline concern.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and every parameter, including the nested birth-detail fields, has an example and description. The tool description does not add parameter-level meaning, but the schema already carries that burden, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get KP Planetary Positions for a birth chart'. It further clarifies the distinguishing detailโKP ayanamsha with sign lord, star lord, and sub lordโso it is clearly separable from generic planetary position tools like divine_get_planetary_positions.
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 a clear context: this is for birth charts and uses the KP system. It does not explicitly name alternatives or state when not to use it, but the KP terminology and lord-level outputs imply the intended use case well enough for an agent to route correctly among similar sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kp_planetary_subARead-onlyIdempotent
Get KP Planetary Sub Lords for all planets.
Returns the star lord and sub lord for each planet in the KP system, essential for KP-based event prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds useful output-content context (star lord and sub lord) but does not disclose any additional behavioral traits like rate limits, data freshness, or response pagination. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence states the core purpose, the second adds output detail and use context. Everything 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?
With an output schema present, the return values are presumably documented there, so the description does not need to detail them further. The description, combined with the well-covered input schema and rich annotations, gives an agent sufficient information to call the tool correctly. It could be more explicit about how this differs from nearby KP siblings, but overall it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter already has a clear description. The tool description adds no parameter-specific semantics; it only states the overall output. Baseline 3 is appropriate given the schema carries the full parameter meaning.
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 clear verb-resource pair ('Get KP Planetary Sub Lords') and specifies scope ('for all planets'). It also clarifies the actual output ('star lord and sub lord'), which distinguishes it from position-focused siblings like divine_get_kp_planetary_positions, though it does not explicitly name alternatives.
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 implies usage for KP-based event prediction ('essential for KP-based event prediction'), giving a clear context. However, it offers no exclusions, prerequites, or guidance on when to choose this over related tools such as divine_get_kp_cuspal_sub or divine_get_sub_planet_positions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kundli_transit_ascendantARead-onlyIdempotent
Get transit analysis from the Ascendant (Lagna) on a chosen transit date.
Shows planetary transits on the given date analyzed from the birth Ascendant, indicating effects on different life areas. Optionally set transit time (hour/min/sec) and chart styling.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| chart_type | No | Chart style: 'north' (diamond) or 'south' (square) | |
| line_color | No | Chart line color as hex (e.g., '#333333') | |
| sign_color | No | Sign label color as hex (e.g., '#333333') | |
| chart_color | No | Chart background color as hex (e.g., '#ffffff') | |
| transit_day | Yes | Transit day (e.g., '24') | |
| transit_min | No | Transit minute (e.g., '00') | |
| transit_sec | No | Transit second (e.g., '00') | |
| planet_color | No | Planet label color as hex (e.g., '#333333') | |
| transit_hour | No | Transit hour in 24h format (e.g., '13') | |
| transit_year | Yes | Transit year (e.g., '2025') | |
| transit_month | Yes | Transit month (e.g., '05') | |
| show_planet_retro | No | Set '1' to mark retrograde planets on the chart, '0' to hide | |
| show_planet_degree | No | Set '1' to show planet degrees on the chart, '0' to hide |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 behavioral context by clarifying that the analysis is based on the birth Ascendant, that transit time is optional, and that chart styling can be customized. No contradiction with annotations is present.
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 three sentences with no wasted words. It front-loads the core purpose, then explains what the analysis shows, and finally notes optional settings. Each sentence earns its place and the structure is easy 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?
Given the tool's 14 parameters, the description is appropriately complete because the input schema documents every parameter and an output schema exists. The description explains the essential purpose, the Ascendant-based analysis, and optional transit time/styling. It could name a sibling like divine_get_kundli_transit_moon for extra routing clarity, but that is not essential 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 100%, so the baseline is 3. The description adds value by grouping the optional transit time components and chart styling settings, and by explaining that the birth details are used to determine the Ascendant from which transits are analyzed. This semantic framing goes beyond the individual parameter 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?
The description states a specific verb and resource: 'Get transit analysis from the Ascendant (Lagna) on a chosen transit date.' It clearly differentiates from sibling tools like divine_get_kundli_transit_moon by anchoring the analysis to the birth Ascendant rather than the Moon. The second sentence reinforces the scope by describing what the output covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this when you want planetary transit effects analyzed from the birth Ascendant on a given date. It does not explicitly name alternatives or exclusions, but the Ascendant-specific framing is enough to route an agent correctly among the many transit-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_kundli_transit_moonARead-onlyIdempotent
Get transit analysis from the Moon sign on a chosen transit date.
Shows planetary transits on the given date analyzed from the birth Moon sign, the most commonly used transit reference in Vedic astrology. Optionally set transit time (hour/min/sec) and chart styling.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| chart_type | No | Chart style: 'north' (diamond) or 'south' (square) | |
| line_color | No | Chart line color as hex (e.g., '#333333') | |
| sign_color | No | Sign label color as hex (e.g., '#333333') | |
| chart_color | No | Chart background color as hex (e.g., '#ffffff') | |
| transit_day | Yes | Transit day (e.g., '24') | |
| transit_min | No | Transit minute (e.g., '00') | |
| transit_sec | No | Transit second (e.g., '00') | |
| planet_color | No | Planet label color as hex (e.g., '#333333') | |
| transit_hour | No | Transit hour in 24h format (e.g., '13') | |
| transit_year | Yes | Transit year (e.g., '2025') | |
| transit_month | Yes | Transit month (e.g., '05') | |
| show_planet_retro | No | Set '1' to mark retrograde planets on the chart, '0' to hide | |
| show_planet_degree | No | Set '1' to show planet degrees on the chart, '0' to hide |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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's 'Shows planetary transits' aligns with read-only behavior and adds that transit time and chart styling are optional, but it does not disclose additional behavioral nuances such as error conditions or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences front-load the core purpose and then add only relevant context: the Moon-sign reference, the most-common-usage note, and optional time/chart settings. There is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema with all parameters documented, explicit annotations, and an output schema, the description covers the essential use case and optional settings. An agent can call the tool correctly by combining the schema with this description; no critical behavioral information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 14 parameters individually described. The description's mention of optional transit time and chart styling adds a useful conceptual grouping but does not add meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific operation ('Get transit analysis') and the resource/reference frame ('from the birth Moon sign') on a chosen transit date, which clearly distinguishes it from ascendant-based transit tools like divine_get_kundli_transit_ascendant. The phrase 'the most commonly used transit reference in Vedic astrology' further pins down the tool's 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?
It provides clear context: this tool is for Moon-sign transit analysis on a chosen date, and notes that this reference is the most commonly used in Vedic astrology. It does not explicitly name sibling alternatives or provide exclusion criteria, but the context is sufficient to infer when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_antardasha_contentARead-onlyIdempotent
Get textual Lal Kitab interpretation of a Mahadasha-Antardasha combination (no birth data needed).
Returns the Lal Kitab reading for the named period pair. Not every planet pair is valid; the API lists the valid antardashas on mismatch.
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code (default 'en') | en |
| maha_dasha | Yes | Mahadasha planet: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu | |
| antar_dasha | Yes | Antardasha planet. Must be a valid antardasha for the chosen mahadasha in the Lal Kitab sequence; on a mismatch the API replies with the valid options (e.g. for saturn: rahu, mercury, saturn) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false). Beyond those, the description adds genuinely useful behavior: 'Not every planet pair is valid; the API lists the valid antardashas on mismatch'. This tells the agent that invalid input yields a fallback payload rather than an error, which is non-obvious and not carried in the annotations. The 'no birth data needed' caveat is additional useful context. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence front-loads the core purpose plus the key no-birth-data caveat. The short second paragraph adds scope and the mismatch behavior in two brief sentences. There is minor redundancy โ 'textual Lal Kitab interpretation' and 'Returns the Lal Kitab reading' say nearly the same thing โ but overall the description is tight and scannable.
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 simple read-only retrieval tool with 100% schema coverage, a full set of safety annotations, and an output schema (so return format is documented elsewhere). The description covers the two non-obvious facts an agent must know: no birth data required, and invalid pairs return the valid option list rather than failing. The only real gap is the lack of explicit wiring to the sibling divine_get_lal_kitab_mahadasha_content, but overall the tool is well specified for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The antar_dasha schema description already covers the mismatch behavior ('on a mismatch the API replies with the valid options'), so the tool description adds no parameter meaning beyond it. The description's 'named period pair' phrasing adds nothing the schema lacks. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get textual Lal Kitab interpretation of a Mahadasha-Antardasha combination'. The phrase 'no birth data needed' usefully narrows scope, distinguishing this from general dasha tools like divine_get_antar_dasha_analysis. However, it never explicitly contrasts with the closest sibling divine_get_lal_kitab_mahadasha_content, leaving the agent to infer the difference (antardasha pair vs. single mahadasha) 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?
The description implies when to use it โ when you want a period-pair reading without birth data โ but gives no explicit routing. It does not mention alternatives or state when NOT to use it, such as preferring divine_get_lal_kitab_mahadasha_content for a single mahadasha interpretation. The mismatch note is behavioral guidance, not usage guidance. This meets the minimum but leaves sibling differentiation to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_conjunctionsBRead-onlyIdempotent
Get Lal Kitab planetary conjunctions for a birth chart.
Returns the planet combinations present in the chart and their Lal Kitab interpretation.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description only needs to add output context. It does add that the result contains planet combinations and Lal Kitab interpretation, but it discloses no operational traits such as response formatting, language handling, or calculation scope. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the main action front-loaded. Every sentence earns its place and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input and output schemas cover invocation and return structure, and the description states the resource and return concept. However, with roughly a hundred sibling tools, the lack of usage boundaries or selection guidance leaves the description incomplete for an agent deciding between similar Lal Kitab 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 top-level 'params' parameter has no schema description (0% coverage), and the description only says 'for a birth chart.' It does not explain which birth details are required or how they map to the conjunction computation, so the prose fails to compensate for the low schema 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 uses a specific verb and resource: 'Get Lal Kitab planetary conjunctions for a birth chart.' It also clarifies the output as 'planet combinations present in the chart and their Lal Kitab interpretation,' which distinguishes it from sibling tools like planetary positions or planet analysis.
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 about when to use this tool versus the many sibling Lal Kitab tools. The phrase 'for a birth chart' gives minimal context, but no alternatives, exclusions, or selection criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_dashaCRead-onlyIdempotent
Get Lal Kitab dasha periods for a birth chart.
Returns the Lal Kitab dasha timeline (35-year cycle) with the ruling planet for each period.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the description need not repeat that. It adds useful output context (35-year cycle, ruling planet) but does not mention any limitations, error conditions, or input requirements beyond general 'birth chart'.
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 no filler; the main action is front-loaded and the second sentence adds concrete output detail. Every sentence 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?
Despite annotations and an output schema, the description omits usage selection guidance among a large set of dasha-related sibling tools and does not clarify the input contract. An agent would need to inspect the schema and sibling names to decide when this tool is appropriate.
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 schema description coverage at 0% at the top level, the description should compensate by explaining parameter requirements, but it provides none. It only refers to 'a birth chart' without detailing the required birth details (date, time, place, coordinates, timezone), leaving the agent dependent entirely on 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 clearly states it retrieves Lal Kitab dasha periods and specifies the 35-year cycle with ruling planet per period. This is specific enough to distinguish from generic dasha tools, though it does not explicitly compare with sibling tools like divine_get_lal_kitab_mahadasha_content.
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 is provided on when to use this tool versus the many sibling dasha tools (vimshottari, yogini, kaal_chakra, lal_kitab_mahadasha_content, etc.). The description only states what it does, leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_debtsARead-onlyIdempotent
Get Lal Kitab debts (rin) for a birth chart.
Returns the karmic debts identified in the chart per Lal Kitab, such as self, mother, relative or unborn debts.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds context by specifying the output: 'karmic debts identified in the chart per Lal Kitab, such as self, mother, relative or unborn debts.' This goes beyond the annotations by describing the nature 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?
The description is two sentences, front-loaded with the core purpose, and efficiently states what the tool returns. 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?
For a tool requiring a rich KundliInput with many fields, the description provides minimal context. However, an output schema exists, so return format isn't needed. The description does not mention input requirements beyond 'birth chart,' though the nested schema has detailed field descriptions. It is adequate but not thorough.
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 the top-level 'params' parameter, and the description does not mention any input requirements or fields. It only says 'for a birth chart,' which is too vague. Since the schema coverage is low, the description should compensate by explaining parameters (e.g., needing full birth details, timezone, etc.), but 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?
The description clearly states the tool retrieves 'Lal Kitab debts (rin) for a birth chart,' with a specific verb (get), resource (debts), and domain (Lal Kitab). It also lists example debt types, distinguishing it from sibling tools like planetary positions or dasha analysis.
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 implies when to use it (when karmic debts are needed) but provides no explicit exclusions or comparisons to alternatives. It doesn't say 'use this instead of X' or note prerequisites like needing a full birth chart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_horoscope_chartARead-onlyIdempotent
Generate the Lal Kitab horoscope chart for a birth chart.
Returns the Lal Kitab style chart with planet placements as SVG and image.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, non-destructive behavior. The description adds useful behavioral context by stating exactly what is returned: a Lal Kitab chart with planet placements rendered as SVG and image. It does not disclose potential limitations, but the annotations cover the safety profile.
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 two short sentences with no filler. It front-loads the core purpose and immediately follows with the output format, making the toolโs behavior easy to grasp at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, read-only annotations, and the stated output format, the description is largely complete for correct invocation. It would benefit from distinguishing this tool from the many sibling chart tools, but the essential call contractโbirth details in, Lal Kitab SVG/image outโis clear.
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 itself adds no parameter-level guidance and does not compensate for the low top-level schema description coverage. However, the nested KundliInput schema provides detailed descriptions and examples for each birth field, so the agent can still resolve parameter meaning from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Generate'), a concrete resource ('Lal Kitab horoscope chart'), and the output format ('SVG and image'). It is clearly distinguishable from generic horoscope chart tools because it explicitly names the Lal Kitab style and planet placements.
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 alternative tools are named. The intended use is implied by the name and description: use this when you need a Lal Kitab-style chart for a birth chart. However, with many sibling chart tools, explicit routing would be valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_house_positionBRead-onlyIdempotent
Get Lal Kitab house positions for a birth chart.
Returns which planets occupy each of the 12 houses in the Lal Kitab system.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds only that the tool returns per-house planet placements, which is informative but does not disclose extra behavioral traits such as response shape, rate limits, or input validation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the operation and then the result. There is no filler, repetition, or irrelevant detail, and it stays appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations and existing output/input schemas, the core operation is described. However, with more than a hundred sibling tools, the lack of an explicit boundary leaves some selection ambiguity, so the description is minimally complete rather than fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the tool description does not compensate: it mentions only 'birth chart' and gives no guidance on the required birth details or the language parameter. The nested KundliInput schema contains descriptions, but the tool description itself adds almost no parameter-level meaning.
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 and resource ('Get Lal Kitab house positions') and clearly states the return value: which planets occupy each of the 12 houses. It is clear on its own, but it does not explicitly distinguish itself from the many Lal Kitab siblings such as divine_get_lal_kitab_planetary_positions or divine_get_lal_kitab_horoscope_chart, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent should call this when it needs Lal Kitab house positions for a birth chart. However, there is no explicit guidance about when not to use it or which alternative sibling tools are better for related queries, so guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_house_significationARead-onlyIdempotent
Get the Lal Kitab signification of one house for a birth chart.
Returns what the selected house (1-12) signifies per Lal Kitab and how it plays out in the given chart.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| house_no | Yes | House number: '1' through '12' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly=false? Wait, readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds 'Returns what...' which clarifies the output, but it doesn't describe any additional behavioral aspects like authentication, rate limits, or response variability. It is consistent with annotations and adds minimal context beyond purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no fluff. The first sentence states the action, and the second clarifies the house range and what 'signification' entails. Every word 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?
With a detailed schema, annotations, and an output schema present, the description is largely complete for calling the tool correctly. It could be improved by explicitly distinguishing it from sibling Lal Kitab tools, but the core purpose and return behavior are clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description only references 'selected house' and 'given chart' without adding meaning beyond the schema. Baseline 3 applies because no extra parameter context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get the Lal Kitab signification of one house for a birth chart.' It further clarifies scope ('selected house (1-12)') and distinguishes from siblings like divine_get_lal_kitab_house_position by focusing on signification meaning rather than position.
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 implies usage by saying 'one house' and 'given chart', but it gives no explicit guidance on when to choose this tool over the many Lal Kitab siblings (e.g., house_position, planet_analysis, dasha). No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_mahadasha_contentARead-onlyIdempotent
Get textual Lal Kitab interpretation of a Mahadasha period (no birth data needed).
Returns the Lal Kitab reading for the named Mahadasha planet. For the sub-period reading, pair with divine_get_lal_kitab_antardasha_content (the antardasha must be valid for this mahadasha; that tool lists the valid options on a mismatch).
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code (default 'en') | en |
| maha_dasha | Yes | Mahadasha planet: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description does not need to restate those. It adds useful behavioral context beyond the annotations: no birth data is required, the output is textual Lal Kitab reading content, and there is a validation relationship with the antardasha tool. This helps an agent understand constraints and failure behavior without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the core purpose, and the second paragraph adds only the necessary pairing guidance. Every sentence earns its place, with no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-required-parameter tool with a complete input schema and an output schema, the description covers what the tool returns, the key context that no birth data is needed, and how to proceed for sub-period readings. Nothing essential is missing 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?
The schema already documents both parameters with 100% coverage: maha_dasha lists the valid planet values and lan describes the language code with a default. The description's mention of 'named Mahadasha planet' reinforces which parameter drives the call but does not add substantial semantic meaning beyond the schema. The baseline of 3 is appropriate given the high schema 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 states a specific verb and resource: it gets textual Lal Kitab interpretation for a Mahadasha period, and it explicitly names the Mahadasha planet. It also distinguishes itself from the antardasha sibling by stating it is for the main period, not the sub-period. The 'no birth data needed' note further clarifies its 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?
The description clearly says to pair this tool with divine_get_lal_kitab_antardasha_content for sub-period readings, which routes an agent to the correct sibling tool. It also gives a practical caveat that the antardasha must be valid for this mahadasha. It does not discuss broader alternatives such as divine_get_lal_kitab_dasha or analysis tools, but the primary usage decision is well covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_planet_analysisBRead-onlyIdempotent
Get Lal Kitab analysis of one planet in the birth chart.
Returns the Lal Kitab interpretation of the selected planet's placement, including its condition and effects.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| analysis_planet | Yes | Planet to analyze: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully disclosed. The description adds that it returns an interpretation including condition and effects, which is useful contextual information but not a behavioral disclosure beyond what annotations already convey.
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 two sentences with no fluff. The core action ('Get Lal Kitab analysis of one planet') is front-loaded, and the second sentence clarifies the return value. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-only analysis tool with full parameter descriptions and an output schema, this description is sufficient to understand the tool's purpose and output. The only notable gap is the absence of usage alternatives, but that belongs to the usage-guidelines dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for analysis_planet and the full birth details in params. The description adds no parameter semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get Lal Kitab analysis of one planet'. It clearly distinguishes from siblings like divine_get_lal_kitab_planetary_positions (plural) through the explicit 'one planet', and from generic divine_get_planet_analysis through the 'Lal Kitab' qualifier. However, it does not explicitly name any sibling or alternative, so it lacks full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention that divine_get_planet_analysis should be used for non-Lal Kitab analysis, or that this tool is for single-planet interpretation only. The agent must infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_planetary_positionsARead-onlyIdempotent
Get Lal Kitab planetary positions for a birth chart.
Returns planet placements per the Lal Kitab system, the foundation for Lal Kitab analysis and remedies.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 safe read-only profile is covered. The description adds no further behavioral disclosure beyond restating that it returns positions; it does not mention response characteristics, edge cases, or any system-specific behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the action and system name. It is slightly redundantโ'Get Lal Kitab planetary positions' and 'Returns planet placements per the Lal Kitab system' say essentially the same thingโbut it is still concise and free of 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 read-only data-return tool, the combination of annotations, detailed input schema, and output schema covers most invocation needs. The description correctly communicates the Lal Kitab system and natal birth-chart scope. It could be more complete by explicitly naming sibling alternatives such as the generic planetary positions or Lal Kitab varshphal planetary positions, but the main selection criteria are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description itself does not explain parameters, and the top-level `params` property has no description. However, the nested `KundliInput` schema is rich, with descriptions and examples for every field, so agents still get strong parameter guidance from the schema. The description adds only the birth-chart framing already present in `KundliInput`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Get Lal Kitab planetary positions for a birth chart.' It also says the tool returns 'planet placements per the Lal Kitab system,' which distinguishes it from the generic Vedic `divine_get_planetary_positions` and from annual varshphal planetary position 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?
The description implies when to use this tool: when you need Lal Kitab planetary positions for a natal chart, and frames it as 'the foundation for Lal Kitab analysis and remedies.' However, it does not explicitly contrast this with the many sibling planetary-position tools (Vedic, KP, Jaimini, or Lal Kitab Varshphal).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_planet_typesBRead-onlyIdempotent
Get Lal Kitab planet types for a birth chart.
Classifies each planet per Lal Kitab (e.g. benefic, malefic, sleeping, exalted conditions) for the given chart.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, and the description does not contradict them. It adds a modest behavioral detail by naming the classification output (benefic, malefic, sleeping, exalted), but it does not describe limitations, error cases, or other 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?
The description is two short sentences with the main verb and resource front-loaded. The examples are compact and meaningful, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations cover return values and safety profile, and the nested schema defines inputs in detail. However, given the enormous sibling list, the description misses explicit selection guidance and does not clarify the input contract at the top level, leaving a notable 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 0% for the top-level params parameter, and the description does not compensate by explaining what fields the chart input requires beyond saying 'birth chart'/'given chart.' The nested KundliInput schema is detailed, but the description itself adds no parameter-level meaning.
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?
Opening line uses a specific verb and resource ('Get Lal Kitab planet types'), and the second sentence clarifies the classification categories (benefic, malefic, sleeping, exalted). It is clear, but it does not explicitly distinguish this from closely related siblings like divine_get_lal_kitab_planet_analysis or divine_get_lal_kitab_planetary_positions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says 'for a birth chart'/'for the given chart' and gives no guidance about when to choose this tool over alternatives. With over 100 sibling tools, especially many Lal Kitab variants, there is no explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_tevaARead-onlyIdempotent
Get Lal Kitab teva (chart conditions) for a birth chart.
Returns which of the Lal Kitab tevas apply to the chart and what each condition means.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior; the description adds that it returns the applicable tevas plus explanations. It does not add deeper behavioral caveats such as edge cases or failure modes, but there is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the main purpose and then summarize the output. Every word earns its place; there is no redundant or promotional language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotations, rich nested input schema, and existing output schema, the description is complete enough for safe invocation. It would be slightly stronger with a parenthetical or an alternative-tool reference to prevent confusion with other Lal Kitab endpoints, but that gap is minor.
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 itself does not explain the required birth-chart parameters, but the input schema's nested KundliInput definition contains detailed descriptions for every field and notes that full birth details are required. The mention of 'a birth chart' gives the agent the conceptual context for the single params object, so the schema carries the burden adequately.
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 ('Get') and identifies the resource precisely: Lal Kitab teva, glossed as 'chart conditions' for a birth chart. It also states the return nature, which distinguishes it from the many other Lal Kitab sibling tools, though it does not explicitly name a sibling 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?
The description makes the context clear: use it when you need which Lal Kitab tevas apply to a birth chart and their meanings. It provides no exclusions or alternative tool names, but the domain-specific phrasing is enough to guide selection among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_varsha_praveshARead-onlyIdempotent
Get the Lal Kitab Varsha Pravesh (annual chart entry) for a chosen year.
Returns the moment the varshphal year begins for the native and the entry chart details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2026') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (readOnlyHint, idempotentHint, non-destructive). The description adds modest behavioral context by saying the tool returns the moment the varshphal year begins and entry chart details, but it does not go further on edge cases, required data sensitivity, or response characteristics. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The first sentence states the core operation and the second usefully summarizes the outputs. Every phrase 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?
Given the read-only annotations, complete input schema, and output schema, the description is sufficient for an agent to invoke the tool correctly for an annual chart calculation. It could be slightly stronger by naming how it relates to the many sibling varshphal and Lal Kitab tools, but that gap is not severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters and birth fields. The description only reinforces 'chosen year' and 'native', adding no new semantic detail beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a specific resource ('Lal Kitab Varsha Pravesh'), and clarifies it as the annual chart entry, adding what is returned: the start moment and entry chart details. It is clear and not tautological, though it does not explicitly differentiate itself from the near-identical sibling divine_get_varshphal_varsha_pravesh.
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 reasonably implied: this is for computing the Lal Kitab annual chart entry for a chosen year. However, the description gives no explicit guidance about when to prefer this tool over alternatives, such as divine_get_lal_kitab_varshphal_chart or divine_get_varshphal_varsha_pravesh, and no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_varshphal_chartARead-onlyIdempotent
Generate the Lal Kitab varshphal (annual) chart for a chosen year.
Returns the annual chart as SVG and image for the given year.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2026') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that the tool returns an SVG and image, which is a useful behavioral detail for an agent setting expectations. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no redundancy. It states the core action and the output format without wasting 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?
The description provides the essential purpose and output, and an output schema exists (per context), so return values need not be detailed. However, given the large set of sibling varshphal tools, the description does not help an agent distinguish this chart tool from others, leaving some contextual ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% โ all parameters, including varshphal_year and the nested KundliInput fields, have descriptive text. The tool description mentions 'chosen year' but does not add meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific resource ('Lal Kitab varshphal (annual) chart') and the action ('Generate'), and adds the output format (SVG and image). It does not explicitly differentiate from sibling varshphal chart tools, but the name and description are sufficiently specific to identify the tool's 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. The description only explains what it does; it does not mention any conditions, prerequisites, or alternative tools such as divine_get_varshphal_horoscope_chart or divine_get_lal_kitab_varshphal_planetary_positions, leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_varshphal_munthaARead-onlyIdempotent
Get the Lal Kitab varshphal Muntha for a chosen year.
Returns the Muntha house and its interpretation for the native's annual chart.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2026') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the tool's safe, read-only nature is fully covered by structured metadata. The description adds that it returns the Muntha house and interpretation for the annual chart, which is modest useful context. However, it discloses no additional behavioral traits such as auth requirements, rate limits, or 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?
The description is two short sentences with no filler. The core action is front-loaded in the first sentence, and the second sentence clarifies the exact output. Every phrase contributes meaningful 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?
Given the rich, fully documented input schema, robust annotations, and presence of an output schema, this description is largely complete for a read-only annual-chart tool. It clearly states what the tool does and what it returns. The only notable gap is explicit sibling differentiation among the many similar Lal Kitab/varshphal tools, but that is partially handled by the tool name 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?
The input schema has 100% description coverage: varshphal_year is documented, and the nested KundliInput fields all have descriptions with examples. The description's reference to 'chosen year' and 'annual chart' aligns with the schema but adds no new semantic detail. This matches the baseline of 3 when the schema carries the parameter documentation.
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 a specific verb and resource: 'Get the Lal Kitab varshphal Muntha for a chosen year,' which clearly names the exact tradition, chart type, and artifact. It then states what is returnedโ'the Muntha house and its interpretation'โwhich distinguishes it from sibling chart or planetary-position tools. The purpose is unambiguous despite the domain-specific terminology.
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 implies the use case through 'for a chosen year' and 'annual chart,' but it does not explicitly compare this tool to alternatives or state when not to use it. With over 100 sibling tools, especially other Lal Kitab and varshphal variants, more explicit selection guidance would be helpful. The current wording provides adequate but not strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_lal_kitab_varshphal_planetary_positionsBRead-onlyIdempotent
Get Lal Kitab varshphal (annual chart) planetary positions for a chosen year.
Returns the planet placements in the annual chart for the given year.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2026') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it returns planet placements in the annual chart, but does not disclose details like whether the output is a list, how positions are formatted, or any special behavior. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key purpose. The second sentence is somewhat redundant with the first, but the overall length is appropriate and every sentence is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and annotations covering safety, the description is adequate for a read-only lookup. However, with many similar sibling tools, it could be more complete by explicitly distinguishing itself from divine_get_lal_kitab_planetary_positions and divine_get_varshphal_planetary_positions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds the meaning of varshphal_year ('chosen year') and clarifies the output is for the annual chart, but it does not add detail beyond the schema's own parameter 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?
The description states a specific verb ('Get') and resource ('Lal Kitab varshphal (annual chart) planetary positions'), and clarifies it returns planet placements for a chosen year. It is clear enough to distinguish from the many sibling tools, though it does not explicitly name a sibling 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?
The description implies usage: call this when you need planetary positions in a Lal Kitab annual chart for a specific year. It does not explicitly state when not to use it or name alternatives like divine_get_lal_kitab_planetary_positions or divine_get_varshphal_planetary_positions, which are close siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_maha_dasha_analysisBRead-onlyIdempotent
Get textual interpretation of a Maha Dasha period (no birth data needed).
Returns predictions for the named Maha Dasha covering career, health, relationships, and finances.
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code (default 'en') | en |
| maha_dasha | Yes | Maha Dasha planet: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it returns textual interpretation and covers specific life areas (career, health, relationships, finances), which is useful. However, it doesn't disclose details like whether the predictions are generic or personalized, or any limitations of the interpretation. The description adds some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two short paragraphs. The first sentence front-loads the core purpose and the key differentiator (no birth data needed). The second sentence lists the covered life areas. No wasted words, though it could be slightly more structured with explicit usage 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?
The tool has an output schema, so return values are presumably documented there. The description covers the core purpose and life areas. However, given the large sibling set of dasha tools, it doesn't fully clarify how this differs from vimshottari_dasha, antar_dasha, or pratyantar_dasha. The 'no birth data needed' hint is helpful but not a complete differentiation. For a simple 2-param tool with full schema coverage, it's adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description mentions 'Maha Dasha period' and 'named Maha Dasha' which aligns with the maha_dasha parameter, but doesn't add syntax or format details beyond the schema. The lan parameter is not mentioned in the description, but the schema covers it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it returns textual predictions for a Maha Dasha period covering career, health, relationships, and finances. It also notes that no birth data is needed, which helps distinguish it from other dasha tools. However, it doesn't explicitly differentiate from the many sibling dasha tools like divine_get_antar_dasha_analysis or divine_get_vimshottari_dasha, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call this when you need a Maha Dasha interpretation without birth data. It doesn't explicitly state when to use this over alternatives like antar dasha or pratyantar dasha analysis, nor does it mention any exclusions. The 'no birth data needed' hint provides some context, but the guidance is mostly implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_malayalam_festivalsARead-onlyIdempotent
Get major Malayalam (Kerala) festivals for a year.
Returns Vishu Kani, Onam, Thrissur Pooram, Guruvayur Ekadashi, Makara Vilakku and other Kerala festivals with dates and images.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (e.g., '28.6139') | |
| lon | Yes | Longitude (e.g., '77.2090') | |
| year | Yes | Year (e.g., '2027') | |
| place | Yes | Place name (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that the tool 'Returns ... with dates and images,' which is return-content context rather than deeper behavioral disclosure.
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 scope; the second sentence earns its place by giving concrete festival examples and the expected output content. No filler or repetition beyond minor 'Kerala' recurrence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only festival lookup with an output schema, strong annotations, and fully described parameters, the definition is largely complete. The only meaningful gap is that the description does not explain why location/timezone parameters are required for computing Malayalam festival dates, though the schema examples make invocation feasible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: all five required parameters have descriptions and examples in the input schema. The tool description adds no additional meaning about how lat/lon/place/tzone affect the returned festival dates, so the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'Get major Malayalam (Kerala) festivals for a year.' It is specific and the festival examples narrow the scope, but it does not explicitly contrast with sibling tools such as divine_get_tamil_festivals or divine_get_festivals_by_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?
Usage context is implied by 'Malayalam (Kerala) festivals for a year,' so an agent can infer when to use it. However, there is no explicit guidance on when not to use it or which alternative sibling tool to choose for date-based, English-calendar, or Tamil festivals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_manglik_doshaBRead-onlyIdempotent
Check for Manglik Dosha (Mangal Dosha / Kuja Dosha) in the birth chart.
Important for marriage compatibility. Returns Manglik status, percentage, and cancellation factors.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 that it returns Manglik status, percentage, and cancellation factors, which is useful but doesn't disclose additional behavioral nuances like edge cases or 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?
The description is two short paragraphs: the first states the core purpose, the second adds the use context and return info. No fluff, and the primary action is front-loaded. Slightly redundant that 'Manglik' and 'Mangal/Kuja' are repeated, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a complex input schema (13 fields) but all are well-documented in the schema itself. The description covers the purpose and return type, and the output schema exists to handle return details. For a read-only tool with these structured supports, the description is adequate but not exhaustive.
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 description provides no parameter-level detail; however, the input schema includes thorough descriptions for all fields (e.g., day, month, lat, lon). Since schema coverage is high in the schema itself, the description adds no extra value beyond the schema, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check for Manglik Dosha') on a clear resource (birth chart) and includes the important context of marriage compatibility. It doesn't explicitly differentiate from sibling tools like divine_get_matching_manglik, but the single-chart focus is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Important for marriage compatibility', which implies a use case, but it doesn't explicitly state when to use this tool versus the matching tool or other dosha checks. No exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_matching_basic_astroARead-onlyIdempotent
Get basic astrological details for both persons in matchmaking.
Returns rashi, nakshatra, tithi, gana, nadi, varna, etc. for both P1 and P2 side by side for comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior. The description adds useful context by naming returned fields and the side-by-side dual-person output, but it does not describe response shape, language behavior, or error conditions. With annotations covering the safety profile, a mid score 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 short sentences, front-loaded with the core purpose and followed by concrete output examples. No filler or redundant 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?
Given the rich input schema, output schema, and annotations, the description is mostly sufficient for tool selection. It clearly conveys the dual-person basic astrology use case, though it could be stronger with an explicit note about when this tool is preferred over related matchmaking 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 description provides no parameter guidance, and schema description coverage is reported as 0%. Although the nested MatchmakingInput schema contains detailed field descriptions, the tool description itself does not compensate for the low coverage or note that full birth details for both persons are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get basic astrological details for both persons in matchmaking.' It explicitly enumerates returned fields and highlights the P1/P2 side-by-side comparison, which distinguishes it from single-person tools like divine_get_basic_astro_details.
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 matchmaking context and dual-person comparison imply when to use this tool, but it never explicitly says when to choose it over alternatives such as divine_get_basic_astro_details, divine_get_ashtakoot_milan, or divine_get_matching_manglik. There are no exclusions or alternative routing cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_matching_horoscope_chartARead-onlyIdempotent
Generate horoscope charts for both persons in matchmaking.
Returns charts for both P1 and P2 for the specified divisional chart type, enabling visual comparison of birth charts.
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code | en |
| p1_day | Yes | Birth day of person 1 | |
| p1_lat | Yes | Latitude of person 1's birth place | |
| p1_lon | Yes | Longitude of person 1's birth place | |
| p1_min | Yes | Birth minute of person 1 | |
| p1_sec | No | Birth second of person 1 | 0 |
| p2_day | Yes | Birth day of person 2 | |
| p2_lat | Yes | Latitude of person 2's birth place | |
| p2_lon | Yes | Longitude of person 2's birth place | |
| p2_min | Yes | Birth minute of person 2 | |
| p2_sec | No | Birth second of person 2 | 0 |
| p1_hour | Yes | Birth hour of person 1 (24h) | |
| p1_year | Yes | Birth year of person 1 | |
| p2_hour | Yes | Birth hour of person 2 (24h) | |
| p2_year | Yes | Birth year of person 2 | |
| chart_id | Yes | Chart type: D1, D9, etc. | |
| p1_month | Yes | Birth month of person 1 | |
| p1_place | Yes | Birth place of person 1 | |
| p1_tzone | Yes | Timezone of person 1 | |
| p2_month | Yes | Birth month of person 2 | |
| p2_place | Yes | Birth place of person 2 | |
| p2_tzone | Yes | Timezone of person 2 | |
| p1_gender | Yes | Gender of person 1 | |
| p2_gender | Yes | Gender of person 2 | |
| p1_full_name | Yes | Full name of person 1 | |
| p2_full_name | Yes | Full name of person 2 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds that it returns both P1 and P2 charts, which is useful, but it does not disclose additional behavior such as error handling, chart format details, or any operational constraints.
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 concise and front-loaded with the core purpose, followed by the return detail. There is minor redundancy between 'Generate horoscope charts' and 'Returns charts for both P1 and P2,' but the overall length is appropriate and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 26 parameters and a rich schema plus an output schema, the description adequately covers the essential outcome: generating and returning both matchmaking charts. It does not need to repeat parameter details already present in the schema, though it could briefly mention that full birth details for both persons are required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter. The description adds only minimal semantic value by referring to the 'specified divisional chart type,' which aligns with chart_id; this is the expected baseline when the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Generate'), a specific resource ('horoscope charts for both persons in matchmaking'), and clarifies that both P1 and P2 charts are returned for a specified divisional chart type. This clearly distinguishes it from single-person chart tools and other matching 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?
The phrase 'in matchmaking' and 'enabling visual comparison' imply the intended use case, so an agent can infer when this tool is appropriate. However, it does not explicitly mention when not to use it or name alternatives such as divine_get_horoscope_chart or other matching-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_matching_manglikBRead-onlyIdempotent
Check Manglik Dosha for both people in a matchmaking context.
Compares Manglik status of both individuals to assess marriage compatibility when either person is Manglik.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, and the description does not contradict them. It adds context about comparison behavior, but does not disclose additional details such as output structure or edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main purpose, and has no filler beyond a slight redundancy between 'both people' and 'both individuals.' It is easy 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?
The presence of an output schema and read-only annotations reduces the need for the description to explain return values and safety. Still, the minimal description leaves gaps around parameter requirements and when to choose this tool over the single-person divine_get_manglik_dosha.
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 does not compensate by explaining that full birth details for both persons are required or how the p1_* and p2_* fields are organized. It only implies that two people are involved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: checking Manglik Dosha for both people in a matchmaking context and comparing their statuses for marriage compatibility. It is specific and helps distinguish this from non-matching tools, though it does not explicitly contrast it with the sibling tool divine_get_manglik_dosha.
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 'in a matchmaking context' and 'when either person is Manglik' imply when the tool should be used. However, it does not explicitly state when not to use it or point to the single-person Manglik alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_matching_planetary_positionsARead-onlyIdempotent
Get planetary positions for both persons in matchmaking.
Returns side-by-side planetary positions for P1 and P2, useful for detailed compatibility analysis beyond standard matching scores.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, non-destructive behavior, so the description does not need to repeat safety traits. It adds useful output-shape context ('side-by-side planetary positions for P1 and P2') and domain framing. It does not disclose response size, pagination, or other potential quirks, but with annotations and an output schema present, this is acceptable.
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 two short sentences with no filler. The first sentence front-loads the core action and resource, and the second sentence adds value by clarifying the output format and use case. Every sentence 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?
Given the rich annotations, an output schema, and a detailed property schema, the description is mostly complete for an agent to select and invoke the tool. It clearly identifies the pair-based nature and intended purpose. The main gap is not explaining how this relates to the very similar single-person divine_get_planetary_positions tool, but overall the context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% at the top level, so the description must compensate for parameter guidance, but it does not. It only restates that there are two persons, while the actual input is a complex object requiring 22 fields. The nested schema properties have examples, but the tool description itself adds almost no parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get planetary positions for both persons in matchmaking.' It clearly distinguishes itself from single-person planetary position tools by emphasizing 'side-by-side' positions for P1 and P2, and it names the domain purpose (compatibility analysis). This is not a tautology and clearly identifies what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an implied usage context: 'useful for detailed compatibility analysis beyond standard matching scores.' This helps an agent choose it over standard matching-score tools. However, it does not explicitly name alternatives like divine_get_planetary_positions or state when not to use this tool, leaving some routing inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_matching_vimshottari_dashaARead-onlyIdempotent
Get Vimshottari Dasha for both persons in matchmaking.
Returns dasha periods for both P1 and P2 to compare planetary periods and assess timing compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, non-destructive behavior. The description adds useful context about the output (periods for both P1 and P2) and its purpose, but does not describe return format, pagination, or any other behavioral nuances. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and contains no filler. Every word contributes to identifying the tool's purpose and output 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?
The description is adequate for a read-only, output-schema-backed tool: it states the key purpose and the dual-person scope. However, it does not clarify what 'dasha periods' include (e.g., mahadasha/antardasha), nor does it explicitly warn against using this for single-person analysis. Given the vast sibling list, slightly more context would improve completeness.
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 contains no parameter information. The schema does document the nested fields (e.g., p1_day, p2_day) with individual descriptions, but the given context signal indicates 0% schema description coverage for the tool's direct parameter. Since the description does not compensate for this perceived gap, it offers minimal value 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?
The description uses a specific verb ('Get'), a specific resource ('Vimshottari Dasha'), and a clear context ('for both persons in matchmaking'). This distinguishes it from single-person dasha tools and from other matching tools (e.g., matching_manglik) that operate on different astrological elements.
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 implies usage in the matchmaking context ('assess timing compatibility') but does not explicitly state when to choose this tool over alternatives like divine_get_vimshottari_dasha (single-person) or other matching tools. No exclusions or alternative-sibling comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_month_nakshatra_listARead-onlyIdempotent
Get daily nakshatra list for a given month.
Returns the nakshatra for each day of the specified month, with start/end times and nakshatra lord details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Month, year, and location | |
| nakshatra_pada | No | Optional: set '1' to include nakshatra pada (quarter) details in the response |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 useful behavioral detail about the response: one nakshatra entry per day with start/end times and lord details, which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The headline action is front-loaded and the supporting sentence adds the only necessary output detail, making it appropriately concise 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?
Given 100% schema parameter descriptions, full annotations, and an output schema, the description is nearly sufficient on its own. It names the output fields and scope, though it could have explicitly noted that location/timezone inputs are required or mentioned the month-scoped tool's relationship to non-list nakshatra siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters already carry descriptive documentation. The description only reinforces that the tool is month-scoped and returns per-day data; it does not need to repeat parameter meanings, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get daily nakshatra list for a given month' - a specific verb, resource, and scope. It also states the exact return content (per-day nakshatra with start/end times and lord details), which distinguishes it from single-day/current nakshatra tools and other monthly list 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?
The 'for a given month' and 'for each day' phrasing implies the use case, and sibling names like divine_get_nakshatra versus divine_get_month_* make the context understandable. However, there is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_month_sunrise_sunset_listBRead-onlyIdempotent
Get daily sunrise and sunset times for a given month.
Returns sunrise and sunset times for each day of the specified month at the given location.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds no additional behavioral context beyond what the annotations provide, such as rate limits, authentication needs, or side effects. It does clarify the monthly scope, but that is already evident from the name and parameters. No extra disclosure beyond the annotations is given.
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 brief and directly to the point, using two short paragraphs. The first sentence front-loads the primary action, and the second clarifies the output scope. There is no fluff or repetition, though it could be slightly more structured, but it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description need not explain return formats. It covers the key aspects: what data is returned (sunrise/sunset times), for what period (each day of a specified month), and for what location (given location). It does not mention the deprecated parameters, but the schema already does. The description is complete enough for an agent to understand the tool's function without needing additional 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?
The schema itself provides detailed descriptions for each parameter (lat, lon, year, month, place, tzone) and even flags deprecated fields (day, lan). The tool description does not mention any parameter details, but the schema carries the semantic weight. Since schema_description_coverage is 0% (meaning the description covers none of the parameters), the description does not compensate, but the schema is sufficient, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get daily sunrise and sunset times for a given month.' It specifies the verb (get), the resource (daily sunrise/sunset times), and the scope (for a given month at a given location). This distinguishes it from the many sibling astrology tools, as it focuses on a distinct astronomical data set.
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 does not provide any guidance on when to use this tool versus alternatives. It simply states what it does without mentioning related tools like divine_get_sun_moon or divine_get_panchang, nor does it offer any exclusionary conditions. An agent would have to infer from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_month_surya_nakshatra_listARead-onlyIdempotent
Get daily Surya (Sun) Nakshatra list for a given month.
Returns the Sun's nakshatra position for each day of the month, useful for solar-based calendar calculations.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds that it returns one position per day and is month-scoped, which is useful but does not disclose anything beyond the annotations and expected output shape. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the main operation. The second sentence slightly restates the first but adds the useful solar-calendar context, so every sentence earns reasonable value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, output schema, and nested parameter descriptions, the description is adequately complete for a read-only month-list tool. It supplies the domain purpose and daily granularity, and the missing details are largely covered by structured schema 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?
The top-level schema signal reports low description coverage, but the nested MonthInput schema actually documents each required parameter. The description itself only adds 'given month' and does not explain location/timezone inputs, so it provides baseline clarity without meaningfully enriching parameter understanding.
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 operation ('Get') on a specific resource ('daily Surya (Sun) Nakshatra list') scoped to a month, which is clear and informative. It is distinguishable from many siblings by the 'Surya (Sun)' qualifier, though it does not explicitly name or contrast a sibling like divine_get_month_nakshatra_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'useful for solar-based calendar calculations' gives a clear purpose but does not explain when to prefer this tool over alternative month-list or nakshatra tools. With a large sibling list, the lack of any 'use this instead of X' or 'not for lunar nakshatra' guidance leaves selection somewhat to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_month_tithi_listBRead-onlyIdempotent
Get daily tithi list for a given month.
Returns the tithi for each day of the specified month with start/end times, paksha, and associated details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this read-only, non-destructive, and idempotent, so the description only needs to add value beyond that. It discloses that the output includes start/end times and paksha, but does not describe pagination, response shape, or any special behavior such as ignoring deprecated day/lan 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 sentences, with the main purpose in the first sentence and return content in the second. No filler or repetition; information is front-loaded and easy 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?
Given that an output schema exists and annotations cover the safety profile, the description is nearly sufficient for an agent to select the tool. It could be improved by noting that day and lan are deprecated or that the endpoint is strictly month-scoped, but the schema already documents those specifics.
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 does not explain any of the required parameters (month, year, place, lat, lon, tzone) or their formats. Although the nested schema $defs contain property descriptions, the context signal reports 0% schema description coverage, so the description itself was expected to compensate; 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?
The description states a specific verb and resource: getting the tithi list for a month, returning each day's tithi with timings and paksha. This clearly differentiates it from sibling tools like divine_get_tithi, though it does not explicitly name the alternative or scoping 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?
The usage context is implied by the phrase 'for a given month' and the monthly-list naming pattern, but there is no explicit guidance about when to prefer this over divine_get_tithi or other monthly list tools. No exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_business_startBRead-onlyIdempotent
Get the Business Start Muhurat for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 description need not repeat safety. The description adds the behavioral scope (month-scoped, location-based, returns auspicious dates with muhurat details). It doesn't disclose more (e.g., default language effect, how dates are formatted, or potential localized responses), but with annotations covering safety, a 3 is reasonable.
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 two short sentences, concise and front-loaded with the core purpose. It includes a one-line summary of the return type. No fluff, though it could be slightly more informative while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only month-scoped muhurat tool with a well-documented input schema and an output schema (though not shown), the description is minimally complete: it tells what it returns. But given the sibling set includes multiple muhurat tools, a sentence explicitly distinguishing this one from divine_get_muhurat_marriage or others would improve completeness. The description also lacks any note on how to interpret the returned auspicious dates or any edge cases (e.g., no auspicious dates in a month).
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 doesn't explain any parameters. However, the schema itself has detailed descriptions for each parameter (month, year, place, lat, lon, tzone, lan). Since schema descriptions are rich, the tool description adds no extra value on parameters, but the baseline is 3 for having a well-documented schema. The 'params' object is also described in the schema as 'Input for month-scoped Muhurat Finder APIs', which is sufficient.
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 the tool returns auspicious dates with muhurat details for Business Start in a given month and location. It names the specific resource (Business Start Muhurat) and distinguishes from siblings (other muhurat tools like marriage, house entering, etc.) through the 'Business Start' qualifier. However, it doesn't explicitly contrast with the very similar 'divine_get_muhurat_*' siblings, leaving some ambiguity for an agent distinguishing among 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?
The description implies it is used for business start muhurat in a given month, but does not explicitly state when to use this versus other muhurat tools or any prerequisites (e.g., needing accurate lat/lon/tzone or the difference from a daily muhurat tool). It doesn't give exclusions or alternatives, but the 'Business Start' specificity gives some implicit guidance for an agent seeking business-related auspicious timings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_do_ghatiBRead-onlyIdempotent
Get the Do Ghati Muhurat for a given date and location.
Returns auspicious timings for the day with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior, so the safety profile is clear. The description adds modest context by stating the return content consists of auspicious timings and muhurat details, but it does not disclose any additional operational behavior such as timezone handling or result limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences with no filler. The first sentence front-loads the action and scope, and the second provides useful return-value context without 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?
For a read-only, idempotent lookup tool with a rich nested input schema and an output schema, this description is largely sufficient to invoke the tool correctly. The main gap is the lack of sibling differentiation for choosing this specific muhurat tool, but operational completeness is otherwise strong.
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 phrase 'date and location' loosely maps to the required day/month/year/place/lat/lon/tzone fields but adds little beyond the schema. The nested PanchangInput definition actually documents each field with examples, so the schema itself carries most of the parameter documentation burden. The description does not meaningfully explain language, timezone, or coordinate semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the specific resource 'Do Ghati Muhurat' for a given date and location. It also notes that it returns auspicious timings and muhurat details. However, it does not explicitly distinguish itself from sibling muhurat tools such as divine_get_muhurat_hora or divine_get_muhurat_marriage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives only the general context of needing a date and location. It provides no guidance on when to use this tool versus other muhurat-related siblings, nor does it mention any exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_foundation_layingARead-onlyIdempotent
Get the Foundation Laying (Bhoomi Pujan) Muhurat for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive operation. The description adds that the result is a list of auspicious dates with muhurat details, which is useful but modest; it does not disclose edge cases, calculation dependencies, or how location/timezone affect 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 tight, front-loaded sentences with no filler. The first states the operation and scope; the second states the output shape. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with a detailed input schema and an output schema present, the description provides enough for correct invocation. Minor omissions such as language selection and explicit sibling differentiation do not block usage.
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 identifies month and location as the core inputs, aligning with the schema's required month, year, place, lat, lon, and tzone. It adds only selection-level meaning, not deeper guidance on how lat/lon/tzone are used, though the nested schema does document each field individually.
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 exact resource ('Foundation Laying (Bhoomi Pujan) Muhurat'), uses the specific verb 'Get', and scopes the operation to month and location. This clearly differentiates it from the many other muhurat and astrology 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?
The description gives clear contextโmonth and locationโand states what is returned, so the intended use case is inferable. However, it does not explicitly say when to prefer this tool over related siblings like marriage, house-entering, or business-start muhurat tools, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_horaBRead-onlyIdempotent
Get the Hora (planetary hour) timings for a given date and location.
Returns auspicious timings for the day with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it returns 'auspicious timings for the day with muhurat details', which is useful but does not disclose specifics like whether the output includes multiple Hora periods, the format of timings, or any limitations. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core purpose. The second sentence adds a small amount of context about the return value. It is concise and free of filler, though it could be slightly more informative about the output structure.
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 an output schema and annotations that cover safety, so the description does not need to explain return values. However, given the large sibling set of muhurat and timing tools, the description lacks enough context to help an agent choose this tool over similar ones. It is adequate but not complete for disambiguation.
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%, but the schema itself has detailed descriptions for each parameter (day, month, year, place, lat, lon, tzone, lan). The description adds no parameter-level meaning beyond the schema, so it does not compensate for the 0% coverage. However, the schema is self-sufficient, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('Hora (planetary hour) timings') for a given date and location, and mentions 'muhurat details'. It is clear about what the tool returns, though it does not explicitly distinguish it from sibling tools like divine_get_auspicious_timings or divine_get_choghadiya, which also deal with time-based auspiciousness.
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 implies usage for getting Hora timings for a date and location, but it does not state when to prefer this tool over alternatives such as divine_get_choghadiya or divine_get_auspicious_timings. There is no explicit when/when-not guidance, so the agent must infer usage from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_house_enteringARead-onlyIdempotent
Get the Griha Pravesh (house-entering) Muhurat for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that it returns 'auspicious dates in the month with muhurat details', but it does not disclose potential caveats such as empty results or precision limitations. This is acceptable but not exceptional.
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 only two sentences and is appropriately front-loaded. The first sentence states the action, resource, and scope; the second summarizes the return value. There is no redundant filler or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, clear annotations, and an output schema, the description is mostly complete for invoking the tool correctly. It clearly names the Griha Pravesh use case and its month/location scope. The only meaningful gap is the absence of explicit guidance about alternatives, but the schema handles the remaining invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions only 'month and location' and does little to explain the required parameters. With schema description coverage at 0%, it fails to compensate by clarifying year, lat, lon, tzone, lan, or the nested params object. The input schema itself has useful descriptions, but the tool description adds almost no parameter-level meaning.
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 begins with a specific verb and resource: 'Get the Griha Pravesh (house-entering) Muhurat'. It clearly identifies the ceremony type and scope, distinguishing it from sibling muhurat tools such as divine_get_muhurat_marriage or divine_get_muhurat_vehicle_purchase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the scope ('for a given month and location') and makes clear this is about house-entering muhurat, but it does not explicitly say when to choose this tool over the many sibling muhurat endpoints or mention any exclusions. The intended use is implied rather than directly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_jain_pachakkhanCRead-onlyIdempotent
Get the Jain Pachakkhan timings for a given date and location.
Returns auspicious timings for the day with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description's verbs 'Get' and 'Returns' are consistent with that. The description adds minimal behavioral context, only noting that it 'Returns auspicious timings for the day with muhurat details,' which is a mild expectation of output. It does not disclose any additional traits (e.g., required timezone format, whether place name is used for timezone lookup, or output structure), but the annotations carry the safety profile, so this is not a major failure.
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 only two sentences, with the primary purpose front-loaded in the first sentence. The second sentence adds a minor expectation of output but is largely redundant ('timings' vs. 'muhurat details'). There is no filler, but it doesn't earn its place fully.
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 an output schema, so return values are documented, but the input side is underdescribed. The description does not cover the nested params structure, the requirement for timezone, or the distinction from other Panchang/muhurat tools. Given the large sibling set, an agent would benefit from more routing context. The annotations cover read-only/idempotent behavior, but not usage semantics.
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 compensate for the lack of parameter documentation. It only says 'for a given date and location,' but does not enumerate the required fields (day, month, year, place, lat, lon, tzone, lan), their formats, or the fact that a nested params object is expected. This leaves an agent with insufficient information to construct a correct request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get the Jain Pachakkhan timings for a given date and location,' which identifies the tool's domain (Jain Pachakkhan) and distinguishes it from general panchang or muhurat siblings like divine_get_panchang and divine_get_auspicious_timings. However, it does not explicitly contrast with alternatives, and the term 'Pachakkhan' is left unexplained, so it is not fully self-contained.
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 guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or pointers to sibling tools such as divine_get_panchang or other muhurat tools. An agent must infer from the name alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_marriageARead-onlyIdempotent
Get the Marriage Muhurat (auspicious wedding dates) for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds output context ('Returns auspicious dates in the month with muhurat details') but no operational caveats such as rate limits or auth requirements. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences: the first defines the core purpose, the second clarifies the output. There is minor redundancy between 'Get the Marriage Muhurat' and 'Returns auspicious dates,' but no filler or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only muhurat tool with an existing output schema and well-described parameters, the description covers the primary use case and result content. Required fields are fully specified in the schema, so no critical information is missing. Details like language and timezone handling are left to the schema, which is acceptable.
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 input schema's $defs block provides explicit descriptions for all parameters (month, year, place, lat, lon, tzone, lan), so schema description coverage is effectively high. The description only restates 'month and location' and adds no format, constraints, or examples beyond what the schema already gives. Thus the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and a precise resource ('Marriage Muhurat (auspicious wedding dates)') scoped to 'a given month and location.' This clearly distinguishes it from sibling muhurat tools like divine_get_muhurat_house_entering or divine_get_muhurat_vehicle_purchase by naming the wedding-specific use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when a marriage muhurat for a specific month and location is needed. It does not explicitly contrast with sibling muhurat tools, but the marriage-specific wording gives unambiguous when-to-use guidance. No exclusions are stated, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_property_purchaseARead-onlyIdempotent
Get the Property Purchase Muhurat for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile: readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false. The description adds a return-value statement ('Returns auspicious dates in the month with muhurat details'), which is useful, but it does not cover edge cases such as months with no auspicious dates or output localisation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, repetition, or boilerplate. The action and resource are front-loaded, and the return content is stated in the second sentence. Every sentence 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 details do not need to be repeated. However, with multiple required inputs and many sibling muhurat tools, the description is minimally complete: it does not explain how location/timezone inputs are used or explicitly distinguish itself from the other muhurat_* siblings beyond its name. Acceptable for a simple lookup, but leaves gaps an agent must resolve from 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?
The context signal reports 0% schema description coverage, so the prose description must compensate for parameter understanding. It only mentions 'month and location', ignoring the other required inputs like year, latitude, longitude, and timezone, and it gives no format or semantics for them. Even though the nested schema contains field descriptions in the given JSON, the description itself adds little over the parameter names.
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 ('Get') and resource ('Property Purchase Muhurat'), and scopes it by month and location. The sibling list includes several muhurat_* tools, and 'Property Purchase' clearly disambiguates this one from vehicle, marriage, and business variants. The second sentence adds what the caller receives: auspicious dates with muhurat details.
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 alternatives are named despite many sibling muhurat tools. The intended usage is strongly implied by the name and 'Property Purchase' wording, so an agent can infer the domain, but there are no routing cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_muhurat_vehicle_purchaseBRead-onlyIdempotent
Get the Vehicle Purchase Muhurat for a given month and location.
Returns auspicious dates in the month with muhurat details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly, openWorld, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds that the tool returns auspicious dates with muhurat details, but it does not disclose calculation source, timezone behavior, or other operational traits. This is acceptable given the strong annotations, but not exceptional.
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 two short, focused sentences with the purpose front-loaded and the output clarified in the second sentence. Every sentence 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?
For a simple read-only lookup with a full input schema and an output schema, the description plus structured metadata covers the essential invocation needs. It lacks sibling differentiation and a more precise definition of 'muhurat details', but those are not required for 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?
The description mentions only 'month and location', while the nested schema already documents all required fields (month, year, place, lat, lon, tzone) and the optional lan field. The description adds little new parameter meaning beyond the schema, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get'), a specific resource ('Vehicle Purchase Muhurat'), and a clear scope ('for a given month and location'). The second sentence clarifies the output is auspicious dates with muhurat details. It doesn't explicitly distinguish itself from sibling muhurat tools like property purchase or business start, 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 guidance about when to use this tool versus the many sibling muhurat tools, nor any exclusions or prerequisites. Given the large sibling list with several similar muhurat operations, an agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_nakshatraARead-onlyIdempotent
Get nakshatra (lunar mansion) details for a given date and location.
Returns the current nakshatra, its start/end time, lord, and related details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, idempotent). The description adds what it returns (current nakshatra, start/end time, lord, related details), which is useful context. However, it does not disclose any additional behavioral traits such as error conditions, rate limits, or side effects, so it adds only modest value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded, and the return summary is concise. Every word 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?
The description is adequate for a read-only tool with a comprehensive output schema. It specifies the input scope (date and location) and the output content (current nakshatra, times, lord, etc.). It does not explicitly differentiate from panchang, but given the simplicity of the tool and the presence of an output schema, it is sufficiently 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?
The input schema contains thorough descriptions for all parameters (day, month, year, place, lat, lon, tzone, lan), so the schema already carries the semantic load. The description mentions 'date and location' but does not add further parameter-specific information. With high schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'nakshatra details', and the scope ('for a given date and location'). It distinguishes itself from broader tools like divine_get_panchang and other specific elements like tithi or karana by focusing on nakshatra specifically.
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 implies when to use it (when nakshatra details are needed for a date and location) but does not explicitly mention alternatives or exclusion criteria. Given the large sibling list, explicit guidance (e.g., 'use this for nakshatra-specific info rather than panchang') would be helpful but is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_nivas_and_shoolBRead-onlyIdempotent
Get Nivas and Shool (directional inauspicious timings) for a date and location.
Shool indicates inauspicious directions for travel on specific days. Nivas shows the resting place of certain deities.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds meaning about the content (directional inauspicious timings and deity resting places) but does not disclose any additional behavioral traits such as response format, pagination, or potential limitations. Given the annotations, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. It front-loads the main action and then briefly explains the terms, making it efficient and easy to parse. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has an output schema (not shown) and annotations covering safety and idempotency, the description is complete enough for a simple read operation. It explains the meaning of Nivas and Shool, which is useful. The only minor gap is the lack of guidance on selecting this over similar timing tools, but that falls under usage guidelines.
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 input schema (PanchangInput) provides detailed descriptions for all sub-parameters (day, month, year, place, lat, lon, tzone, lan), so the schema covers parameter semantics thoroughly. The description only mentions 'date and location' generically and adds no extra meaning beyond what the schema already offers. With high schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Nivas and Shool' (directional inauspicious timings) for a given date and location, and provides brief definitions of both terms. It uses a specific verb ('Get') and resource, and the meaning is distinct from the many sibling tools, though it does not explicitly differentiate from closely related ones like divine_get_inauspicious_timings.
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 guidance on when to use this tool versus alternatives. It does not mention any conditions for use, prerequisites, or when not to use it. An agent must infer from the name and sibling list that this is for Nivas and Shool specifically, but no explicit routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_other_calendars_and_epochBRead-onlyIdempotent
Get dates in other calendar systems and epoch values for a given date.
Returns conversions to Vikram Samvat, Shaka Samvat, Kali Yuga, and Julian day numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the concrete output systems returned, which is useful context, but it does not add behavioral details such as failure modes or effects of location/timezone inputs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. It front-loads the purpose and then lists the specific return values. Every sentence 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?
With read-only annotations and an output schema present, the description is mostly adequate for a simple lookup tool. However, it lacks sibling differentiation and does not signal the required location/timezone parameters, which prevents it from being fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description only mentions 'a given date' and does not explain that place, latitude, longitude, and timezone are required inputs. Per the context signal, schema description coverage is 0% at the parameter level, so the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns dates in other calendar systems and epoch values, and names the specific conversions: Vikram Samvat, Shaka Samvat, Kali Yuga, and Julian day numbers. This is a specific verb+resource description, but it does not explicitly differentiate from closely related siblings such as divine_get_samvat.
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, nor any mention of alternatives. However, the phrasing 'Returns conversions to...' implies the use case: when a caller needs alternate calendar or epoch conversions for a date.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_panchak_rahitaCRead-onlyIdempotent
Check Panchak status for a given date and location.
Panchak is a 5-nakshatra period (Dhanishta to Revati) considered inauspicious for certain activities like construction and travel.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds no additional behavioral context such as response behavior, limitations, or side effects. It only explains the domain concept of Panchak, not the tool's runtime traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. The first sentence states the action and inputs; the second provides useful domain background. Every sentence earns its place and nothing extraneous is present.
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 description is minimal but sufficient for a simple lookup tool. It confirms the input type (date/location) and the output concept (Panchak status), while the output schema and annotations cover safety and return details. Missing usage guidance and parameter clarification prevent a higher score.
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 does not mention any specific parameters, and schema description coverage is 0%. While the schema itself contains per-parameter descriptions, the tool description fails to compensate for the low coverage by explaining what inputs are needed or how they relate to the Panchak calculation. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check Panchak status') and resource ('for a given date and location'). It also clarifies what Panchak is, setting it apart from other astrological tools. The purpose is clear even without reading 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?
No explicit guidance on when to use this tool versus alternatives. The description implies usage for checking Panchak inauspiciousness, but there is no mention of alternatives or exclusions. Only a basic context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_panchangARead-onlyIdempotent
Get the complete daily Panchang for a given date and location.
Returns comprehensive Vedic calendar data including tithi, nakshatra, yoga, karana, sunrise/sunset, moonrise/moonset, rahu kaal, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the description does not need to re-explain those. It adds the set of returned Vedic elements but does not cover failure modes, limitations, or other behavioral nuances.
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, focused sentences front-load the tool's purpose and return value with no redundant or speculative wording. Every sentence 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?
The description names the resource, gives high-level input context, and lists the main output categories, which is sufficient given the schema and output schema exist. A small gap is not mentioning optional language selection or explicitly routing specialized needs to sibling 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 description adds no parameter-level detail beyond 'date and location', but the input schema provides thorough descriptions for day, month, year, place, lat, lon, tzone, and lan. Therefore the agent can still invoke the tool correctly based on the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and a precise resource ('complete daily Panchang'), then enumerates key returned components. This clearly distinguishes it from the many specialized sibling tools like divine_get_tithi or divine_get_sun_moon.
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 'complete daily Panchang' makes it clear this is the all-in-one tool for daily Vedic calendar data, which is enough context given the specialized siblings. It does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_pitra_doshaBRead-onlyIdempotent
Check for Pitra Dosha (ancestral affliction) in the birth chart.
Indicates karmic debts from ancestors affecting family harmony, progeny, and prosperity. Returns remedial measures.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false. The description adds that it returns remedial measures, which is useful context beyond annotations, but doesn't detail response structure or 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?
The description is concise at two short paragraphs, front-loading the purpose and effects. It avoids unnecessary detail while being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complex nested schema and no parameter documentation, the description should provide more usage context. It covers the core purpose and output, but given the lack of parameter descriptions, it's not fully complete 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?
The schema has 0% coverage, meaning the description must explain parameters. However, the description says nothing about any of the 12 parameters or the nested structure, leaving the agent to infer how to fill them from the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks for Pitra Dosha in the birth chart, which is a specific astrological condition. It distinguishes itself from most siblings by focusing on ancestral affliction, although it doesn't explicitly contrast with other dosha tools like manglik or kaal sarpa.
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 implies when to use it (when needing to assess ancestral karma) but doesn't explicitly state when not to use it or alternatives. Given many dosha-related siblings, explicit guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planet_analysisARead-onlyIdempotent
Get detailed analysis of one planet in the birth chart.
Returns interpretation of the selected planet's placement including house lordship, aspects, conjunctions, strengths, and effects.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| analysis_planet | Yes | Planet to analyze: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate read-only, idempotent, and non-destructive behavior, so the description does not need to repeat safety details. It adds behavioral value by specifying that the tool returns an interpretation and listing the analyzed dimensions. Minor limitations such as unsupported planet names are not disclosed, but the schema covers valid values.
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 only two sentences and front-loads the primary action and resource. Every word and phrase contributes useful information, with no filler or repetition of schema details.
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 a complete input schema, an output schema, and annotations declaring read-only/idempotent behavior, the description covers what the tool returns and the scope of analysis. Nothing essential is missing for an agent to call 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 100%, so the schema already documents the birth-details object and the analysis_planet field with its allowed values. The tool description does not add extra meaning beyond saying 'selected planet,' so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get detailed analysis') and resource ('one planet in the birth chart'), and enumerates what the analysis includes: house lordship, aspects, conjunctions, strengths, and effects. This is specific enough to distinguish it from sibling tools like planetary positions or lal_kitab planet analysis.
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 implies usage context: use this when a detailed interpretation of a single planet is needed. However, it does not explicitly state when not to use it or name alternatives among the many sibling astrological tools, so the agent gets only indirect selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planetary_positionsBRead-onlyIdempotent
Get planetary positions in the birth chart (Kundli).
Returns positions of all 9 Vedic planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu) with sign, degree, nakshatra, and house placement.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| node_type | No | Rahu/Ketu calculation method: 'meannode' (default) or 'truenode' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 return-content context but no behavioral caveats such as the effect of node_type on Rahu/Ketu calculations or any prerequisites beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, purposeful sentences with no filler. It front-loads the action and resource, then compactly lists the return scope and fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the core purpose is adequately described. However, given the large set of sibling planetary-position tools, the description would benefit from explicitly stating that this is the standard Vedic birth-chart version or noting the optional node_type calculation method.
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?
Input schema coverage is 100%, so both the 'params' object and 'node_type' parameter are already documented with descriptions and defaults. The tool description adds no parameter-level meaning, but the baseline of 3 is appropriate since the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a clear verb ('Get') and resource ('planetary positions in the birth chart'), and specifies exactly which nine planets and which fields are returned. It implicitly distinguishes this from matching or annual tools, but it does not explicitly differentiate it from other planetary position siblings like divine_get_kp_planetary_positions or divine_get_lal_kitab_planetary_positions.
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. It does not mention that this is the standard Vedic birth-chart position tool or name any sibling tools to avoid, such as divine_get_kp_planetary_positions or divine_get_varshphal_planetary_positions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planet_combustion_transitBRead-onlyIdempotent
Get planet combustion (Asta) transit details for a specific planet.
Combustion occurs when a planet is too close to the Sun and loses strength. Returns combustion periods and their effects.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| planet | Yes | Planet: mars, mercury, jupiter, venus, or saturn | |
| full_name | Yes | Full name of the person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a read-only, idempotent, non-destructive operation. The description adds useful domain context (combustion occurs when a planet is too close to the Sun) and states that it returns 'combustion periods and their effects,' which mildly supplements the annotation coverage. No additional behavioral traits like rate limits or auth constraints are mentioned.
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 succinctโtwo short sentencesโand the main action is front-loaded in the first sentence. The second sentence provides a clear, concise explanation of combustion without bloat. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full schema coverage, the description covers the essential concept and purpose. However, it does not clarify what 'effects' means or expand on the 'Asta' term, and it offers no usage hints for the many parameters. The combination of schema and annotations makes it mostly complete, but the description alone would leave some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema comprehensively documents all 14 parameters, including planet and birth details. The description adds no parameter-specific guidance beyond the schema, so it rests at the baseline score of 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 states a specific verb and resource: 'Get planet combustion (Asta) transit details for a specific planet.' It explains the meaning of combustion, which clearly differentiates this from other transit tools like retrograde or nakshatra transit. However, it does not explicitly name any sibling tool, so the differentiation is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as divine_get_planet_retrograde_transit or divine_get_grah_gochar. The only implied usage is 'when combustion details are needed,' but there are no when-not conditions or references to sibling tools, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planet_nakshatra_transitARead-onlyIdempotent
Get nakshatra transit details for a specific planet.
Returns when the planet enters and exits each nakshatra, useful for fine-tuning transit predictions.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| planet | Yes | Planet (nakshatra transit): sun, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto. Not rahu/ketu (not currently supported for this endpoint; may be added later). | |
| full_name | Yes | Full name of the person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile with readOnlyHint, idempotentHint, and destructiveHint. The description adds useful behavioral context by explaining the output is the timing of entry/exit into each nakshatra, but it does not disclose details like timezone sensitivity or calculation assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler: it opens with the action, then states the output and intended use. Every clause earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the full input schema, the presence of an output schema, and the read-only annotations, the description is nearly sufficient for an agent to invoke the tool correctly. It lacks only explicit routing guidance among the many transit-related siblings, which is already penalized under usage guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter schema already documents all 14 parameters. The description only reinforces that the tool targets a specific planet and adds no new parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieving nakshatra transit details for a single planet, including when it enters and exits each nakshatra. It is clear and distinct from combustion or retrograde transit tools, though it does not explicitly name or differentiate among the many sibling transit endpoints.
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 'useful for fine-tuning transit predictions' implies a use case, but there is no explicit when-to-use guidance, prerequisite note, or comparison to alternatives like divine_get_grah_gochar or divine_get_planet_retrograde_transit. The usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planet_remediesARead-onlyIdempotent
Get remedial measures for one planet's placement in the birth chart.
For the selected planet, returns the recommended donation, gemstone, lifestyle practice and mantra, plus the weaknesses the remedy addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| analysis_planet | Yes | Planet to analyze: sun, moon, mars, mercury, jupiter, venus, saturn, rahu, or ketu |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict them. The description adds useful context about what the response covers, but it does not disclose deeper behavioral details such as response structure or language handling; given the annotation coverage, this is acceptable.
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, purposeful sentences front-load the core action and then list the specific output categories without redundancy or filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only tool with a complete input schema and an output schema present, the description sufficiently explains what to supply and what to expect. The main missing piece is explicit sibling differentiation, but that primarily affects usage guidance rather than the ability to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with analysis_planet listing valid values and params fully describing birth details. The description only reinforces that a planet is selected and provides no new parameter-level information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('remedial measures for one planet's placement'), and enumerates the output contents: donation, gemstone, lifestyle practice, mantra, and weaknesses. It is clear enough to distinguish it from most siblings, though it does not explicitly name overlapping tools such as divine_get_gemstone_suggestion or divine_get_rudraksha_suggestion.
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: call this when remedial measures for a specific planet's placement in a birth chart are needed. However, there is no explicit guidance about when not to use it or which sibling tool to prefer, so the agent must infer routing from the large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_planet_retrograde_transitBRead-onlyIdempotent
Get retrograde transit details for a specific planet.
Returns retrograde and direct motion periods for the planet, along with their effects on the native.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| planet | Yes | Planet (retrograde): mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto. Not sun/moon/rahu/ketu (no retrograde phase). | |
| full_name | Yes | Full name of the person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds the behavioral detail that the tool returns both retrograde and direct motion periods along with effects on the nativeโuseful context beyond the annotations. However, it does not disclose any limitations, such as which planets are excluded or whether the results are based on a birth chart, though the schema partially addresses planet eligibility.
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 two concise sentences with no filler. The primary action is front-loaded in the first sentence, and the second sentence clarifies the return content. Every word earns its place, making it easy for an agent to quickly grasp 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?
With an output schema present and full parameter descriptions in the input schema, the description does not need to document return values or parameter details. However, given the large sibling set and the astrological domain, the description is somewhat thin: it does not state that this is birth-chart-based, mention eligible/excluded planets, or clarify how the retrograde periods are determined. It is acceptable but not fully self-sufficient for an agent unfamiliar with the domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 14 parameters already have explicit descriptions in the schema. The tool description does not add new parameter-level meaning, it only repeats the high-level purpose. This meets the baseline of 3 but does not go beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-resource pair: 'Get retrograde transit details for a specific planet.' It then specifies what the call returnsโretrograde and direct motion periods and their effects on the native. While this clearly identifies the tool's domain, it does not explicitly differentiate it from the many other transit-related sibling tools such as grah_gochar, kundli_transit_moon, or planet_combustion_transit.
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 is given about when to use this tool instead of a sibling, nor are exclusions or prerequisites mentioned. The schema notes which planets are eligible, but the description itself provides no routing information. An agent facing dozens of astrological transit tools would need to infer the distinction solely from the name and general wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_prasthara_chakraARead-onlyIdempotent
Get Prasthara Chakra (expanded Ashtakvarga) for a birth chart.
Shows the detailed breakdown of benefic contributions from each planet to every sign in the Ashtakvarga system.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so safety behavior is covered. The description adds useful behavioral context by specifying that it shows a detailed breakdown of benefic contributions, which is richer than a mere summary. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences that state the purpose and the output substance with no filler. The structure allows an agent to quickly grasp what the tool provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent tool with an output schema and a detailed input schema, the description covers the core computation and output. It is not fully complete because it lacks explicit sibling differentiation and when-to-use guidance, but the structured fields supply the remaining operational detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only says 'for a birth chart' and gives no detail about the params object; with schema description coverage reported as 0%, it does not compensate. The nested KundliInput schema contains field descriptions, but the description itself adds no parameter-level meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear verb and resource: 'Get Prasthara Chakra (expanded Ashtakvarga)' and explains it shows benefic contributions per planet to every sign. It is specific enough to be understood, but it does not explicitly position itself against sibling tools such as divine_get_ashtakvarga or divine_get_sarvashtakavarga.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a birth chart' and 'detailed breakdown' imply when to use it, but there is no explicit guidance about alternatives or exclusions. Given the large sibling list, an agent must infer that this tool is for the expanded per-planet/per-sign view rather than a summary Ashtakvarga.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_pratyantar_dasha_analysisARead-onlyIdempotent
Get textual interpretation of a Pratyantar Dasha (MahaโAntarโPratyantar) period.
No birth data needed โ generic interpretation for the named three-planet combination.
| Name | Required | Description | Default |
|---|---|---|---|
| lan | No | Language code (default 'en') | en |
| maha_dasha | Yes | Maha Dasha planet (e.g., 'rahu') | |
| antar_dasha | Yes | Antar Dasha planet (e.g., 'moon') | |
| pratyantar_dasha | Yes | Pratyantar Dasha planet (e.g., 'mars') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the bar is lower. The description adds real value by disclosing that output is a generic interpretation not derived from a birth chart โ a behavioral trait that affects how the agent should interpret results. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The action and resource are front-loaded in the first sentence, and the second sentence packs the two most decision-relevant facts (no birth data, generic output). No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation; with 100% parameter coverage and full safety annotations, the description only needs to convey the tool's niche. It successfully communicates the three-level dasha scope and generic nature. Minor gap: no explicit routing note against the maha/antar dasha sibling tools, though the arrow notation implies the hierarchy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with helpful examples for each planet parameter ('rahu', 'moon', 'mars') and a default for lan. The description adds the hierarchical relationship among the three parameters (MahaโAntarโPratyantar), which clarifies ordering semantics beyond the schema, but the schema already carries the bulk of parameter meaning.
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 ('Get textual interpretation') and resource ('Pratyantar Dasha period'), and clarifies the structure (MahaโAntarโPratyantar). It distinguishes itself via 'generic interpretation for the named three-planet combination' and 'No birth data needed', but does not explicitly differentiate from close siblings like divine_get_antar_dasha_analysis or divine_get_maha_dasha_analysis.
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 'No birth data needed โ generic interpretation' instruction conveys a key usage condition: this tool is for generic, non-personalized readings rather than chart-based ones. However, it never explicitly names alternatives (e.g., vimshottari dasha tools that DO need birth data) or states when-not-to-use it, leaving routing mostly implied by the dasha hierarchy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_ritu_and_anayaBRead-onlyIdempotent
Get Ritu (season) and Anaya details for a given date and location.
Returns the current Hindu season (Vasant, Grishma, Varsha, Sharad, Hemant, Shishir) and related calendar information.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 the set of Hindu season names as likely output values, which is useful, but 'related calendar information' remains vague and no additional behavioral context (e.g., response shape, language behavior) is disclosed.
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 compact, two sentences, and front-loaded with the core purpose. The season list adds concrete value without padding, and there is no redundant boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description leaves 'Anaya' completely undefined and gives only a vague 'related calendar information' hint. It also fails to differentiate this panchang component from the many sibling tools, so an agent has insufficient context to reliably select it for the intended seasonal query.
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 only says 'date and location,' while the actual schema expects seven distinct fields (day, month, year, place, lat, lon, tzone). With schema description coverage reported as 0%, the description does not compensate by explaining the required components of a valid call, leaving the agent to open the schema and infer mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('Ritu (season) and Anaya details'), and even enumerates possible season names. However, it doesn't explain what 'Anaya' means or explicitly distinguish this tool from siblings like divine_get_panchang, which likely covers the same panchang 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?
No usage guidance is provided beyond saying it works 'for a given date and location.' The description never states when to prefer this tool over divine_get_panchang, divine_get_tithi, or other calendar-specific siblings, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_rudraksha_suggestionARead-onlyIdempotent
Get Rudraksha (mukhi bead) suggestions for a person based on their birth data.
Returns the recommended life, lucky, and dasha Rudraksha beads.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe, read-only, idempotent operation. The description adds useful context about the output categories (life, lucky, dasha Rudraksha beads) but does not disclose additional behavioral traits such as validation requirements, failure modes, or data dependencies beyond what the schema already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences convey the purpose and output with no filler. The key action and resource are front-loaded, and the clarifying output summary earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only suggestion tool with a rich input schema and an output schema, the description is mostly complete: it identifies the input basis and the three output bead categories. It does not enumerate required birth fields, but the schema already does so, leaving only minor ambiguity around how strictly the birth data must be 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?
The description adds no parameter-level meaning, but the input schema provides detailed descriptions for every birth-data field (e.g., day, hour, lat, lon, tzone). Since the schema already covers parameter semantics, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get Rudraksha suggestions') and the resource ('Rudraksha/mukhi beads'), and it specifies the input basis ('birth data') and the distinct outputs ('life, lucky, and dasha' beads). This makes the tool easily distinguishable from siblings like divine_get_gemstone_suggestion.
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 implies when to use the tool โ when birth data is available and Rudraksha suggestions are needed โ but gives no explicit guidance on alternatives or exclusions. It does not mention the closely related divine_get_gemstone_suggestion sibling or when one should be preferred over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sadhe_satiARead-onlyIdempotent
Check Sadhe Sati (Saturn transit) status for the person.
The 7.5-year period of Saturn transiting through the 12th, 1st, and 2nd houses from Moon sign. Returns current phase and dates.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 fully covered. The description adds the key behavioral fact that the tool computes based on Moon sign and returns phase plus dates, which is useful. However, it does not disclose edge cases like birth time sensitivity, whether the phase is precise to the day, or what happens when the person is not in Sadhe Sati (e.g., whether it returns a 'no active' state). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences that front-load the verb and resource, then provide the astronomical definition and output. No filler, no repetition of schema field names, and every sentence 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 bracket, so return values need no elaboration. Given the tool's simple read-only nature and the schema's detailed birth-input fields, the description covers the core behavior. It lacks only a note on edge cases (e.g., 'not currently in Sadhe Sati' handling), keeping it from a 5, but it is otherwise complete for an agent to invoke 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%, so the description carries the burden, but the single 'params' object references a KundliInput definition whose individual fields are already well-described in the schema. The description adds context that all those birth details are needed to determine the Moon sign, but it doesn't add meaning beyond that. The schema itself provides good field-level descriptions (e.g., 'Birth day (e.g., '24')'), so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Check'), the specific resource (Sadhe Sati status), and the exact astronomical basis (7.5-year period of Saturn transiting through the 12th, 1st, and 2nd houses from Moon sign). It also specifies the output ('Returns current phase and dates'), which completely distinguishes this from other transit tools like divine_get_grah_gochar or divine_get_shani_ashtam_shani.
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 implies usage through its clear scope but does not explicitly state when to prefer this tool over alternatives, nor does it mention any exclusions. For instance, it doesn't say 'for a general Saturn transit, use grah_gochar' or 'for Ashtam Shani, use shani_ashtam_shani'. The context is clear enough that an agent could infer the right use, but explicit routing guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_samvatBRead-onlyIdempotent
Get Samvat (Hindu calendar year) details for a given date and location.
Returns the current Vikram Samvat, Shaka Samvat year names and numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, non-destructive, and open-world. The description adds that the tool returns current Vikram and Shaka Samvat details for a date/location, but it does not disclose calculation behavior, timezone handling, or edge cases. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The operation is front-loaded and the expected return content follows immediately, making it easy to scan and parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, well-annotated tool with an output schema and descriptive input schema, the basic call mechanics are covered. However, the complete absence of usage routing among dozens of sibling tools and the lack of parameter clarification keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only vaguely refers to 'date and location' and does not mention any of the required fields (day, month, year, place, lat, lon, tzone) or the optional language parameter. With schema description coverage at 0%, the description fails to compensate, though the schema itself provides useful per-field examples.
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 clear verb and resource: 'Get Samvat (Hindu calendar year) details' for a date and location. It also names the specific outputs (Vikram Samvat and Shaka Samvat year names/numbers), making the tool's function unambiguous even though it does not explicitly distinguish itself from 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 guidance about when to use this tool versus the many sibling Samvat/calendar/panchang tools. The description only implies use for Samvat queries and does not state any exclusions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sankranti_festivalsARead-onlyIdempotent
Get Sankranti festivals for a year.
Returns the twelve solar Sankranti transitions (Makar, Kumbha, Meena, Mesha, and so on) with dates, transition moments, and punya kala (auspicious) windows.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (e.g., '28.6139') | |
| lon | Yes | Longitude (e.g., '77.2090') | |
| year | Yes | Year (e.g., '2027') | |
| place | Yes | Place name (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds that it returns twelve transitions with dates, moments, and punya kala windows, which is output context rather than deeper behavioral detail. No contradictions with annotations, and the additional context is useful but minimal.
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 two sentences with no filler. It front-loads the purpose ('Get Sankranti festivals for a year') and then briefly outlines the output. Every word adds value; it is concise and 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?
For a relatively simple tool with full schema coverage and safety annotations, the description covers the essential behavior: what it returns and for what period. It does not explain edge cases (e.g., leap years, regional variations) but the output schema likely covers the return structure. It is sufficient for an agent to call correctly, though a note on how the output is ordered or formatted would push it to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (year, place, lat, lon, tzone) is already documented with examples. The description does not add new parameter semantics beyond implying the 'year' parameter; it doesn't clarify how lat/lon/tzone affect results, which is already in schema. Baseline 3 is appropriate given full 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 clearly states the tool gets Sankranti festivals for a given year, listing the twelve solar transitions (Makar, Kumbha, Meena, Mesha) and the data returned (dates, transition moments, punya kala windows). This is specific and distinguishes it from the many sibling festival tools (e.g., English calendar, Tamil, Malayalam, by-date) by focusing solely on Sankranti.
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 implies use when the user needs Sankranti festivals for a year, but it does not explicitly mention alternative tools or conditions for when not to use it. With many sibling festival tools, explicit routing (e.g., 'for other festivals, use divine_get_festivals_by_date') would be more helpful, but the purpose is clear enough to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sarvashtakavargaARead-onlyIdempotent
Get Sarvashtakavarga (combined Ashtakvarga) for a specific chart.
The sum of all individual Ashtakvarga tables, showing overall strength of each sign. Key for transit predictions.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| chart | Yes | Chart type for Sarvashtakavarga: D1, D9, etc. | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| full_name | Yes | Full name of the person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds functional meaningโshowing overall strength of each signโbut does not disclose additional behavioral traits such as response size, chart dependency, or any special limitations. It adds value but not substantial behavioral depth beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two short sentences, front-loads the core purpose, and then adds one clarifying definition plus a use case. Every sentence earns its place with no fluff or repetition of structured schema details.
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 14 parameters and a rich output schema, the description is complete enough: it explains what Sarvashtakavarga is, how it relates to Ashtakvarga, and when it matters. It does not enumerate birth-data parameters, but the input schema already documents them fully. The only minor gap is not explicitly naming the individual Ashtakvarga sibling as the alternative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and every parameter already has an example or explanation. The description only uses the word 'chart' generically and does not add meaning beyond the schema. Since the schema carries the full parameter burden, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: 'Get Sarvashtakavarga' for a chart, and immediately clarifies it is the combined Ashtakvarga, i.e., the sum of individual Ashtakvarga tables. This clearly distinguishes it from the sibling divine_get_ashtakvarga by semantic content, not just by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it is 'Key for transit predictions,' which is a clear use case. It does not explicitly route agents to divine_get_ashtakvarga for individual tables, but the phrasing 'sum of all individual Ashtakvarga tables' implies the boundary. It provides context without formal exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_shadbalaBRead-onlyIdempotent
Get Shadbala (six-fold planetary strength) for a birth chart.
Calculates six types of strength: Sthana Bala, Dig Bala, Kala Bala, Chesta Bala, Naisargika Bala, and Drik Bala for each planet.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, lowering the bar. The description adds that the tool calculates six named strength types for each planet, but does not disclose output format, required assumptions, or limiting behaviors.
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 concise sentences with the primary action front-loaded. The second sentence adds detail by naming the six Shadbala components; only minor redundancy exists between 'six-fold strength' and the enumeration.
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 description is adequate for selecting this tool when Shadbala is requested, and an output schema exists to fill in return-value details. However, it does not place this tool among its many siblings or call out that full birth details are required, leaving an agent to rely on the schema for invocation 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?
The top-level 'params' property has no description and schema coverage is 0%. Although nested KundliInput fields have descriptions, the tool description only says 'for a birth chart' and provides no direct guidance on required inputs, so 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 uses a specific verb and resource: 'Get Shadbala (six-fold planetary strength)', then enumerates the six strength types. This makes it clearly distinguishable from sibling tools like divine_get_bhav_bala or divine_get_planet_analysis.
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 is given about when to use this tool versus the many related astrological strength/analysis tools. The description implies use when Shadbala is needed, but does not state exclusions or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_shani_ashtam_shaniARead-onlyIdempotent
Get the Ashtama Shani (shani ashtam shani) analysis for a birth chart.
Returns the periods when transiting Saturn occupies the eighth house from natal Saturn, together with the natal Saturn placement, the ashtama sign and age-banded predictive content.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds meaningful behavioral detail by specifying what is computed: transit periods of Saturn in the eighth from natal Saturn, natal Saturn placement, the ashtama sign, and age-banded predictive content. No contradiction with the annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: the first sentence states the operation, and the second lists the return content. Every sentence earns its place, with no filler or irrelevant background.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent lookup with a bundled birth-detail input object and an output schema, this description is complete enough for an agent to invoke it correctly. It explains the computation and the returned components, while annotations and schema cover safety and parameter details.
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 does not add meaning to the single 'params' parameter beyond saying 'for a birth chart.' However, the referenced KundliInput schema thoroughly documents every birth field with examples, so the agent still has strong parameter guidance from 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?
The description uses a specific verb and resource: 'Get the Ashtama Shani analysis for a birth chart.' It goes further and defines the exact astronomical condition (transiting Saturn in the eighth house from natal Saturn), which makes the tool unambiguous even among many sibling Vedic astrology tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as divine_get_sadhe_sati or divine_get_chandrashtama. The intended use is only implied by the tool name and the phrase 'for a birth chart'; no exclusions, prerequisites, or comparison to siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sub_planet_chartARead-onlyIdempotent
Generate a sub-planet (Upagraha) chart as SVG and image.
Returns a visual chart showing the placement of sub-planets (Dhuma, Vyatipata, Parivesha, etc.) in North or South Indian style.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day (e.g., '24') | |
| lan | No | Language code | en |
| lat | Yes | Latitude (e.g., '28.7041') | |
| lon | Yes | Longitude (e.g., '77.1025') | |
| min | Yes | Birth minute (e.g., '40') | |
| sec | No | Birth second | 0 |
| hour | Yes | Birth hour in 24h format (e.g., '14') | |
| year | Yes | Birth year (e.g., '1990') | |
| month | Yes | Birth month (e.g., '05') | |
| place | Yes | Birth place (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') | |
| gender | Yes | Gender: 'male' or 'female' | |
| full_name | Yes | Full name of the person | |
| chart_type | No | Chart style: 'north' (diamond) or 'south' (square) | north |
| line_color | No | Chart line color as hex (e.g., '#333333') | |
| sign_color | No | Sign label color as hex (e.g., '#333333') | |
| chart_color | No | Chart background color as hex (e.g., '#ffffff') | |
| planet_color | No | Planet label color as hex (e.g., '#333333') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds that the tool returns a visual chart as SVG and image, which is useful context beyond annotations. No contradiction, but no further behavioral traits (e.g., rate limits, auth) are disclosed.
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 succinct sentences with no fluff. The main purpose is front-loaded, and the example sub-planets and chart styles are concisely included. Every sentence 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?
Despite having 18 parameters and 11 required ones, the description is sufficient because the schema provides full parameter documentation and an output schema exists. It clearly states the output format (SVG and image) and content (sub-planet placement). Missing usage guidance is a small gap, but the core operational details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter meaning beyond the schema, only mentioning North/South Indian style which maps to the chart_type parameter. It does not explain any of the other 18 parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('Generate') and resource ('sub-planet (Upagraha) chart as SVG and image'), explicitly naming example sub-planets (Dhuma, Vyatipata, Parivesha) and chart styles (North/South Indian). This clearly sets it apart from siblings like divine_get_sub_planet_positions or general horoscope chart 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?
No guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or how it differs from related tools such as divine_get_sub_planet_positions. Usage is only implied by the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sub_planet_positionsBRead-onlyIdempotent
Get sub-planet (Upagraha) positions for a birth chart.
Returns positions of sub-planets like Dhuma, Vyatipata, Parivesha, Indra Chapa, and Upaketu with sign, degree, and nakshatra details.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds that the result includes sign, degree, and nakshatra details for the listed sub-planets, but does not disclose response structure, limitations, or edge cases. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the first states the operation and the second summarizes the output contents. Every sentence earns its place, with no filler, repetition, or unnecessary detail.
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 description covers the purpose and output content, and the output schema plus the rich nested input schema fill many gaps. However, given the very large sibling set and lack of usage guidance or parameter context, an agent gets only a minimal map of when this tool is the right choice. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes no parameter-level explanation beyond 'for a birth chart,' and the top-level schema exposes only a $ref 'params' with no description (schema description coverage is 0%). Although the nested KundliInput properties have descriptions, the tool description itself does not help an agent map birth details to this call, so 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?
States a clear verb ('Get') and resource ('sub-planet (Upagraha) positions'), and enumerates the specific sub-planets returned (Dhuma, Vyatipata, Parivesha, Indra Chapa, Upaketu) with sign, degree, and nakshatra details. This is enough to distinguish it from the sibling divine_get_sub_planet_chart, which is chart-focused.
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 clear context that this is for a birth chart, but gives no explicit guidance on when to choose it over alternatives such as divine_get_sub_planet_chart or divine_get_planetary_positions. No exclusions, conditionals, or sibling routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sudarshana_chakraBRead-onlyIdempotent
Get Sudarshana Chakra for a birth chart.
Overlays Lagna, Moon, and Sun charts concentrically for comprehensive life prediction year by year.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful behavioral context about the concentric overlay and year-by-year prediction output. No contradictions with annotations. It doesn't add auth or rate-limit context, but the overlay explanation adds genuine 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?
Two tight sentences that front-load the purpose ('Get Sudarshana Chakra for a birth chart') before the overlay detail. No filler or wasted words. The content is appropriately sized for the tool's simplicity.
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 well-documented nested input schema, the description only needs to convey what the tool produces and when it applies. It explains the overlay mechanics and year-by-year predictions. The main gap is not clarifying what distinguishes Sudarshana Chakra from sibling chart tools, but for a read-only predictive tool this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level schema shows 0% description coverage, but the nested KundliInput $defs documents all 13 birth fields with meaningful examples (e.g., day '24', hour in 24h format, tzone offset). The schema carries the heavy lifting for parameter semantics. The description adds nothing about parameters, which is acceptable since the schema is rich.
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 ('Get Sudarshana Chakra for a birth chart') and explains what the tool does (overlays Lagna, Moon, and Sun charts for year-by-year prediction). However, it does not distinguish itself from the many sibling chart tools (e.g., divine_get_ghata_chakra, divine_get_prasthara_chakra), so an agent can't tell what makes this unique among the ~130 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?
No guidance is given on when to use this tool versus the many alternatives. There are no exclusions, prerequisites, or conditions stated. Given the huge sibling list, an agent has no signal about when Sudarshana Chakra is the appropriate choice over other chart/prediction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_sun_moonARead-onlyIdempotent
Get sun and moon rise/set timings for a given date and location.
Returns sunrise, sunset, moonrise, moonset times and related astronomical data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description does not need to repeat safety traits. The description adds that the tool returns sunrise/sunset/moonrise/moonset times and 'related astronomical data', but does not disclose details like timezone handling or the optional language behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that front-load the core purpose and then summarize outputs. There is no filler, repetition, or unnecessary detail, making it easy for an agent to parse quickly.
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 description provides a basic overview, and the output schema plus annotations cover return values and safety. However, it lacks explicit usage guidance, parameter rationale, and differentiation from closely related astronomical Panchang tools, so it is not fully complete for correct tool selection and 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?
Given the reported schema description coverage of 0%, the description needed to compensate for missing parameter context, but it only mentions 'date and location'. It does not clarify required components like day/month/year, lat/lon, tzone, or the optional language field, leaving the agent to rely on the nested schema without top-level 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 clearly identifies the tool's purpose: retrieving sun and moon rise/set timings for a specific date and location, and names the exact outputs (sunrise, sunset, moonrise, moonset). This distinguishes it from sibling tools like divine_get_month_sunrise_sunset_list, which returns a monthly list rather than a single date/location query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a given date and location' implies when to use this tool, and it is implicitly distinct from monthly list tools. However, there is no explicit guidance about alternatives, such as divine_get_panchang or divine_get_month_sunrise_sunset_list, nor any exclusions or prerequisites beyond the required schema fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_surya_nakshatraARead-onlyIdempotent
Get Surya (Sun) Nakshatra details for a given date and location.
Returns the nakshatra occupied by the Sun, useful for solar-based astrological calculations and rashi sandhi analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish a safe, read-only, idempotent operation. The description adds the useful behavioral fact that it returns the nakshatra occupied by the Sun, but it does not disclose details like precision, result structure, or language behavior beyond what the output schema would already 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 with no filler; the core action and resource are front-loaded. The second sentence earns its place by stating the output and an analytical use case.
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?
Inputs are all captured by the schema and the output schema covers the return shape, so the description does not need to explain those. It is near-complete for a safe read-only lookup, though it could more explicitly differentiate itself among the many sibling 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?
With schema description coverage reported at 0%, the description needed to compensate for parameter documentation, but it only vaguely references 'date and location' and omits timezone, language, and value formats. No parameter-level meaning is added beyond a high-level input summary.
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 a specific verb and resource: 'Get Surya (Sun) Nakshatra details for a given date and location,' which clearly identifies what the tool returns. It does not explicitly contrast it with siblings like divine_get_nakshatra or divine_get_month_surya_nakshatra_list, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'useful for solar-based astrological calculations and rashi sandhi analysis' gives clear context for when this tool is appropriate. It does not, however, provide when-not-to-use guidance or point to alternatives among the large sibling suite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_tamil_festivalsARead-onlyIdempotent
Get major Tamil festivals for a year.
Returns Thai Pongal, Puthandu (Tamil New Year), Karthigai Deepam, Vaikuntha Ekadashi, Arudra Darshan and other Tamil festivals with dates and images.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude (e.g., '28.6139') | |
| lon | Yes | Longitude (e.g., '77.2090') | |
| year | Yes | Year (e.g., '2027') | |
| place | Yes | Place name (e.g., 'New Delhi') | |
| tzone | Yes | Timezone offset (e.g., '5.5') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and idempotent, and the description adds useful behavioral detail: it returns festival names, dates, and images, and frames the result as 'major' festivals. This aligns with the openWorldHint without contradicting any annotation.
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 compact and front-loaded: the first sentence states the core purpose, and the second adds concrete examples and output details. There is no filler or redundant 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?
The description is adequate for invoking the tool, especially with full parameter coverage and an output schema available. However, it does not explain why location and timezone parameters affect Tamil festival dates, nor does it position this tool against nearby siblings like divine_get_festivals_by_date or divine_get_malayalam_festivals. These are meaningful gaps for an agent choosing among many similar festival tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter semantics are already well documented in the input schema. The description only reinforces the 'year' parameter and does not add meaning for place, lat, lon, or tzone, which is acceptable given the schema carries that burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'major Tamil festivals for a year' and names representative festivals like Thai Pongal and Puthandu. It is specific about the resource (Tamil festivals) and the scope (yearly), which helps distinguish it from sibling festival tools even though it does not explicitly say what it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a year' provides clear usage context: this tool is appropriate when the agent needs an annual list of Tamil festivals. It does not explicitly exclude alternatives like by-date or by-month festival tools, but the Tamil + yearly framing is enough to guide selection among the festival-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_tithiARead-onlyIdempotent
Get tithi (lunar day) details for a given date and location.
Returns the current tithi, paksha (Shukla/Krishna), start/end times, and deity.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds meaningful output behavior by specifying that it returns tithi, paksha, start/end times, and deity, which goes beyond the annotations. It does not mention calculation caveats, but that is a minor gap given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the tool's purpose and followed by the return contents. Every sentence earns its place, with no filler, repetition, or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent calculation tool with an output schema, the description covers the essential inputs and key output fields. It is slightly incomplete in not clarifying the 'current' wording ambiguity or pointing to sibling tools, but the schema and annotations carry the remaining operational detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds almost no parameter-level meaning; it only refers to 'a given date and location'. The schema signal reports 0% description coverage, and the description does not compensate by explaining timezone, language, or field formats, leaving the agent to inspect the nested schema for details.
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 ('tithi (lunar day)') and a specific verb ('Get'), and scopes the input to 'a given date and location'. It clearly states the returned data (tithi, paksha, start/end times, deity), but it does not explicitly distinguish itself from sibling tools like divine_get_panchang or divine_get_month_tithi_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a usage contextโwhen tithi details for a date and location are neededโbut it provides no explicit when-to-use guidance, exclusions, or alternatives. Given the large sibling list, more explicit routing would help an agent choose this tool over the related panchang or month-list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_uday_lagnaARead-onlyIdempotent
Get Uday Lagna (rising sign) timings for a given date and location.
Returns the lagna (ascendant sign) rising periods across the day, with sunrise and sunset times. Needs only date and location; birth details are not used by this endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context beyond these: it states the tool returns lagna rising periods and sunrise/sunset times, and clarifies that birth details are ignored. This gives the agent a clear expectation of output and input handling without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes only essential clarifications (returns lagna periods, sunrise/sunset, no birth details). Every sentence earns its place with zero fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations covering safety, the description is sufficient for an agent to call the tool correctly. It states the inputs needed, what it returns, and clarifies that birth details are not used. It does not mention deprecated parameters, but those are fully described in the schema, so no critical gap exists.
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 input schema provides detailed descriptions for every parameter (e.g., day, month, lat, lon), so the schema itself carries the parameter semantics. The tool description only says 'date and location,' which is already implied by the schema. With schema coverage high, the baseline of 3 is appropriate; the description adds minimal extra value for 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 states a specific verb ('Get') and a well-defined resource ('Uday Lagna timings'), and clarifies the scope by specifying that only date and location are needed, not birth details. This differentiates it from many sibling tools that require birth information, even though no sibling is explicitly named.
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 clearly states the condition for use: a given date and location, with the explicit note that birth details are not used. This implies when to use this tool versus those requiring birth data, but it does not name specific alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_vargottama_planetsARead-onlyIdempotent
Get the vargottama planets for a birth chart.
Returns each planet with its D1 (birth) and D9 (navamsha) sign and whether it is vargottama (the same sign in both charts), a placement that is considered a source of strength.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the tool is clearly a safe read operation. The description adds meaningful context by explaining that vargottama is a strength-giving placement and describing the output content. However, it does not disclose any additional behavioral traits such as error handling, rate limits, or default language behavior, which could be expected in a more complete description.
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 exactly two sentences, concise and front-loaded. The first sentence states the core function, and the second sentence details the output and its astrological significance. There is no redundant or filler text; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex, requiring a full birth chart with numerous input fields, but the description omits any guidance on the input requirements. An output schema exists and the description outlines the output content, so return values are covered. However, the description does not mention that the tool needs complete birth details (time, place, coordinates), which is critical for the agent to successfully invoke it. Given the many sibling tools with similar inputs, this omission leaves an ambiguity that could lead to incorrect calls.
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 zero guidance on the input parameters. The schema shows a single complex parameter `params` (a KundliInput object with 11 fields), but the description never mentions that a full birth chart is required, nor does it explain the purpose of fields like full_name, lat, lon, or tzone. Schema description coverage is 0%, so the description fails to compensate for the complexity of the input, leaving the agent to piece together requirements solely from the field descriptions in the schema, which are minimal.
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 begins with a clear verb and resource: 'Get the vargottama planets for a birth chart.' It then specifies exactly what is returned (D1 and D9 signs plus a vargottama flag) and explains the astrological concept. This makes the tool's purpose unambiguous and distinct from the many sibling tools, which focus on other aspects like planetary positions or dasha analysis.
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 implies usage context by naming the specific concept (vargottama planets), but it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites. It offers no 'use this when...' guidance or exclusions. The naming alone suggests its purpose, so usage is implied but not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_basic_astro_detailsBRead-onlyIdempotent
Get the Varshphal Basic Astro Details (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no extra behavioral context such as rate limits, output format, or side effects beyond the simple read-only 'Get', which matches the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that starts with the action and resource, includes the key qualifier 'annual chart', and contains no filler or redundancy. It is appropriately sized for its simplicity.
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 output schema and annotations present, the description is minimally adequate but omits useful context such as what 'basic astro details' actually comprises and how this tool differs from the non-varshphal divine_get_basic_astro_details or other varshphal variants. An agent might struggle to select it correctly among the many similar siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters (varshphal_year and params with full KundliInput fields) are already well documented. The description's phrase 'given year and birth data' adds no semantic value beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('Varshphal Basic Astro Details'), and context ('annual chart', 'given year and birth data'). It is clear enough to distinguish from the many varshphal* siblings, but it does not explicitly name alternatives like divine_get_basic_astro_details or enumerate what 'basic astro details' includes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as divine_get_varshphal_planetary_positions or divine_get_basic_astro_details. It merely describes the operation without context, exclusions, or prerequisites, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_horoscope_chartARead-onlyIdempotent
Get the Varshphal (annual) divisional horoscope chart (D1..D60) as SVG for the given year.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| chart_id | No | Divisional chart id in the URL path: D1 to D60 | D1 |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering safety. The description adds the output type ('SVG') and the annual-year scoping, which are useful behavioral details beyond the annotations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that captures everything essential with no redundant words. Every clause adds information: annual chart, divisional range, SVG output, year.
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?
All required inputs are specified in the schema, an output schema exists, and the description conveys the core purpose and output format. The agent has everything needed to call 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 100%, so parameters are fully documented. The description mentions 'D1..D60' and 'given year', but these merely mirror the schema's chart_id and varshphal_year descriptions. No new semantics are 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?
The description names a specific verb ('Get'), a clear resource ('Varshphal annual divisional horoscope chart'), the range of charts ('D1..D60'), the output format ('as SVG'), and the scope ('for the given year'). This distinguishes it from generic horoscope chart tools and other varshphal calculation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose statement makes the context obvious: use this when you need the annual (Varshphal) divisional chart as an SVG. It does not explicitly list alternatives or exclusions, but the tool name plus description provide a clear semantic niche among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_mudda_dashaBRead-onlyIdempotent
Get the Varshphal Mudda Dasha (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the tool's safety profile. The description adds no extra behavioral context beyond the operation itself, but it also does not contradict the annotations. With annotations present, a baseline score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundancy, and it front-loads the core action. It is concise, but the vague parenthetical '(annual chart)' introduces a slight ambiguity that prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a rich input schema and output schema, the description is extremely sparse. It fails to explain what 'Mudda Dasha' is, how it relates to other varshphal dasha tools, or what distinguishes this call from the many siblings. Given the complexity of the dasha system and the large sibling set, an agent would need more context to select and use this 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?
Schema description coverage is 100% โ both varshphal_year and the nested KundliInput parameters have explicit descriptions (e.g., 'Year for the annual (varshphal) chart'). The tool description merely restates 'given year and birth data' without adding any new semantic detail. As per the high coverage baseline, this is a neutral 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 uses a specific verb ('Get') and names a distinct resource ('Varshphal Mudda Dasha'), which is unique among the many varshphal and dasha sibling tools. However, the parenthetical '(annual chart)' is slightly imprecise because Mudda Dasha is a dasha system within the annual chart, not the chart itself, which may lead to mild confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as divine_get_varshphal_yogini_dasha or divine_get_vimshottari_dasha. It does not mention any prerequisites, exclusions, or context that would help an agent choose this tool among the many dasha-related tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_munthaBRead-onlyIdempotent
Get the Varshphal Muntha (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 agent knows this is a safe read operation. The description adds no additional behavioral context, such as what the Muntha represents or any special considerations. It does not contradict annotations, but it also does not enrich them.
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 that is concise and front-loaded with the core purpose. It wastes no words and is appropriately sized. While it could include a bit more detail, it remains perfectly concise without being under-specified to the point of harm.
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 an output schema and a well-documented input schema, so the description's job is to provide context. Given the many sibling varshphal tools, this description lacks context about what Muntha specifically is and when it is appropriate to use this tool. It is adequate but leaves the agent to infer the use case, which is not ideal for a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full descriptions for all parameters (100% coverage), including varshphal_year and the nested birth details. The description only mentions 'given year and birth data', which adds no new meaning beyond what the schema already states. With full schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'Get' and a specific resource 'Varshphal Muntha (annual chart)'. It clearly identifies what the tool does, but it does not differentiate it from the many sibling varshphal tools, such as divine_get_varshphal_varsha_pravesh or divine_get_varshphal_basic_astro_details. The term 'annual chart' adds some specificity, but a more explicit contrast would earn 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 guidance on when to use this tool versus alternatives. The description simply says 'Get the Varshphal Muntha' without mentioning when it is appropriate or what distinguishes it from other varshphal tools. Given the extensive sibling list, this is a clear gap that 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.
divine_get_varshphal_panchadhikariCRead-onlyIdempotent
Get the Varshphal Panchadhikari (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 no behavioral detail beyond that, such as what the Panchadhikari output represents, whether it requires special interpretation, or any call-specific 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?
The description is a single concise sentence with no wasted words and gets straight to the point. It earns a high score for structure, though it could have used the space to add missing domain context.
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 a rich schema, output schema, and safe-read annotations, the mechanical calling context is covered. However, the description fails to explain what 'Panchadhikari' is or when to choose this tool among dozens of varshphal-related siblings, leaving a significant contextual gap for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters varshphal_year and the nested KundliInput are fully documented. The description adds no new parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and names the specific resource 'Varshphal Panchadhikari', but the parenthetical '(annual chart)' is ambiguous and doesn't clarify what Panchadhikari means or how it differs from sibling tools like divine_get_varshphal_horoscope_chart or divine_get_varshphal_muntha. It is not a tautology, but purpose clarity is limited by unexplained domain jargon.
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 is provided about when to use this tool versus the many varshphal siblings, and no alternative tools or exclusions are mentioned. The description only restates the call context ('given year and birth data') without helping an agent select among the large family of related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_patyanini_dashaBRead-onlyIdempotent
Get the Varshphal Patyanini Dasha (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds only the input scope (year and birth data) and does not contradict the annotations, but it does not disclose any additional behavioral details such as response format or 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?
The description is a single compact, front-loaded sentence with no filler or redundancy. It is appropriately short for a simple read-only retrieval tool, though it is sparse enough that it does not earn a 5.
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 input schema, output schema, and annotations collectively cover the mechanical requirements for invoking the tool. However, for a specialized Varshphal dasha among many similar sibling tools, the description would benefit from explaining what Patyanini Dasha is and when to prefer it over the other dasha options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both varshphal_year and the full KundliInput are already well documented. The description merely restates 'given year and birth data' at a high level and adds no meaning beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get the Varshphal Patyanini Dasha' with the given year and birth data. It clearly identifies what the tool computes, but it does not differentiate Patyanini Dasha from the other Varshphal dasha siblings like mudda_dasha or yogini_dasha, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives. The sibling list contains several Varshphal dasha tools, but the description gives no exclusions, no conditions, and no mention of other similar tools, leaving the agent without a basis for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_planetary_positionsBRead-onlyIdempotent
Get the Varshphal Planetary Positions (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description carries less burden. It adds that this returns annual chart positions, which aligns with the read-only nature, but it does not disclose any unexpected behaviors (e.g., how the annual chart is computed or any limitations). The description is consistent with annotations and contributes minor context beyond them.
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, front-loading the specific resource ('Varshphal Planetary Positions') and providing necessary context ('annual chart'). It is appropriately sized 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?
Given the large sibling group and nested input object, the description provides only the basic purpose. It does not explain how this tool differs from other varshphal tools (e.g., strengths, sahams) or from natal planetary positions. However, the schema and output schema cover parameters and return values, so the description is minimally complete but lacks disambiguating 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 100%, so the baseline is 3. The description's phrase 'given year and birth data' only restates the two parameters (varshphal_year and params) already well-documented in the schema. It adds no additional meaning about format, constraints, or relationships 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?
The description 'Get the Varshphal Planetary Positions (annual chart) for the given year and birth data' clearly states the verb and resource, and identifies the annual (Varshphal) context. It distinguishes from other planetary position tools (e.g., divine_get_planetary_positions) by name and 'annual chart', though it does not explicitly contrast with very similar siblings like divine_get_lal_kitab_varshphal_planetary_positions.
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 is given on when to use this tool versus alternatives. The description does not state prerequisites, exclusions, or compare with siblings such as divine_get_planetary_positions or other varshphal tools. An agent must infer usage solely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_planetary_strengthsBRead-onlyIdempotent
Get the Varshphal Planetary Strengths (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, fully covering the safety profile. The description adds no additional behavioral context, such as data volume, response format, rate limits, or any caveats. It is consistent with annotations but provides no extra value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the purpose and inputs without unnecessary words. It is efficient and 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?
The tool has an output schema (present), detailed required birth data (fully documented in the schema), and safe read-only operations fully covered by annotations. The minimal description is adequate because the schema and annotations carry the necessary detail. It could briefly clarify what 'strengths' means or how it differs from other Varshphal outputs, but that is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter (including varshphal_year and all KundliInput fields) having a description. The main tool description does not add parameter semantics, but the schema already fully documents them, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb 'Get' and a specific resource 'Varshphal Planetary Strengths (annual chart)' with inputs 'given year and birth data'. It distinguishes from siblings like planetary positions by naming 'strengths', but does not explicitly differentiate from other Varshphal tools. Clear enough, but no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only states what it does, not when it should be chosen over the many sibling tools such as divine_get_varshphal_planetary_positions or divine_get_varshphal_horoscope_chart. Given the large sibling set, this is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_sahamsBRead-onlyIdempotent
Get the Varshphal Sahams (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that it computes an annual chart from birth data and a target year, which is useful but does not disclose output format, calculation specifics, or any edge cases. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the resource and purpose. It is efficient, though it could add a brief note about what the output contains without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and full schema coverage, the description is minimally adequate. However, with over 100 sibling tools including many varshphal_* variants, a bit more context about what makes Sahams distinct would help an agent select 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 100%, so the schema already documents all parameters. The description adds no extra meaning beyond naming the two top-level inputs ('given year and birth data'), which is already evident from the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('Varshphal Sahams (annual chart)') and mentions it requires year and birth data. It is clear enough to distinguish from most siblings, though it doesn't explicitly differentiate from the many other varshphal_* 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?
The description implies usage: call it when you need the annual Varshphal Sahams chart for a given year and birth data. It does not explicitly state when not to use it or name alternatives, but the context of sibling varshphal tools makes the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_tajika_aspectBRead-onlyIdempotent
Get the Varshphal Tajika Aspect (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds only the scoping context of 'annual chart' and 'given year', which is helpful but does not reveal additional behaviors 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?
A single sentence that is front-loaded with the specific resource name and includes only the necessary input context. There is no filler or repetition of schema details, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema and an output schema present, the description is mostly adequate for a read-only retrieval. However, it does not explain what a 'Tajika Aspect' is or how it differs from other Varshphal tools such as muntha, yogas, or sahams, leaving some selection ambiguity among siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both top-level parameters (varshphal_year and params) and every nested KundliInput field have descriptions. The tool description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Get' with a specific resource, 'Varshphal Tajika Aspect', and states the inputs (year and birth data). It identifies a distinct subtype among many Varshphal sibling tools, though it never defines 'Tajika Aspect' or explicitly contrasts it with 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?
No guidance is given on when to use this tool versus the many Varshphal siblings; the description only restates the inputs. There are no exclusions, conditions, or named alternatives, so the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_tri_pataki_chakraARead-onlyIdempotent
Get the Varshphal Tri Pataki Chakra (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that this is an annual chart computation, without detailing response structure, error potential, or any special behavior. This is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the resource name and immediately specifies the required inputs. There is no redundancy or filler; every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool with a full input schema and an output schema, the description is largely complete. A small gap remains in not explaining the specialized 'Tri Pataki Chakra' concept or the fact that the full KundliInput requires all birth fields, though the schema already conveys this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'varshphal_year' and the nested birth-details object are documented in the schema. The description merely restates 'given year and birth data,' adding no meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and names a precise resource ('Varshphal Tri Pataki Chakra (annual chart)'), clearly indicating both the operation and the input scope (year and birth data). The unique resource name distinguishes it from the many varshphal sibling tools even without deeper explanation.
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 is provided about when to choose this tool over alternatives such as divine_get_varshphal_horoscope_chart or divine_get_varshphal_muntha. The description implies general annual-chart use but offers no exclusions, prerequisites, or comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_varsha_praveshARead-onlyIdempotent
Get the Varshphal Varsha Pravesh (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 safety. The description adds no extra behavioral context, such as what the annual chart contains or any calculation assumptions. It does not contradict annotations, but adds minimal value beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the key action and object. No wasted words. Efficient and to the point.
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 a complex nested input schema with many required fields, but the output schema is present, so return values are covered. However, the description does not explain what Varshphal Varsha Pravesh is, when it is used, or how it differs from other annual chart tools. An agent can invoke it correctly from the schema, but lacks contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for every parameter, so the schema carries the semantic load. The description only restates 'given year and birth data' without adding any detail about parameter formats, constraints, or relationships. It neither enhances nor detracts from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get'), the resource ('Varshphal Varsha Pravesh'), and its scope ('for the given year and birth data'). It is distinct from sibling tools like divine_get_varshphal_horoscope_chart or divine_get_lal_kitab_varsha_pravesh, as it explicitly targets the annual chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention any conditions, alternatives, or exclusions, despite many related varshphal tools and a Lal Kitab equivalent. An agent has no basis to differentiate it from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_yogasCRead-onlyIdempotent
Get the Varshphal Yogas (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 well covered. The description adds no additional behavioral context, such as what the output contains, whether specific birth details are validated, or any limitations on the varshphal_year. It merely restates the parameters and the purpose, adding little value beyond the structured 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?
The description is a single sentence with no wasted words, which is concise. However, it lacks any structural aids like a summary of when to use or what makes this distinct from siblings. The phrase 'Varshphal Yogas (annual chart)' is slightly misleading and could confuse an agent into thinking it returns the full chart rather than the yogas, reducing overall clarity despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the huge sibling list and the existence of a dedicated 'divine_get_yogas' tool plus many other varshphal tools, this description is not complete enough to help an agent choose correctly. It doesn't explain that this is specifically about the yogas computed for the annual Varshphal chart, nor does it mention any nuances such as the language parameter or the fact that both a birth data object and a varshphal_year are required. The output schema covers the return format, but the selection 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 100%, so the schema already fully documents both parameters (birth details and varshphal_year). The description only paraphrases these inputs ('given year and birth data') without adding format, constraints, or interaction details. This meets the baseline of 3 for high schema coverage, but it doesn't enhance understanding 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?
The description clearly states the action ('Get') and the specific resource ('Varshphal Yogas') along with the inputs ('given year and birth data'). It is more specific than a mere restatement of the name, but it does not explicitly differentiate itself from the many sibling varshphal tools or the general 'divine_get_yogas' tool. The parenthetical '(annual chart)' is slightly ambiguous because Yogas are a specific component of the annual chart, not the chart itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus the numerous related siblings (e.g., divine_get_yogas, divine_get_varshphal_horoscope_chart, divine_get_varshphal_muntha). There are no statements about prerequisites (beyond what is in the schema) or conditions that would make this tool the correct choice. Usage is only implied by the tool name and a generic 'for the given year and birth data'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_varshphal_yogini_dashaARead-onlyIdempotent
Get the Varshphal Yogini Dasha (annual chart) for the given year and birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| varshphal_year | Yes | Year for the annual (varshphal) chart (e.g., '2024') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is known. The description adds little beyond the name and schema; 'for the given year' hints at the varshphal_year parameter but does not disclose any deeper behavioral traits such as response format limitations or edge cases.
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 that front-loads the core verb and resource, with zero filler. Every word earns its place, making it efficient and immediately scannable.
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 description is minimal but adequate given the existence of a rich output schema and strong annotations. However, with over a hundred sibling tools and several close Varshphal variants, the description could have benefited from a note distinguishing it from divine_get_yogini_dasha or other annual dasha tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents every parameter including the complex KundliInput nested object. The description only summarizes the inputs as 'year and birth data', which adds no new semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a specific resource ('Varshphal Yogini Dasha'), and scope ('for the given year and birth data'). The parenthetical '(annual chart)' clarifies the context and differentiates it from siblings like divine_get_yogini_dasha, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by specifying 'Varshphal' (annual) and 'for the given year and birth data', which indicates when this tool is appropriate. It does not explicitly name alternatives or exclusions, but the annual-chart framing implicitly distinguishes it from regular Yogini Dasha and other Dasha tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_vimshottari_dashaARead-onlyIdempotent
Get Vimshottari Dasha periods for a birth chart at the requested granularity.
The most widely used dasha system. Pick dasha_type to drill from Maha down
to Deha. For Prana/Deha, also specify the parent planet(s).
To interpret a running period in prose, pass its planet(s) to
divine_get_maha_dasha_analysis, divine_get_antar_dasha_analysis, or
divine_get_pratyantar_dasha_analysis (those need no birth data).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Birth details | |
| dasha_type | Yes | Granularity: 'maha-dasha', 'antar-dasha', 'pratyantar-dasha', 'sookshma-dasha', 'prana-dasha', or 'deha-dasha' | |
| maha_dasha | No | Required for 'prana-dasha' and 'deha-dasha'. Planet name (e.g., 'rahu') | |
| antar_dasha | No | Required for 'deha-dasha'. Planet name (e.g., 'moon') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds value by explaining the drill-down hierarchy, the parent-planet requirement for deeper granularities, and the fact that this tool returns periods rather than prose interpretations. This is useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: purpose first, then parameter usage, then routing to alternatives. Every sentence earns its place, and the guidance is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, output schema, and strong annotations, the description covers the remaining gaps: granularity selection, parent-planet requirements, and how to get prose interpretation from sibling tools. Nothing essential 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 coverage is 100%, so the baseline is 3. The description adds semantic meaning beyond the schema by explaining that `dasha_type` controls the drill-down from Maha to Deha and that Prana/Deha require parent planet(s) in `maha_dasha` and `antar_dasha`. This helps an agent understand the relationship 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?
The description begins with a specific verb and resource: 'Get Vimshottari Dasha periods for a birth chart at the requested granularity.' It also distinguishes this tool from sibling dasha tools by calling Vimshottari 'the most widely used dasha system' and by naming the granularity levels. This lets an agent understand exactly what this tool computes.
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 explicit guidance: pick `dasha_type` to drill from Maha down to Deha, and for Prana/Deha specify parent planets. It also names the exact sibling tools to use instead when the goal is prose interpretation, noting those need no birth data. This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_yoga_panchangBRead-onlyIdempotent
Get yoga (Sun-Moon angular relationship) for a given date and location.
Returns the current yoga from the 27 Nitya Yogas, each indicating auspicious or inauspicious qualities for the day.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds meaningful behavioral context by explaining that it computes the current Nitya Yoga from the Sun-Moon angular relationship and that the result conveys auspiciousness. This goes beyond the annotations without contradicting them.
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 two tight sentences with no filler. The first sentence states the operation and inputs; the second defines the output and its significance. Every sentence 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?
The description plus annotations cover the operation, its read-only safety, and the output concept. However, given the enormous sibling list, it does not disambiguate this from divine_get_panchang or divine_get_yogas, and it doesn't mention the required timezone parameter, which is essential for an accurate panchang calculation. The nested schema fills some gaps, but the overall definition is not fully complete for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The context signal reports 0% schema description coverage, so the description must compensate for parameter documentation, but it only mentions 'date and location.' It omits the required timezone and language inputs and does not explain the params container. Though the nested schema properties are individually described, the tool-level description does not fill the top-level gap enough for an agent to confidently prepare all required 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 clearly states the operation ('Get yoga'), the resource ('yoga'), and the inputs ('date and location'). It adds a definition of yoga as the Sun-Moon angular relationship and specifies the 27 Nitya Yogas, so an agent understands exactly what is returned. It does not explicitly distinguish itself from siblings like divine_get_yogas or divine_get_sun_moon, but the concept is specific enough to infer.
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 prefer this tool over close siblings such as divine_get_panchang, divine_get_tithi, divine_get_nakshatra, or divine_get_yogas. The description implies it is for retrieving the yoga, but it does not state exclusions, prerequisites, or alternative selection criteria in a library with more than 120 Vedic astrology tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_yogasARead-onlyIdempotent
Get all yogas (planetary combinations) present in the birth chart.
Returns special planetary combinations indicating specific life outcomes: wealth (Dhana Yoga), fame (Raja Yoga), spiritual growth, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotence. The description adds behavioral context by explaining what yogas are and that they indicate specific life outcomes (wealth, fame, spiritual growth), which is not covered by annotations. It does not contradict annotations; it complements them with semantic meaning. Since annotations are present, the bar is lower, and this description meets it with useful extra 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?
The description is extremely concise: two sentences, front-loaded with the primary purpose. It states what the tool does and provides concrete examples without any fluff. Every sentence adds value, and there is no redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (requires a full birth details object) and the presence of an output schema (per context), the description adequately covers what the tool does and its purpose. It does not mention required parameters, but the schema enforces them, so an agent can infer the need for complete birth data. The description is sufficient for a read-only analytical tool, and no critical usage details 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?
Schema description coverage is 0%, meaning the description does not explain any parameters. The description makes no mention of required birth details (e.g., date, time, place) or how to format the input. While the schema itself contains descriptions for each field, the description fails to compensate for the low coverage, leaving the agent without guidance on parameter semantics directly from the tool 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 clearly states a specific verb ('Get'), resource ('all yogas'), and scope ('present in the birth chart'). It differentiates from sibling tools like divine_get_yoga_panchang (which focuses on panchang yogas) and divine_get_kaal_sarpa_yoga (a specific yoga), as it covers all birth chart yogas generically. The examples (Dhana Yoga, Raja Yoga) further clarify the resource 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?
The description implies usage for birth chart analysis ('present in the birth chart'), but it does not explicitly mention alternatives or when not to use this tool. With many sibling tools (e.g., divine_get_yoga_panchang, divine_get_nav_pancham_yoga), it would be helpful to explicitly state that this is for birth-chart yogas, not daily panchang yogas. The usage context is clear but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divine_get_yogini_dashaCRead-onlyIdempotent
Get Yogini Dasha periods for a birth chart.
An alternative dasha system based on 8 Yoginis with a 36-year cycle. Popular for quick predictions and event timing.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is established. The description adds domain context about the 8 Yoginis and 36-year cycle, but it does not disclose output behavior, error conditions, or call constraints. With strong annotations, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the primary action. The second sentence provides useful domain context, and the third sentence is brief. No unnecessary detail or repetition is present.
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 description provides a basic summary but lacks context needed for correct tool selection among many dasha tools. It does not mention when to prefer Yogini Dasha over Vimshottari, Kaal Chakra, or Varshphal Yogini Dasha. Since an output schema exists, return-format coverage is less critical, but selection guidance is still missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says only 'for a birth chart', which hints that the params object contains birth details, but it adds no meaning about required fields, formats, or the structure of the params argument. Schema description coverage is reported as 0% for the top-level parameter, and although the nested KundliInput schema has field descriptions, the description itself does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Yogini Dasha periods for a birth chart, with a specific verb and resource. It adds domain context ('8 Yoginis', '36-year cycle'), but it does not explicitly distinguish itself from similar siblings like divine_get_varshphal_yogini_dasha or divine_get_vimshottari_dasha.
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 implies a use case ('quick predictions and event timing') but provides no explicit guidance on when to choose this tool over alternatives. It does not mention when not to use it or how it differs from other dasha-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
128 tool updates
v2.9.1- First observed
divine_find_festival - First observed
divine_get_antar_dasha_analysis - First observed
divine_get_ascendant_report - First observed
divine_get_ashtakoot_milan - First observed
divine_get_ashtakvarga - First observed
divine_get_auspicious_timings - First observed
divine_get_basic_astro_details - First observed
divine_get_bhav_bala - First observed
divine_get_bhava_analysis - First observed
divine_get_bhava_group_predictions - First observed
divine_get_bhava_kundli - First observed
divine_get_chandrabalam_and_tarabalam - First observed
divine_get_chandramasa - First observed
divine_get_chandramasa_list - First observed
divine_get_chandrashtama - First observed
divine_get_choghadiya - First observed
divine_get_composite_friendship - First observed
divine_get_dashakoot_milan - First observed
divine_get_english_calendar_festivals - First observed
divine_get_festivals_by_date - First observed
divine_get_festivals_by_month - First observed
divine_get_gemstone_suggestion - First observed
divine_get_ghata_chakra - First observed
divine_get_gowri_panchangam - First observed
divine_get_grah_gochar - First observed
divine_get_horoscope_chart - First observed
divine_get_inauspicious_timings - First observed
divine_get_jaimini_chara_dasha - First observed
divine_get_jaimini_karakamsha_lagna - First observed
divine_get_jaimini_padas - First observed
divine_get_jaimini_planetary_positions - First observed
divine_get_kaal_chakra_dasha - First observed
divine_get_kaal_sarpa_yoga - First observed
divine_get_karana - First observed
divine_get_kp_cuspal - First observed
divine_get_kp_cuspal_significator - First observed
divine_get_kp_cuspal_sub - First observed
divine_get_kp_planetary_positions - First observed
divine_get_kp_planetary_sub - First observed
divine_get_kundli_transit_ascendant - First observed
divine_get_kundli_transit_moon - First observed
divine_get_lal_kitab_antardasha_content - First observed
divine_get_lal_kitab_conjunctions - First observed
divine_get_lal_kitab_dasha - First observed
divine_get_lal_kitab_debts - First observed
divine_get_lal_kitab_horoscope_chart - First observed
divine_get_lal_kitab_house_position - First observed
divine_get_lal_kitab_house_signification - First observed
divine_get_lal_kitab_mahadasha_content - First observed
divine_get_lal_kitab_planet_analysis - First observed
divine_get_lal_kitab_planet_types - First observed
divine_get_lal_kitab_planetary_positions - First observed
divine_get_lal_kitab_teva - First observed
divine_get_lal_kitab_varsha_pravesh - First observed
divine_get_lal_kitab_varshphal_chart - First observed
divine_get_lal_kitab_varshphal_muntha - First observed
divine_get_lal_kitab_varshphal_planetary_positions - First observed
divine_get_maha_dasha_analysis - First observed
divine_get_malayalam_festivals - First observed
divine_get_manglik_dosha - First observed
divine_get_matching_basic_astro - First observed
divine_get_matching_horoscope_chart - First observed
divine_get_matching_manglik - First observed
divine_get_matching_planetary_positions - First observed
divine_get_matching_vimshottari_dasha - First observed
divine_get_month_nakshatra_list - First observed
divine_get_month_sunrise_sunset_list - First observed
divine_get_month_surya_nakshatra_list - First observed
divine_get_month_tithi_list - First observed
divine_get_muhurat_business_start - First observed
divine_get_muhurat_do_ghati - First observed
divine_get_muhurat_foundation_laying - First observed
divine_get_muhurat_hora - First observed
divine_get_muhurat_house_entering - First observed
divine_get_muhurat_jain_pachakkhan - First observed
divine_get_muhurat_marriage - First observed
divine_get_muhurat_property_purchase - First observed
divine_get_muhurat_vehicle_purchase - First observed
divine_get_nakshatra - First observed
divine_get_nav_pancham_yoga - First observed
divine_get_nivas_and_shool - First observed
divine_get_other_calendars_and_epoch - First observed
divine_get_panchak_rahita - First observed
divine_get_panchang - First observed
divine_get_pitra_dosha - First observed
divine_get_planet_analysis - First observed
divine_get_planet_combustion_transit - First observed
divine_get_planet_nakshatra_transit - First observed
divine_get_planet_remedies - First observed
divine_get_planet_retrograde_transit - First observed
divine_get_planetary_positions - First observed
divine_get_prasthara_chakra - First observed
divine_get_pratyantar_dasha_analysis - First observed
divine_get_ritu_and_anaya - First observed
divine_get_rudraksha_suggestion - First observed
divine_get_sadhe_sati - First observed
divine_get_samvat - First observed
divine_get_sankranti_festivals - First observed
divine_get_sarvashtakavarga - First observed
divine_get_shadbala - First observed
divine_get_shani_ashtam_shani - First observed
divine_get_sub_planet_chart - First observed
divine_get_sub_planet_positions - First observed
divine_get_sudarshana_chakra - First observed
divine_get_sun_moon - First observed
divine_get_surya_nakshatra - First observed
divine_get_tamil_festivals - First observed
divine_get_tithi - First observed
divine_get_uday_lagna - First observed
divine_get_vargottama_planets - First observed
divine_get_varshphal_basic_astro_details - First observed
divine_get_varshphal_horoscope_chart - First observed
divine_get_varshphal_mudda_dasha - First observed
divine_get_varshphal_muntha - First observed
divine_get_varshphal_panchadhikari - First observed
divine_get_varshphal_patyanini_dasha - First observed
divine_get_varshphal_planetary_positions - First observed
divine_get_varshphal_planetary_strengths - First observed
divine_get_varshphal_sahams - First observed
divine_get_varshphal_tajika_aspect - First observed
divine_get_varshphal_tri_pataki_chakra - First observed
divine_get_varshphal_varsha_pravesh - First observed
divine_get_varshphal_yogas - First observed
divine_get_varshphal_yogini_dasha - First observed
divine_get_vimshottari_dasha - First observed
divine_get_yoga_panchang - First observed
divine_get_yogas - First observed
divine_get_yogini_dasha
TDQS
Scored across 128 tools
Many tools are near-identical in purpose and differ only by a system prefix, such as the seven variants of planetary_positions (generic, matching, Lal Kitab, KP, Jaimini, Varshphal, sub-planet) and the multiple horoscope chart generators. Descriptions help somewhat, but the sheer number of overlapping get_* tools makes misselection highly likely.
The vast majority of tools follow a consistent divine_get_<area>_<subject> snake_case pattern, which is easy to predict. Minor deviations like divine_find_festival and inconsistent qualifier ordering (maha_dasha_analysis vs lal_kitab_mahadasha_content) prevent a perfect score.
128 tools is an extreme count for any MCP server, even one covering a broad domain like Indian astrology. The surface is overwhelming and includes many near-duplicate calculations, such as 14 Varshphal tools and multiple dasha and planetary position variants.
The server covers an exceptionally wide range of Vedic astrology features: panchang, dasha, birth charts, transits, matchmaking, muhurat, festivals, Lal Kitab, KP, Jaimini, and Varshphal systems. Minor gaps exist, such as the absence of numerology and prashna/horary astrology, but the core domain is remarkably well covered.
Maintenance
Related MCP Connectors
Vedic kundli, panchang, dashas, nakshatras and KP charts for AI agents, one API key.
Vedic and Western astrology for AI agents: charts, dasha, matchmaking, panchanga, numerology, tarot.
Professional Vedic astrology tools for AI agents via MCP.
ะccess to personalized Enigmata astrological forecasts (day/week/month/thematic) for AI assistants
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables compute of live Vedic astrology birth charts, dashas, kundali matches, and AI readings via 22 real API tools.22199 npm1MIT
- AlicenseAqualityCmaintenanceProvides Vedic astrology tools to AI assistants, enabling birth chart calculation, daily Panchang, and nakshatra profiles via the star-meet.com API.335 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access real-time Vedic astrology data and perform calculations like horoscopes, panchang, matchmaking, and planetary positions via the AstroChalit API.6 npmISC
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to find auspicious windows for launches, travel, weddings, purchases, publications, and other events using Vedic electional astrology, and to retrieve panchanga, planetary hours, and Rahu Kala.MIT