Skip to main content
Glama

Compatibility: unified couple report

astroway_vedic_compatibility_couple_report
Read-onlyIdempotent

One call: Ashtakoot, Dashakoota, Porutham, dosha cancellation, Navamsa and Dasha compatibility, each identical to its own route, plus a summary that only counts what they say.

[Group: Vedic] [Endpoint: POST /v1/vedic/compatibility/couple-report] [Required: chart1, chart2] [Cost: 50 credits (Tier 3)]

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "chart1": "<chart1>",
      "chart2": "<chart2>"
    },
    "name": "astroway_vedic_compatibility_couple_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearsNoLength of the dasha window in years, 1 to 30. Default 10.
chart1Yes
chart2Yes
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
schoolNoPorutham school. tamil (default) or kerala. The ten factor tables are the same in both; kerala adds Papasamyam.
fromDateNoStart of the dasha window, YYYY-MM-DD (UTC). Today when omitted. A date before the later birth moves the start to that birth, keeping the length; dasha.window reports it.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
mangalSchoolNoHouses and reference points for Kuja dosha. south (default): 1, 2, 4, 7, 8, 12 from Lagna, Moon and Venus. north: the same houses from Lagna and Moon. strict: 1, 4, 7, 8, 12 from Lagna only.

Output Schema

