Skip to main content
Glama

AstroTune — Vedic astrology (Jyotish)

compatibility

Совместимость двух людей по аштакуте (kundli matching, 8 кут): балл и причина по каждой куте и итог. Без времени знак Луны бывает двояким: points — min…max по combinations (у каждого сочетания знаков свой итог и куты), kutas — разбор combinations[0]; при однозначных данных min=max. Процента нет — не вычисляйте его.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoru
first_dateYes
first_timeNo
first_placeNo
second_dateYes
second_timeNo
second_placeNo
first_geonameidNo
first_utc_offsetNoПосле отказа time_ambiguous: utc_offset из error.choices.
second_geonameidNo
second_utc_offsetNoПосле отказа time_ambiguous: utc_offset из error.choices.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / first_utc_offset
      Added value: +{
      +  "description": "После отказа time_ambiguous: utc_offset из error.choices.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / second_utc_offset
      Added value: +{
      +  "description": "После отказа time_ambiguous: utc_offset из error.choices.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed8 schema fields changed
    • removedInput schema / properties / first_geonameid / default
      Removed value: -null
    • removedInput schema / properties / first_place / default
      Removed value: -null
    • removedInput schema / properties / first_time / default
      Removed value: -null
    • removedInput schema / properties / second_geonameid / default
      Removed value: -null
    • removedInput schema / properties / second_place / default
      Removed value: -null
    • removedInput schema / properties / second_time / default
      Removed value: -null
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / title
      Removed value: -"compatibilityDictOutput"
  3. Changed6 schema fields changed
    • changedInput schema / properties / first_geonameid / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / first_place / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / first_time / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / second_geonameid / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / second_place / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / second_time / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  4. Changed22 schema fields changed
    • removedInput schema / properties / first_date / title
      Removed value: -"First Date"
    • removedInput schema / properties / first_geonameid / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / first_geonameid / title
      Removed value: -"First Geonameid"
    • addedInput schema / properties / first_geonameid / type
      Added value: +"integer"
    • removedInput schema / properties / first_place / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / first_place / title
      Removed value: -"First Place"
    • addedInput schema / properties / first_place / type
      Added value: +"string"
    • removedInput schema / properties / first_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / first_time / title
      Removed value: -"First Time"
    • addedInput schema / properties / first_time / type
      Added value: +"string"
    • removedInput schema / properties / lang / title
      Removed value: -"Lang"
    • removedInput schema / properties / second_date / title
      Removed value: -"Second Date"
    • removedInput schema / properties / second_geonameid / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / second_geonameid / title
      Removed value: -"Second Geonameid"
    • addedInput schema / properties / second_geonameid / type
      Added value: +"integer"
    • removedInput schema / properties / second_place / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / second_place / title
      Removed value: -"Second Place"
    • addedInput schema / properties / second_place / type
      Added value: +"string"
    • removedInput schema / properties / second_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / second_time / title
      Removed value: -"Second Time"
    • addedInput schema / properties / second_time / type
      Added value: +"string"
    • removedInput schema / title
      Removed value: -"compatibilityArguments"
  5. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that a missing time makes the Moon sign twofold, that 'points' then becomes a min…max range, that 'kutas' resolves combinations[0], and that with unambiguous data min=max. It also preempts a wrong inference by stating no percentage is returned. Auth, rate limits and error paths (time_ambiguous) are left to 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.

Conciseness4/5

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

Three dense sentences that front-load the core purpose before the ambiguity caveats. No filler, though the middle sentence is tightly packed and slightly hard to parse on first read.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the ambiguity behavior is covered. Still, for an 11-parameter tool with 18% schema coverage, location and language parameters go unexplained, leaving gaps an agent would have to guess at.

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

Parameters3/5

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

Schema coverage is only 18% across 11 parameters, so the description must compensate; it explains the pivotal time-ambiguity semantics behind first_time/second_time, and the schema documents the utc_offset fallbacks. However, place, geonameid, and lang parameters carry no added meaning from the description.

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

Purpose5/5

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

States a specific verb+resource: matching two people's compatibility by ashtakoot (8 kutas), returning a score and reason per kuta plus a total. That scope is unmistakably distinct from sibling chart tools like natal_chart, varga_chart, or compare_methods.

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

Usage Guidelines3/5

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

Gives useful output-side guidance ('Процента нет — не вычисляйте его') and explains how to read results when birth time is absent, but never states when to choose this tool over siblings or what prerequisites/alternatives exist. Usage is only implied by the tool's domain.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources