MCP-Server

Sahadeva

io.github.everyai-com/sahadeva
Sonstiges Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

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
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'arudhaLagna', 'upapadaLagna'], 'additionalProperties': True}
analyze_career_structure
analyze career structure
Evidence-linked analyze career structure without deterministic outcome claims.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'topic', 'promise', 'transits', 'timingFusion', 'safety'], 'additionalProperties': True}
analyze_varga
Analyze one divisional chart
Analyze one divisional chart
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'varga', 'purpose', 'placements', 'safety'], 'additionalProperties': True}
analyze_yogas
Analyze Yoga formation, strength and opposition
Analyze Yoga formation, strength and opposition
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'claims', 'summary', 'notice'], 'additionalProperties': True}
calculate_ashtakavarga
Calculate Bhinnashtakavarga and Sarvashtakavarga
Calculate Bhinnashtakavarga and Sarvashtakavarga
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['first', 'second'], 'properties': {'first': {'type': 'object'}, 'second': {'type': 'object'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['ledgers'], 'properties': {'ledgers': {'type': 'array', 'items': {'type': 'object'}, 'minItems': 2}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'tradition': {'type': 'string'}, 'engineVersion': {'type': 'string'}, 'rulesetVersion': {'type': 'string'}}}
Ausgabeschema
{'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.
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Eingabeschema
{'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}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 2}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string'}, 'topic': {'type': 'string'}, 'harmClass': {'type': 'string'}, 'tradition': {'type': 'string'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string'}, 'tradition': {'type': 'string'}, 'reviewStatus': {'type': 'string'}}}
Ausgabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'diagnosis', 'outcome', 'preferences', 'remedyFamilyEligibility', 'eligiblePractices', 'traditionalChartRemedies', 'contraindications', 'followUp'], 'additionalProperties': True}
Hinzugefügt
get_validation_report
2. October 2026 02:40
Hinzugefügt
record_consultation_outcome
2. October 2026 02:40
Hinzugefügt
audit_prediction_claim
2. October 2026 02:40
Hinzugefügt
compare_traditions
2. October 2026 02:40
Hinzugefügt
search_source_passages
2. October 2026 02:40
Hinzugefügt
search_reviewed_rules
2. October 2026 02:40
Hinzugefügt
rectify_birth_time
2. October 2026 02:40
Hinzugefügt
fuse_timing
2. October 2026 02:40
Hinzugefügt
get_depth_analysis
2. October 2026 02:40
Hinzugefügt
record_prashna_outcome
2. October 2026 02:40
Hinzugefügt
calculate_prashna
2. October 2026 02:40
Hinzugefügt
generate_report_pdf
2. October 2026 02:40
Hinzugefügt
render_chart
2. October 2026 02:40
Hinzugefügt
get_marriage_readiness
2. October 2026 02:40
Hinzugefügt
find_marriage_windows
2. October 2026 02:40
Hinzugefügt
audit_chart_calculation
2. October 2026 02:40
Hinzugefügt
assess_prediction_readiness
2. October 2026 02:40
Hinzugefügt
calculate_gochara_from_known_place
2. October 2026 02:40
Hinzugefügt
get_full_life_report_section
2. October 2026 02:40
Hinzugefügt
generate_full_life_report
2. October 2026 02:40
Hinzugefügt
find_muhurta_with_natal_fit
2. October 2026 02:40
Hinzugefügt
build_claim_evidence_ledger
2. October 2026 02:40
Hinzugefügt
analyze_spiritual_path
2. October 2026 02:40
Hinzugefügt
analyze_finance_structure
2. October 2026 02:40
Hinzugefügt
analyze_property_and_vehicle
2. October 2026 02:40
Hinzugefügt
analyze_education_structure
2. October 2026 02:40
Hinzugefügt
analyze_career_structure
2. October 2026 02:40
Hinzugefügt
analyze_marriage_structure
2. October 2026 02:40
Hinzugefügt
analyze_nakshatra_profile
2. October 2026 02:40
Hinzugefügt
compare_reading_versions
2. October 2026 02:40