NameRequiredDescriptionDefault
brideNo
dashaNo
groomNo
methodNo
schoolNo
navamsaNo
summaryNo
poruthamNo
ashtakootNo
dashakootaNo
mangalSchoolNo
doshaCancellationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / fromDate / description
      Previous value: -"Start of the dasha window, YYYY-MM-DD (UTC). Today when omitted."New value: +"Start of the dasha window, YYYY-MM-DD (UTC). Today when omitted. A date before the later birth moves the start to that birth, keeping the length; dasha.window reports it."
    • changedInput schema / properties / school / description
      Previous value: -"Porutham school. tamil (default) or kerala; they differ on Dinam, Stree Deergham, Rasi and on which factors are essential."New value: +"Porutham school. tamil (default) or kerala. The ten factor tables are the same in both; kerala adds Papasamyam."
    • changedOutput schema / properties / dasha / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "mahadashaChanges": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": {},
      -                  "properties": {
      -                    "date": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "from": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "jd": {
      -                      "type": [
      -                        "number",
      -                        "null"
      -                      ]
      -                    },
      -                    "partner": {
      -                      "type": [
      -                        "number",
      -                        "null"
      -                      ]
      -                    },
      -                    "to": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "segments": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": {},
      -                  "properties": {
      -                    "antar": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": {},
      -                          "properties": {
      -                            "partner1": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "partner2": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "relation": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": {},
      -                                  "properties": {
      -                                    "p1ToP2": {
      -                                      "type": [
      -                                        "string",
      -                                        "null"
      -                                      ]
      -                                    },
      -                                    "p2ToP1": {
      -                                      "type": [
      -                                        "string",
      -                                        "null"
      -                                      ]
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "same": {
      -                              "type": [
      -                                "boolean",
      -                                "null"
      -                              ]
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "end": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "endJd": {
      -                      "type": [
      -                        "number",
      -                        "null"
      -                      ]
      -                    },
      -                    "maha": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": {},
      -                          "properties": {
      -                            "partner1": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "partner2": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "relation": {
      -                              "anyOf": [
      -                                {},
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "same": {
      -                              "type": [
      -                                "boolean",
      -                                "null"
      -                              ]
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "partner1": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": {},
      -                          "properties": {
      -                            "antar": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "maha": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "partner2": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": {},
      -                          "properties": {
      -                            "antar": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            },
      -                            "maha": {
      -                              "type": [
      -                                "string",
      -                                "null"
      -                              ]
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "start": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "startJd": {
      -                      "type": [
      -                        "number",
      -                        "null"
      -                      ]
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "summary": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": {},
      -            "properties": {
      -              "mahaRelationShare": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": {},
      -                    "properties": {
      -                      "mutualEnemies": {
      -                        "type": [
      -                          "number",
      -                          "null"
      -                        ]
      -                      },
      -                      "mutualFriends": {
      -                        "type": [
      -                          "number",
      -                          "null"
      -                        ]
      -                      },
      -                      "nodes": {
      -                        "type": [
      -                          "number",
      -                          "null"
      -                        ]
      -                      },
      -                      "other": {
      -                        "type": [
      -                          "number",
      -                          "null"
      -                        ]
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "segments": {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "window": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": {},
      -            "properties": {
      -              "from": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "to": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "years": {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "mahadashaChanges": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": {},
      +                  "properties": {
      +                    "date": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "from": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "jd": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "partner": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "to": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "segments": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": {},
      +                  "properties": {
      +                    "antar": {
      +                      "anyOf": [
      +                        {
      +                          "additionalProperties": {},
      +                          "properties": {
      +                            "partner1": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "partner2": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "relation": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": {},
      +                                  "properties": {
      +                                    "p1ToP2": {
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    },
      +                                    "p2ToP1": {
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "same": {
      +                              "type": [
      +                                "boolean",
      +                                "null"
      +                              ]
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "end": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "endJd": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "maha": {
      +                      "anyOf": [
      +                        {
      +                          "additionalProperties": {},
      +                          "properties": {
      +                            "partner1": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "partner2": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "relation": {
      +                              "anyOf": [
      +                                {},
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "same": {
      +                              "type": [
      +                                "boolean",
      +                                "null"
      +                              ]
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "partner1": {
      +                      "anyOf": [
      +                        {
      +                          "additionalProperties": {},
      +                          "properties": {
      +                            "antar": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "maha": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "partner2": {
      +                      "anyOf": [
      +                        {
      +                          "additionalProperties": {},
      +                          "properties": {
      +                            "antar": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            },
      +                            "maha": {
      +                              "type": [
      +                                "string",
      +                                "null"
      +                              ]
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "start": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "startJd": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "summary": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "mahaRelationShare": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": {},
      +                    "properties": {
      +                      "mutualEnemies": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "mutualFriends": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "nodes": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "other": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "segments": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "window": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "from": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "requestedFrom": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "startsAtBirth": {
      +                "anyOf": [
      +                  {},
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "to": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "years": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds real context beyond that: the 'Cost: 50 credits (Tier 3)' pricing, the POST endpoint, and the guarantee that results match the individual routes with a summary that 'only counts what they say'. It says nothing about response size, latency, or failure modes for invalid charts, which keeps it at a 3.

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

Conciseness5/5

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

A single front-loaded sentence establishes the consolidated scope, followed by compact bracketed metadata lines for group, endpoint, required params, and cost. Nothing is redundant and the scannable structure puts the differentiator first.

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

Completeness4/5

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

For an 8-parameter aggregation tool with an output schema present, the description covers what is returned at a high level (the union of six compatibility computations plus a summary) and the cost. Return-value detail is legitimately left to the output schema, though the description could note that the response is large and that `fields`/`precision` compact mode exists for trimming it.

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

Parameters3/5

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

Schema description coverage is 75% and the nested birth-chart schemas are densely documented, including role labels for chart1 (groom, counted to) and chart2 (bride, counted from). The description itself adds no parameter meaning beyond reiterating 'Required: chart1, chart2', so the schema does the heavy lifting and the baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb and resource ('One call: Ashtakoot, Dashakoota, Porutham, dosha cancellation, Navamsa and Dasha compatibility') and enumerates exactly which sibling routes are unified. It also states that each component is identical to its own route plus an aggregate summary, which distinguishes it from the individual compatibility siblings without ambiguity.

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

Usage Guidelines4/5

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

The phrase 'One call' plus the list of consolidated components implies the when-to-use case: fetch all compatibility factors at once rather than calling the individual routes. It does not explicitly say when to prefer the narrower siblings (e.g. for cost or payload size), so there is no explicit exclusion guidance, but the consolidation rationale is clear.

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