MCP Server

Sahadeva

io.github.everyai-com/sahadeva
Other Public & reachable MCP 2026-07-28

What this MCP does

Calculates and analyzes Vedic astrology charts, compatibility, dashas, transits, yogas, remedies, and evidence or readiness checks.

analyze_arudha_and_upapada
Analyze Arudha and Upapada structures
Analyze Arudha and Upapada structures
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'arudhaLagna', 'upapadaLagna'], 'additionalProperties': True}
analyze_career_structure
analyze career structure
Evidence-linked analyze career structure without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_chart_topic
Analyze one chart topic with an evidence ledger
Runs the shared deterministic judgment pipeline for career, education, property, relationships, or spirituality. Returns supporting and opposing evidence, relevant Varga confirmation, current Dasha activation, uncertainty, matched reviewed citations, unresolved source keys, and explicit abstention boundaries. The web app uses the same judgment engine.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string'}, 'topic': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}, 'asOfDate': {'type': 'string'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -12}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'conclusion', 'status', 'supportingEvidence', 'opposingEvidence', 'vargaConfirmation', 'timingActivation', 'appliedRules', 'citations', 'unresolvedSourceKeys', 'uncertainty', 'safety'], 'additionalProperties': True}
analyze_education_structure
analyze education structure
Evidence-linked analyze education structure without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_finance_structure
analyze finance structure
Evidence-linked analyze finance structure without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_house
Analyze one natal house with support and opposition
Returns the selected house, lord condition, occupants, functional lordship, relevant relationship edges, supporting and opposing evidence, unresolved source keys and sensitive-house restrictions.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'house'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'house', 'lord', 'supportingEvidence', 'opposingEvidence', 'sourceCoverage', 'safety'], 'additionalProperties': True}
analyze_lal_kitab
Inspect Lal Kitab house structure and source sections
Converts verified natal placements to Lal Kitab fixed houses and returns source locators for all nine planet-house sections. Prediction prose, annual-chart emulation and remedies remain withheld until atomic extraction, scan verification and lineage review.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'tradition', 'conversion', 'placements', 'conjunctions', 'sourceCoverage', 'controlledDisclosurePolicy', 'blockedOutputs', 'safety'], 'properties': {'safety': {'type': 'object'}, 'tradition': {'type': 'object'}, 'conversion': {'type': 'object'}, 'placements': {'type': 'array'}, 'conjunctions': {'type': 'array'}, 'schemaVersion': {'const': 'sahadeva-lal-kitab-structure-1'}, 'blockedOutputs': {'type': 'array'}, 'sourceCoverage': {'type': 'object'}, 'controlledDisclosurePolicy': {'type': 'object'}}}
analyze_marriage_structure
analyze marriage structure
Evidence-linked analyze marriage structure without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_nakshatra_profile
analyze nakshatra profile
Evidence-linked analyze nakshatra profile without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'janma', 'placements', 'notice'], 'additionalProperties': True}
analyze_property_and_vehicle
analyze property and vehicle
Evidence-linked analyze property and vehicle without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_remedies
Build a source-grounded chart remedy protocol
Combines the topic evidence ledger, belief/cost/burden preferences, Iṣṭa and guiding Devatā calculation, Muhurta-as-remedy routing, optional charity and low-risk conduct. Every candidate exposes its source and publication gate. It withholds unreviewed gemstones, initiation-only mantras, fasting and costly rituals.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic', 'preferences'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}, 'asOfDate': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'preferences': {'type': 'object', 'required': ['beliefMode', 'maximumBurden', 'maximumCost', 'allowPrayer', 'allowCharity'], 'properties': {'tradition': {'type': 'string'}, 'beliefMode': {'enum': ['hindu', 'spiritual', 'tradition-specific'], 'type': 'string'}, 'allowPrayer': {'type': 'boolean'}, 'maximumCost': {'enum': ['free', 'low'], 'type': 'string'}, 'allowCharity': {'type': 'boolean'}, 'maximumBurden': {'enum': ['minimal', 'moderate'], 'type': 'string'}, 'accessibilityNotes': {'type': 'array', 'items': {'type': 'string'}}}}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'diagnosis', 'chartDiagnosis', 'remedyFamilyEligibility', 'eligiblePractices', 'traditionalChartRemedies', 'traditionalRemedyStatus', 'sourceCoverage', 'decisionTrace', 'contraindications', 'followUp'], 'additionalProperties': True}
analyze_spiritual_path
analyze spiritual path
Evidence-linked analyze spiritual path without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'domain', 'judgment', 'vargas', 'safety'], 'additionalProperties': True}
analyze_transit_activation
Analyze natal, Dasha and transit activation together
Analyze natal, Dasha and transit activation together
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic', 'asOfIso', 'startIso', 'endIso'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'marriage', 'wealth', 'education', 'children', 'property', 'spirituality'], 'type': 'string'}, 'endIso': {'type': 'string'}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'startIso': {'type': 'string'}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'promise', 'transits', 'timingFusion', 'safety'], 'additionalProperties': True}
analyze_varga
Analyze one divisional chart
Analyze one divisional chart
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'varga'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'marriage', 'wealth', 'education', 'children', 'property', 'spirituality'], 'type': 'string'}, 'varga': {'enum': ['D1', 'D2', 'D3', 'D4', 'D7', 'D9', 'D10', 'D12', 'D16', 'D20', 'D24', 'D27', 'D30', 'D40', 'D45', 'D60'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'varga', 'purpose', 'placements', 'safety'], 'additionalProperties': True}
analyze_yogas
Analyze Yoga formation, strength and opposition
Analyze Yoga formation, strength and opposition
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'detected', 'notDetected', 'notice'], 'additionalProperties': True}
assess_prediction_readiness
Assess prediction and tradition readiness
Reports independent readiness gates for calculations, executable rules, worked examples, practitioner review and outcome calibration. It explicitly reports Lal Kitab as source-only until a dedicated reviewed engine exists.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'overallStatus', 'decision', 'gates', 'traditions', 'recommendedMcpBuildOrder', 'safety'], 'properties': {'gates': {'type': 'array'}, 'safety': {'type': 'object'}, 'decision': {'type': 'object'}, 'traditions': {'type': 'array'}, 'overallStatus': {'const': 'research-preview'}, 'schemaVersion': {'const': 'sahadeva-prediction-readiness-1'}, 'recommendedMcpBuildOrder': {'type': 'array'}}}
audit_chart_calculation
Audit chart calculation provenance and sensitivity
Checks engine certification, timezone provenance, conventions and important sign/Nakshatra/Pada boundary distances before interpretation. It does not claim an external ephemeris recomputation.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'engine', 'inputProvenance', 'convention', 'validation', 'boundaryAudit', 'decision', 'notice'], 'properties': {'engine': {'type': 'object'}, 'notice': {'type': 'string'}, 'decision': {'type': 'object'}, 'convention': {'type': 'object'}, 'validation': {'type': 'object'}, 'boundaryAudit': {'type': 'array'}, 'schemaVersion': {'const': 'sahadeva-calculation-audit-1'}, 'inputProvenance': {'type': 'object'}}}
audit_prediction_claim
Audit one prediction claim before narration
Applies calculation, approved-rule, opposition, calibration and harm gates and returns publish, caution or abstain.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['claim'], 'properties': {'claim': {'type': 'string'}, 'harmClass': {'enum': ['general-cultural', 'sensitive-reflective', 'high-impact-restricted', 'prohibited-output'], 'type': 'string'}, 'claimClass': {'type': 'string'}, 'nearBoundary': {'type': 'boolean'}, 'approvedRules': {'type': 'array'}, 'opposingEvidence': {'type': 'array'}, 'supportingEvidence': {'type': 'array'}, 'calculationCertified': {'type': 'boolean'}, 'unresolvedSourceKeys': {'type': 'array', 'items': {'type': 'string'}}, 'empiricallyCalibrated': {'type': 'boolean'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'claim', 'evidence', 'confidence', 'decision'], 'additionalProperties': True}
audit_reading_evidence
Audit reading prose against calculated placements and safety rules
Audit reading prose against calculated placements and safety rules
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'text'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'text': {'type': 'string', 'maxLength': 30000}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'supported', 'unsupportedClaims', 'prohibitedClaimPatterns'], 'additionalProperties': True}
build_claim_evidence_ledger
build claim evidence ledger
Evidence-linked build claim evidence ledger without deterministic outcome claims.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topics': {'type': 'array', 'items': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'claims', 'summary', 'notice'], 'additionalProperties': True}
calculate_ashtakavarga
Calculate Bhinnashtakavarga and Sarvashtakavarga
Calculate Bhinnashtakavarga and Sarvashtakavarga
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'sarva', 'signs'], 'additionalProperties': True}
calculate_compatibility
Calculate Ashtakoota, Porutham and Kuja compatibility
Resolves both birth places, calculates both charts, and returns separate auditable North Indian 36-point Ashtakoota and South Indian ten-Porutham breakdowns plus Mangal/Kuja Dosha evidence. Traditional research preview; never a relationship verdict.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['bride', 'groom'], 'properties': {'bride': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}, 'groom': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'subjects', 'ashtakoota', 'porutham', 'kujaDosha', 'sourceCoverage', 'safety'], 'properties': {'safety': {'type': 'object'}, 'porutham': {'type': 'object'}, 'subjects': {'type': 'object'}, 'kujaDosha': {'type': 'object'}, 'ashtakoota': {'type': 'object'}, 'schemaVersion': {'const': 'sahadeva-compatibility-1'}, 'sourceCoverage': {'type': 'object'}}}
calculate_dasha_system
Calculate a declared Dasha system
Calculate a declared Dasha system
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'system', 'asOfIso'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'system': {'enum': ['vimshottari', 'yogini', 'ashtottari', 'kalachakra', 'narayana', 'chara', 'status'], 'type': 'string'}, 'asOfIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
calculate_devata_profile
Calculate Iṣṭa and guiding Devatā candidates
Calculates Iṣṭa, Dharma, Pālana, Guru and Kula Devatā anchors from an explicit lineage preset: occupants, Rashi Drishti, then sign lord with visible tie-breaks. Unsupported lineages are withheld rather than silently mixed. It never prescribes initiation-only mantra or claims one uniquely correct deity.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'lineage': {'enum': ['rath-eight-karaka-reversed-rahu', 'seven-karaka-comparative'], 'type': 'string', 'default': 'rath-eight-karaka-reversed-rahu'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'lineage', 'convention', 'anchors', 'ishtaDevata', 'dharmaDevata', 'palanaDevata', 'guruDevata', 'kulaDevata', 'birthTimeSensitivity', 'safety'], 'additionalProperties': True}
calculate_doshas
Calculate evidence-first Dosha patterns
Calculates Mangal/Kuja, Kaal Sarpa enclosure, Kemadruma, and conservative Pitru-related structural candidates with raw/effective severity and explicit cancellation or mitigation evidence.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'subject', 'patterns', 'summary', 'rulebook', 'safety'], 'properties': {'safety': {'type': 'object'}, 'subject': {'type': 'object'}, 'summary': {'type': 'object'}, 'patterns': {'type': 'array'}, 'rulebook': {'type': 'object'}, 'schemaVersion': {'const': 'sahadeva-doshas-1'}}}
calculate_gochara_from_known_place
Calculate gochara from a verified place
Resolves a verified catalogue place and its IANA timezone before calculating sidereal transits, avoiding manual coordinate and offset entry.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['date', 'time', 'place', 'natalLagnaSign'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'place': {'type': 'string'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'natalLagnaSign': {'type': 'integer', 'maximum': 11, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['instantJulianDay', 'engine', 'resolvedPlace', 'natalLagnaSign', 'placements'], 'properties': {'engine': {'type': 'object'}, 'placements': {'type': 'array'}, 'resolvedPlace': {'type': 'object'}, 'natalLagnaSign': {'type': 'integer'}, 'instantJulianDay': {'type': 'number'}}}
calculate_prashna
Ask a Prashna question
Casts a server-time horary chart, checks chart fitness, and returns an auditable structural judgment plus outcome-confirmation hook.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['question', 'category'], 'properties': {'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'category': {'enum': ['career', 'relationship', 'money', 'property', 'travel', 'lost-object', 'general'], 'type': 'string'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'question': {'type': 'string', 'maxLength': 500, 'minLength': 3}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'consultationId', 'chartFitness', 'judgment', 'feedback', 'safety'], 'additionalProperties': True}
calculate_strength_profile
Calculate a separated planetary strength profile
Calculate a separated planetary strength profile
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'dignities', 'avasthas', 'shadbala', 'lineage'], 'additionalProperties': True}
compare_conventions
Compare chart conventions without silent mixing
Compares Lahiri with selected alternative ayanamsa projections for one topic, identifies changed Lagna, topic lord, karaka, sign, house and Nakshatra anchors, and marks when a Lahiri judgment must not be reused. Alternative full derived charts remain explicitly unvalidated.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'topic': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'conventions': {'type': 'array', 'items': {'enum': ['lahiri', 'krishnamurti', 'raman', 'fagan-bradley'], 'type': 'string'}}, 'timezoneOffset': {'type': 'number'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'variants', 'judgmentChangeAnalysis', 'traditionBoundary', 'safety'], 'additionalProperties': True}
compare_reading_versions
Explain why two reading versions changed
Compares engine, ruleset, input and conclusion status changes.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['first', 'second'], 'properties': {'first': {'type': 'object'}, 'second': {'type': 'object'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'configurationChanges', 'conclusions'], 'additionalProperties': True}
compare_traditions
Compare traditions without blending them
Compares explicitly supplied tradition ledgers while preserving separate methods, evidence, contradictions and readiness states.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ledgers'], 'properties': {'ledgers': {'type': 'array', 'items': {'type': 'object'}, 'minItems': 2}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'traditions', 'agreements', 'contradictions', 'synthesisPolicy'], 'additionalProperties': True}
consult_jyotishya
Ask Sahadeva — master Jyotisha consultation
PRIMARY TOOL FOR EVERY NORMAL USER QUESTION AND FIRST READING. Always runs a complete person-first screen covering identity, education, employment, business, money, love, marriage, health routines, family/property, children and spirituality, plus strengths, Doshas/cancellations and safe practical support. It then gives extra Varga and timing depth to the exact question, checks contradictions and reports coverage. Use specialist tools only when this result requests additional inputs or the user asks for technical matrices. Deterministic: it never invokes another AI model.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'name': {'type': 'string'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'focus': {'enum': ['general', 'career', 'marriage', 'children', 'education', 'property', 'health', 'spirituality'], 'type': 'string', 'default': 'general'}, 'place': {'type': 'string'}, 'detail': {'enum': ['brief', 'standard'], 'type': 'string', 'default': 'brief'}, 'asOfDate': {'type': 'string'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'question': {'type': 'string', 'maxLength': 1000}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'profileRef': {'type': 'string', 'pattern': '^chart_[a-f0-9]{20}$', 'description': 'Stable profile reference returned by the first consultation. Pass it on later questions together with the same birth details.'}, 'traditions': {'type': 'array', 'items': {'enum': ['parashari', 'jaimini', 'kp', 'lal-kitab'], 'type': 'string'}, 'default': ['parashari', 'jaimini', 'kp', 'lal-kitab'], 'description': 'Traditions to compare as separate ledgers. They are interconnected by topic but never blended.', 'uniqueItems': True}, 'readingMode': {'enum': ['auto', 'full-profile', 'follow-up'], 'type': 'string', 'default': 'auto', 'description': 'Use auto normally: without profileRef it creates the full first-reading dossier; with profileRef it returns a focused follow-up.'}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -12}, 'remedyPreferences': {'type': 'object', 'properties': {'tradition': {'type': 'string'}, 'beliefMode': {'enum': ['hindu', 'spiritual', 'tradition-specific'], 'type': 'string'}, 'allowPrayer': {'type': 'boolean'}, 'maximumCost': {'enum': ['free', 'low'], 'type': 'string'}, 'allowCharity': {'type': 'boolean'}, 'maximumBurden': {'enum': ['minimal', 'moderate'], 'type': 'string'}, 'accessibilityNotes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8}}, 'description': 'Optional explicit consent and burden preferences. Without these, personalized traditional remedies remain withheld.'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'subject', 'anchors', 'priorities', 'currentTiming', 'confidence', 'safety'], 'additionalProperties': True}
explain_chart_sources
Explain the source and review status behind a chart topic
Returns book-section locators and rule-review status without treating discovered prose as executable doctrine.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'sources', 'notice'], 'additionalProperties': True}
explore_lal_kitab_sources
Explore complete Lal Kitab source coverage
Returns all source families, locators, coverage counts, lexical risk signals and graduated disclosure policy without republishing source body text.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'source', 'coverage', 'policy', 'families', 'notice'], 'properties': {'notice': {'type': 'string'}, 'policy': {'type': 'object'}, 'source': {'type': 'object'}, 'coverage': {'type': 'object'}, 'families': {'type': 'array'}, 'schemaVersion': {'const': 'sahadeva-lal-kitab-source-catalog-1'}}}
find_marriage_windows
Find structural marriage-planning windows
Finds overlaps between Jupiter transiting the natal seventh sign and Venus or seventh-lord Vimshottari periods. Returns planning windows, never a guaranteed marriage prediction.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'startDate'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'years': {'type': 'number', 'default': 5, 'maximum': 20, 'minimum': 0.25}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'startDate': {'type': 'string'}, 'timezoneOffset': {'type': 'number'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'subject', 'range', 'natal', 'windows', 'safety'], 'properties': {'natal': {'type': 'object'}, 'range': {'type': 'object'}, 'safety': {'type': 'object'}, 'subject': {'type': 'object'}, 'windows': {'type': 'array'}, 'schemaVersion': {'const': 'sahadeva-marriage-windows-1'}}}
find_muhurta
Find ranked Muhurta windows
Ranks candidate windows over a bounded date range using activity Panchanga fitness, prohibited-period avoidance, optional Tara/Chandra Bala, instant Lagna structure, and activity-karaka condition. Returns every pass/fail reason and draft source key.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['activity', 'startDate', 'endDate'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'natal': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5}}}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'endDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'activity': {'enum': ['marriage', 'griha_pravesh', 'travel', 'business_start', 'vehicle_purchase', 'property_purchase', 'naming', 'contract', 'important_conversation', 'new_venture', 'surgery'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'activity', 'rulebook', 'windows', 'safety'], 'properties': {'safety': {'type': 'object'}, 'windows': {'type': 'array'}, 'activity': {'type': 'string'}, 'rulebook': {'type': 'object'}, 'schemaVersion': {'const': 'sahadeva-muhurta-1'}}}
find_muhurta_with_natal_fit
Find Muhurta windows fitted to a natal chart
Ranks a maximum seven-day range using Panchanga, prohibited intervals, Tara Bala and Chandra Bala. Medical procedures are unsupported.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['activity', 'startDate', 'endDate', 'natal'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'natal': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'endDate': {'type': 'string'}, 'activity': {'enum': ['marriage', 'griha_pravesh', 'travel', 'business_start', 'vehicle_purchase', 'property_purchase', 'naming', 'contract', 'important_conversation', 'new_venture'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'startDate': {'type': 'string'}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'activity', 'windows', 'safety'], 'additionalProperties': True}
fuse_timing
Fuse promise, Dasha, transit, Ashtakavarga and Varga timing
Applies natal promise as a hard gate and returns uncalibrated, auditable timing windows with learnable factor weights.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic', 'startIso', 'endIso'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'marriage', 'wealth', 'education', 'children', 'property', 'spirituality'], 'type': 'string'}, 'endIso': {'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'startIso': {'type': 'string'}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'promise', 'windows'], 'additionalProperties': True}
generate_full_life_report
Generate a complete evidence-linked life report
Builds a normal-person South Indian astrology report covering identity, mind, family, communication, home, learning, routines, relationships, change, beliefs, career, networks, rest, measured strengths, Vargas, structural Yogas, current Dasha and upcoming Antardashas. Interpretations remain qualified and evidence-linked.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date', 'time', 'place', 'latitude', 'longitude', 'timezoneOffset'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'focus': {'enum': ['general', 'career', 'marriage', 'children', 'education', 'property', 'health', 'spirituality'], 'type': 'string', 'default': 'general'}, 'place': {'type': 'string'}, 'asOfDate': {'type': 'string', 'description': 'ISO date or instant for the current-timing section; defaults to now'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'horizonYears': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'timezoneOffset': {'type': 'number'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5, 'maximum': 1440, 'minimum': 0}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'subject', 'anchors', 'plainLanguageReading', 'placements', 'measuredStrengths', 'aspects', 'ashtakavarga', 'divisionalChartAnchors', 'currentTiming', 'sourceCoverage', 'uncertainty', 'safety'], 'properties': {'safety': {'type': 'object'}, 'anchors': {'type': 'object'}, 'aspects': {'type': 'object'}, 'subject': {'type': 'object'}, 'placements': {'type': 'array'}, 'uncertainty': {'type': 'object'}, 'ashtakavarga': {'type': 'object'}, 'currentTiming': {'type': 'object'}, 'schemaVersion': {'const': 'sahadeva-full-life-report-1'}, 'sourceCoverage': {'type': 'object'}, 'measuredStrengths': {'type': 'array'}, 'plainLanguageReading': {'type': 'object'}, 'divisionalChartAnchors': {'type': 'object'}}}
generate_report_pdf
Generate a hosted shareable PDF report
Generates the full reading context as a server-side PDF and returns a hosted URL valid for 30 days.
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'asOfDate': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'horizonYears': {'type': 'number', 'default': 5, 'maximum': 20, 'minimum': 1}, 'timezoneOffset': {'type': 'number'}}}
Output schema
{'type': 'object', 'required': ['id', 'url', 'expiresAt', 'contentType', 'safety'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'safety': {'type': 'object'}, 'expiresAt': {'type': 'string'}, 'contentType': {'const': 'application/pdf'}}}
get_depth_analysis
Get strength, Varga and additional-Dasha depth
Returns Vimsopaka and Ishta/Kashta evidence, topic-specific cross-Varga synthesis, special Lagnas, expanded Yoga candidates and additional-Dasha status.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'marriage', 'wealth', 'education', 'children', 'property', 'spirituality'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'strengthLineage', 'vargaSynthesis', 'targetedLagnas', 'yogas', 'additionalDashas', 'safety'], 'additionalProperties': True}
get_full_life_report_section
Get one full-life-report section
Returns one bounded section of the full report for MCP clients with limited context windows.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date', 'time', 'place', 'latitude', 'longitude', 'timezoneOffset', 'section'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'section': {'enum': ['summary', 'life-areas', 'placements', 'strengths', 'vargas', 'aspects', 'ashtakavarga', 'synthesis', 'timing', 'uncertainty', 'evidence', 'citations'], 'type': 'string'}, 'asOfDate': {'type': 'string'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'horizonYears': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'timezoneOffset': {'type': 'number'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'section', 'data', 'safety'], 'properties': {'data': {}, 'safety': {'type': 'object'}, 'section': {'type': 'string'}, 'schemaVersion': {'const': 'sahadeva-full-life-report-section-1'}}}
get_marriage_readiness
Get one-call marriage readiness context
Returns separate North Indian Ashtakoota and South Indian ten-Porutham compatibility, Kuja evidence, compact summaries for both charts, and structural marriage-planning windows for each person in one call.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['bride', 'groom', 'startDate'], 'properties': {'bride': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'timezoneOffset': {'type': 'number'}}}, 'groom': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'timezoneOffset': {'type': 'number'}}}, 'years': {'type': 'number', 'default': 5, 'maximum': 20, 'minimum': 0.25}, 'muhurta': {'type': 'object', 'required': ['startDate', 'endDate'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'place': {'type': 'string'}, 'endDate': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'startDate': {'type': 'string'}, 'timezoneOffset': {'type': 'number'}}, 'description': 'Optional shared wedding location and bounded date range passed to find_muhurta'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'startDate': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'compatibility', 'subjects', 'marriageWindows', 'safety'], 'properties': {'safety': {'type': 'object'}, 'subjects': {'type': 'object'}, 'compatibility': {'type': 'object'}, 'schemaVersion': {'const': 'sahadeva-marriage-readiness-1'}, 'marriageWindows': {'type': 'object'}}}
get_natal_panchanga
Analyze the five natal Panchanga limbs
Returns calculated Vara, Tithi class, Nakshatra lord, Yoga, Karana, Paksha Bala, boundary warnings and unresolved lineage-specific source keys. This is distinct from daily Panchanga.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'limbs', 'paksha', 'interpretation', 'safety'], 'additionalProperties': True}
get_panchanga
Get complete daily Panchanga
Returns the five limbs plus Rahu Kaal, Yamaganda, Gulika, Bhadra status, Abhijit and Brahma Muhurta, day/night Choghadiya, 24 Horas, solar-day context, festival flags, and optional Tara/Chandra Bala from a natal chart.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'natal': {'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}, 'birthTimeAccuracyMinutes': {'type': 'number', 'default': 5}}}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'language': {'enum': ['en', 'te'], 'type': 'string', 'default': 'en'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
get_validation_report
Get versioned calculation, knowledge, review and outcome validation status
Reports coverage and validation gates without converting descriptive counts into scientific or predictive validity.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'tradition': {'type': 'string'}, 'engineVersion': {'type': 'string'}, 'rulesetVersion': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'calculation', 'knowledge', 'review', 'outcomes', 'overallStatus'], 'additionalProperties': True}
record_consultation_outcome
Record a versioned prediction claim and later outcome
Stores one atomic claim and a consent-scoped outcome for descriptive validation without training on narration.
Input schema
{'type': 'object', 'required': ['claimId', 'claim', 'claimClass', 'tradition', 'chartVersion', 'rulesetVersion', 'outcome', 'consentScope'], 'properties': {'claim': {'type': 'string'}, 'notes': {'type': 'string'}, 'claimId': {'type': 'string'}, 'outcome': {'enum': ['confirmed', 'partly-confirmed', 'not-confirmed', 'unresolved'], 'type': 'string'}, 'evidence': {'type': 'object'}, 'tradition': {'type': 'string'}, 'claimClass': {'type': 'string'}, 'resolvedAt': {'type': 'string'}, 'chartVersion': {'type': 'string'}, 'consentScope': {'enum': ['service-follow-up', 'descriptive-outcomes', 'blind-validation'], 'type': 'string'}, 'userSawClaim': {'type': 'boolean'}, 'outcomeBlinded': {'type': 'boolean'}, 'rulesetVersion': {'type': 'string'}, 'resolutionWindowEnd': {'type': 'string'}, 'resolutionWindowStart': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'claimId', 'outcomeId', 'status'], 'additionalProperties': True}
record_prashna_outcome
Record a Prashna outcome
Closes the Prashna feedback loop using the private confirmation token returned by calculate_prashna. The token is hashed at rest and is distinct from the consultation ID.
Input schema
{'type': 'object', 'required': ['confirmationToken', 'outcome'], 'properties': {'notes': {'type': 'string', 'maxLength': 1000}, 'outcome': {'enum': ['confirmed', 'partly-confirmed', 'not-confirmed', 'unresolved'], 'type': 'string'}, 'resolvedAt': {'type': 'string', 'format': 'date-time'}, 'confirmationToken': {'type': 'string', 'maxLength': 256, 'minLength': 16}}}
Output schema
{'type': 'object', 'required': ['id', 'consultationId', 'status', 'recordedAt'], 'properties': {'id': {'type': 'string'}, 'status': {'type': 'string', 'const': 'recorded'}, 'recordedAt': {'type': 'string'}, 'consultationId': {'type': 'string'}}, 'additionalProperties': False}
rectify_birth_time
Rank birth-time hypotheses
Scores candidate birth times against life events and validates with a held-out event. Never claims an exact recovered minute.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['baseInput', 'earliestTime', 'latestTime', 'events'], 'properties': {'events': {'type': 'array'}, 'baseInput': {'type': 'object'}, 'latestTime': {'type': 'string'}, 'stepMinutes': {'type': 'integer', 'default': 5}, 'earliestTime': {'type': 'string'}, 'holdoutEventId': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'rankedCandidates', 'rankedClusters', 'notice'], 'additionalProperties': True}
render_chart
Render a shareable South Indian chart
Renders a deterministic South Indian chart as inline SVG, including retrograde, combustion, and dignity flags.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'size': {'type': 'integer', 'default': 1200, 'maximum': 2400, 'minimum': 480}, 'time': {'type': 'string'}, 'place': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'longitude': {'type': 'number'}, 'timezoneOffset': {'type': 'number'}}}
Output schema
{'type': 'object', 'required': ['format', 'mimeType', 'svg', 'safety'], 'properties': {'svg': {'type': 'string'}, 'format': {'const': 'svg'}, 'safety': {'type': 'object'}, 'mimeType': {'const': 'image/svg+xml'}}}
search_locations
Find a chart location
Searches Sahadeva's deterministic local catalogue and geographic index. It never invokes another AI model. If no result exists, the MCP host should resolve the place with its own capabilities and pass coordinates to the chart tool.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 2}}}
Output schema
{'type': 'object', 'required': ['query', 'status', 'matches'], 'properties': {'query': {'type': 'string'}, 'status': {'enum': ['resolved', 'ambiguous', 'not_found'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'latitude', 'longitude', 'timezone', 'timezoneOffset']}}}}
search_reviewed_rules
Search independently approved rules
Returns only publication-gated rules and rights-safe source metadata. Drafts and open contradictions are excluded.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string'}, 'topic': {'type': 'string'}, 'harmClass': {'type': 'string'}, 'tradition': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'results', 'publicationPolicy'], 'additionalProperties': True}
search_source_passages
Search source passages with rights controls
Searches passage metadata and returns text only when display rights permit it. Results never become executable rules automatically.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string'}, 'tradition': {'type': 'string'}, 'reviewStatus': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'results', 'rightsPolicy'], 'additionalProperties': True}
suggest_safe_practice
Suggest belief-compatible low-burden support
Builds an optional practice protocol from the evidence ledger and user preferences. It can return no-remedy-needed, never emits unreviewed gemstones, costly rituals or initiation-only mantras, and does not claim causality.
Read only Idempotent
Input schema
{'type': 'object', 'anyOf': [{'required': ['place']}, {'required': ['latitude', 'longitude', 'timezone']}], 'required': ['name', 'date', 'time', 'topic', 'preferences'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'place': {'type': 'string', 'description': 'Catalogue query or display label when explicit coordinates are supplied'}, 'topic': {'enum': ['career', 'education', 'property', 'relationships', 'spirituality', 'wealth'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'string', 'description': 'Required IANA timezone when explicit coordinates are supplied, for example Asia/Kolkata'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'preferences': {'type': 'object', 'required': ['beliefMode', 'maximumBurden', 'maximumCost', 'allowPrayer', 'allowCharity'], 'properties': {'tradition': {'type': 'string'}, 'beliefMode': {'enum': ['hindu', 'spiritual', 'tradition-specific'], 'type': 'string'}, 'allowPrayer': {'type': 'boolean'}, 'maximumCost': {'enum': ['free', 'low'], 'type': 'string'}, 'allowCharity': {'type': 'boolean'}, 'maximumBurden': {'enum': ['minimal', 'moderate'], 'type': 'string'}}}, 'timezoneOffset': {'type': 'number', 'maximum': 14, 'minimum': -14, 'description': 'Optional fallback offset; derived from timezone and the requested local date when omitted'}}}
Output schema
{'type': 'object', 'required': ['schemaVersion', 'diagnosis', 'outcome', 'preferences', 'remedyFamilyEligibility', 'eligiblePractices', 'traditionalChartRemedies', 'contraindications', 'followUp'], 'additionalProperties': True}
Added
get_validation_report
Oct. 2, 2026, 2:40 a.m.
Added
record_consultation_outcome
Oct. 2, 2026, 2:40 a.m.
Added
audit_prediction_claim
Oct. 2, 2026, 2:40 a.m.
Added
compare_traditions
Oct. 2, 2026, 2:40 a.m.
Added
search_source_passages
Oct. 2, 2026, 2:40 a.m.
Added
search_reviewed_rules
Oct. 2, 2026, 2:40 a.m.
Added
rectify_birth_time
Oct. 2, 2026, 2:40 a.m.
Added
fuse_timing
Oct. 2, 2026, 2:40 a.m.
Added
get_depth_analysis
Oct. 2, 2026, 2:40 a.m.
Added
record_prashna_outcome
Oct. 2, 2026, 2:40 a.m.
Added
calculate_prashna
Oct. 2, 2026, 2:40 a.m.
Added
generate_report_pdf
Oct. 2, 2026, 2:40 a.m.
Added
render_chart
Oct. 2, 2026, 2:40 a.m.
Added
get_marriage_readiness
Oct. 2, 2026, 2:40 a.m.
Added
find_marriage_windows
Oct. 2, 2026, 2:40 a.m.
Added
audit_chart_calculation
Oct. 2, 2026, 2:40 a.m.
Added
assess_prediction_readiness
Oct. 2, 2026, 2:40 a.m.
Added
calculate_gochara_from_known_place
Oct. 2, 2026, 2:40 a.m.
Added
get_full_life_report_section
Oct. 2, 2026, 2:40 a.m.
Added
generate_full_life_report
Oct. 2, 2026, 2:40 a.m.
Added
find_muhurta_with_natal_fit
Oct. 2, 2026, 2:40 a.m.
Added
build_claim_evidence_ledger
Oct. 2, 2026, 2:40 a.m.
Added
analyze_spiritual_path
Oct. 2, 2026, 2:40 a.m.
Added
analyze_finance_structure
Oct. 2, 2026, 2:40 a.m.
Added
analyze_property_and_vehicle
Oct. 2, 2026, 2:40 a.m.
Added
analyze_education_structure
Oct. 2, 2026, 2:40 a.m.
Added
analyze_career_structure
Oct. 2, 2026, 2:40 a.m.
Added
analyze_marriage_structure
Oct. 2, 2026, 2:40 a.m.
Added
analyze_nakshatra_profile
Oct. 2, 2026, 2:40 a.m.
Added
compare_reading_versions
Oct. 2, 2026, 2:40 a.m.