match_charts
corePerforms Ashtakoota (8-fold) compatibility matching between two natal charts. Returns per-koota scores, dosha assessments with cancellation logic, cross-chart graha overlaps, weighted composite score, and optional multi-school consensus. Supports inline ChartArtifact objects or cached session keys.
When to use
For Kundali Milan (marriage compatibility) analysis. Cast both charts with cast_chart first, then reference them by session_key here.
When NOT to use
For single-chart analysis (use cast_chart) or timing questions (use query_transits or query_muhurtha).
Input Schema
{
"type": "object",
"properties": {
"chart_a": {
"type": "object",
"description": "First chart — either a session_key or an inline chart_artifact.",
"properties": {
"session_key": {
"type": "string"
},
"chart_artifact": {
"type": "object"
}
}
},
"chart_b": {
"type": "object",
"description": "Second chart — either a session_key or an inline chart_artifact.",
"properties": {
"session_key": {
"type": "string"
},
"chart_artifact": {
"type": "object"
}
}
},
"school_profile": {
"type": "string",
"enum": [
"parashari",
"jaimini",
"kp"
],
"default": "parashari"
},
"scoring_method": {
"type": "string",
"enum": [
"ashtakoota",
"dashakoota",
"comprehensive"
],
"default": "ashtakoota",
"description": "ashtakoota: 8-factor score. comprehensive: adds cross-chart and multi-school consensus."
}
},
"required": [
"chart_a",
"chart_b"
]
}Output
A MatchingArtifact containing: ashtakoota (per-koota scores, total/36), doshas (mangal, nadi, bhakoot with cancellation), cross_chart comparison, composite_score (0.0–1.0), consensus (multi-school), and matching_confidence.
Example Request
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "match_charts",
"arguments": {
"chart_a": {
"session_key": "matching_person_a"
},
"chart_b": {
"session_key": "matching_person_b"
},
"school_profile": "parashari",
"scoring_method": "ashtakoota"
}
}
}Example Response
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "resource",
"resource": {
"uri": "kundalimcp://matching/def456",
"mimeType": "application/json",
"text": "{\"ashtakoota\":{\"total\":28,\"max\":36},\"doshas\":{\"nadi\":{\"present_in_a\":false,\"present_in_b\":false,\"cancelled\":false}},\"composite_score\":{\"score\":0.78}}"
}
}
]
}
}