Porutham
asterwise_get_porutham
Runs the Tamil ten-porutham checklist (PyJHora South rules) for two charts and counts passes out of ten. Also returns Rajju and Vedha condition booleans and per-porutham evidence objects.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
person1 | object | yes | Birth data for a single person. Required fields: date, lat, lon. Optional fields: time, person_name, timezone, ayanamsa. |
person2 | object | yes | Birth data for a single person. Required fields: date, lat, lon. Optional fields: time, person_name, timezone, ayanamsa. |
response_format | enum: markdown, json | no | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. |
What it covers
Classical Tamil Nadu marriage screening: Dinam, Ganam, Mahendra, Stree Deergha, Yoni, Rasi, Rasiyathipaty, Rajju, Vedha, Vasya — each with passed plus type-specific fields (counts, ganas, scores, rajju pairs, vedha flags, distances). Rajju and Vedha classical conditions elevate rajju_veto/vedha_veto/hard_veto booleans. It is not twelve-koota Thirumana (asterwise_get_thirumana_porutham) or North Indian Ashtakoota (asterwise_get_compatibility).
Workflow
BEFORE: RECOMMENDED — asterwise_get_natal_chart per native.
AFTER: asterwise_get_thirumana_porutham — extended twelve-koota read if needed.
Input
Two BirthData objects per global contract.
Output contract
data.total_passed (int — out of 10)
data.total_poruthams (int — 10)
data.compatibility_level (string)
data.rajju_veto (bool)
data.vedha_veto (bool)
data.hard_veto (bool)
data.minimum_poruthams_met (bool — Rajju, Dinam, Ganam, Rasi and Yoni all pass)
data.breakdown{} — keyed by porutham name (Dinam, Ganam, Mahendra, StreeDeergha, Yoni, Rasi, Rasiyathipaty, Rajju, Vedha, Vasya):
passed (bool), description (string)
Dinam: count (int — counted from the groom's star), position (int), tara (string)
Ganam: boy_gana (string), girl_gana (string)
Yoni: boy_yoni (string), girl_yoni (string)
Rasi: count (int)
Rasiyathipaty: boy_lord (string), girl_lord (string)
Rajju: boy_rajju (string), girl_rajju (string), boy_ascending (bool), girl_ascending (bool), is_veto (bool)
Vedha: is_veto (bool)
StreeDeergha: distance (int — counted from the bride's star; passes above 7)
Response format
response_format=json serialises the complete response as indented JSON — use this for programmatic parsing, typed clients, and downstream tool chaining. response_format=markdown renders the same data as a human-readable report. Both modes return identical underlying data — no fields are added, removed, or filtered by either mode.
Compute class
MEDIUM_COMPUTE
Errors
INVALID_PARAMS (local — caught before upstream call):
None — all validation is upstream.
INVALID_PARAMS (upstream):
— None — upstream rejection surfaces as MCP INTERNAL_ERROR at the tool layer.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— hard_veto aggregates Rajju/Vedha classical condition outcomes — read breakdown before narrating success.
Do not confuse with
asterwise_get_thirumana_porutham — twelve poruthams including Nadi and Varna, not ten.
asterwise_get_dashakoot — South Indian float scoring, not Tamil pass grid.
Connect
Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.