Sahadeva MCP
A remote MCP server for Vedic astrology that provides deterministic chart calculations, Panchanga, dashas, compatibility analysis, muhurta, and AI-narrated readings.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://sahadeva.magicteams.ai/mcpWhat its tools do
101 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (96)
recommend_toolssearch_locationscalculate_chart_from_known_placecompare_family_timingcalculate_compatibilitycalculate_relationship_compatibilityget_panchangafind_muhurtafind_elected_lagnacalculate_doshascalculate_kpcalculate_jaiminicalculate_varshaphalcalculate_ayanamsa_chartdetect_life_themesconsult_jyotishyaanalyze_chart_topicvalidate_rule_specreconstruct_worked_examplecompare_conventionsanalyze_houseprepare_consultation_intakebuild_prediction_journalget_planetary_relationship_graphget_natal_panchangacalculate_crystal_profilecalculate_crystal_timingcalculate_relationship_crystalslookup_crystalanalyze_sibling_bondget_book_rule_findingsanalyze_lal_kitabexplore_lal_kitab_sourcesanalyze_lal_kitab_remediesreason_lal_kitabexplore_lal_kitab_remedy_catalogget_remedy_catalogsuggest_safe_practicecalculate_devata_profileanalyze_remediesbuild_remedy_repertoireanalyze_transit_activationcalculate_strength_profilecalculate_ashtakavargaanalyze_vargaanalyze_yogasanalyze_special_pointsanalyze_transitscalculate_dasha_systemanalyze_badhakaanalyze_arudha_and_upapadaaudit_reading_evidenceexplain_chart_sourcescompare_reading_versionsanalyze_nakshatra_profileanalyze_marriage_structureanalyze_career_structureanalyze_education_structureanalyze_property_and_vehicleanalyze_finance_structureanalyze_spiritual_pathbuild_claim_evidence_ledgeranalyze_namefind_muhurta_with_natal_fitrun_longitudinal_validationgenerate_full_life_reportget_full_reading_contextget_full_life_report_sectioncalculate_south_indian_chartdescribe_methodologycalculate_gocharacalculate_gochara_from_known_placecalculate_ingress_timelinesimulate_birth_time_uncertaintyknowledge_statusget_rule_hit_ratesassess_prediction_readinessaudit_chart_calculationlist_rule_review_queueget_rule_citationsget_synthesis_validation_statusquery_vimshottari_dateget_compact_chart_evidenceget_timing_contextbuild_slow_transit_calendarfind_marriage_windowsget_marriage_readinessrender_chartget_depth_analysisfuse_timingrectify_birth_timesearch_reviewed_rulessearch_source_passagescompare_traditionsaudit_prediction_claimget_validation_report
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Generate Vedic astrology charts
- Calculate Panchanga details
- Analyze dashas and muhurta
- Perform kundli matching
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- sahadeva 0.5.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 101 advertised
- Resources
- 10 advertised
- Resource templates
- 1 advertised
- Prompts
- 8 advertised
{
"tools": {
"listChanged": false
},
"logging": {},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"extensions": {
"io.modelcontextprotocol/ui": {
"mimeTypes": [
"text/html;profile=mcp-app"
]
}
},
"completions": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
101 advertised
recommend_tools — Recommend which Sahadeva tool(s) to call for a question
Router / planner. Give it the user's natural-language question and optional context flags and it returns a deterministic, ordered call plan — the primary tool, why, the arguments it needs, alternatives and relevant resource URIs — so you know exactly what to call BEFORE calling it. Read-only, makes no astrological claim. Call this first when unsure which of the many tools fits.
{
"type": "object",
"required": [
"question"
],
"properties": {
"context": {
"type": "object",
"properties": {
"language": {
"enum": [
"en",
"te"
],
"type": "string"
},
"hasProfileRef": {
"type": "boolean"
},
"hasBirthDetails": {
"type": "boolean"
},
"hasSecondPerson": {
"type": "boolean"
}
}
},
"question": {
"type": "string",
"minLength": 2
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"intent",
"primaryTool",
"plan",
"safety"
],
"properties": {
"plan": {
"type": "array"
},
"intent": {
"type": "string"
},
"safety": {
"type": "object"
},
"primaryTool": {
"type": "string"
},
"schemaVersion": {
"const": "sahadeva-tool-router-1"
}
}
}{
"title": "Recommend which Sahadeva tool(s) to call for a question",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 2
}
}
}{
"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"
]
}
}
}
}{
"title": "Find a chart location",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}calculate_chart_from_known_place — Calculate a chart from a place or coordinates
SHOW THE BIRTH CHART. Use when the person wants to see their chart, planet positions, Navamsa or running dasha. Returns a compact readable summary (Lagna, planet table, current Vimshottari, birth Panchanga, Navamsa) and, in hosts that support MCP Apps, an interactive South Indian Rasi/Navamsa chart with a dasha timeline. For interpretation of a question use consult_jyotishya instead. Calculates a complete South Indian chart from a known catalogue place or explicit latitude, longitude, and IANA timezone supplied by the MCP host. Bare place names auto-resolve to the curated best-effort match with alternatives noted. This deterministic tool never invokes another AI model.
{
"type": "object",
"required": [
"date",
"time",
"place"
],
"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"
},
"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
}
}
}{
"type": "object",
"additionalProperties": true
}{
"title": "Calculate a chart from a place or coordinates",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_family_timing — Compare family members' running periods side by side
Family view for 2–6 linked people (for example wife, husband, children, parents). For each person: current mahadasha and antardasha with dates, upcoming period changes, Sade Sati / Ashtama Shani status, and the windows when two or more members are under Saturn pressure together. Use it when a question involves the whole family. It reports dated overlaps only and never treats one chart as the cause of another person's events.
{
"type": "object",
"required": [
"people"
],
"properties": {
"people": {
"type": "array",
"items": {
"type": "object",
"required": [
"relation",
"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": "Town or village; \"<village>, near <town>\" is accepted"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"relation": {
"type": "string",
"description": "How this person relates to the one asking, e.g. self, husband, wife, son, daughter, mother"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"birthTimeAccuracyMinutes": {
"type": "number",
"default": 5,
"maximum": 1440,
"minimum": 0
}
}
},
"maxItems": 6,
"minItems": 2
},
"asOfDate": {
"type": "string"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"horizonYears": {
"type": "number",
"default": 2,
"maximum": 5,
"minimum": 1
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"asOfIso",
"endIso",
"people",
"sharedSaturnPressure"
],
"additionalProperties": true
}{
"title": "Compare family members' running periods side by side",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"bride",
"groom"
],
"properties": {
"bride": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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": [
"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"
}
}
}{
"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"
}
}
}{
"title": "Calculate Ashtakoota, Porutham and Kuja compatibility",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_relationship_compatibility — Relationship compatibility (business, friends, siblings, and more)
Gender-neutral Nakshatra compatibility between any two people for a chosen bond — business partner, friend, sibling, colleague, mentor/student, roommate or general. Resolves both places, calculates both charts, and returns per-factor Tara, Graha Maitri, Gana, Yoni, Bhakoot and Moon-element evidence weighted for that relationship, plus a 0-100 harmony index. Traditional research preview; never a verdict on any relationship.
{
"type": "object",
"required": [
"personA",
"personB",
"relationship"
],
"properties": {
"personA": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
},
"personB": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
},
"relationship": {
"enum": [
"business_partner",
"friend",
"sibling",
"colleague",
"mentor_student",
"parent_child",
"roommate",
"general"
],
"type": "string",
"default": "general"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"relationship",
"subjects",
"harmony",
"factors",
"sourceCoverage",
"safety"
],
"properties": {
"safety": {
"type": "object"
},
"factors": {
"type": "array"
},
"harmony": {
"type": "object"
},
"subjects": {
"type": "object"
},
"relationship": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-relationship-compatibility-1"
},
"sourceCoverage": {
"type": "object"
}
}
}{
"title": "Relationship compatibility (business, friends, siblings, and more)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"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": [
"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"
}
}
}{
"type": "object",
"additionalProperties": true
}{
"title": "Get complete daily Panchanga",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"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": [
"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"
}
}
}{
"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"
}
}
}{
"title": "Find ranked Muhurta windows",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_elected_lagna — Find elected-Lagna windows
EXPERT electional search: finds ascendant-sign windows across 1 day (up to 3 with an API key) and scores each elected Lagna structurally (lord strength and dignity, benefic/malefic placement, Moon condition, activity-karaka state, prohibited-period overlap). Ineligible windows stay visible with fail reasons; draft rules, never a guarantee.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"startDate"
],
"properties": {
"days": {
"type": "integer",
"default": 1,
"maximum": 3,
"minimum": 1
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"place",
"rulebook",
"windows",
"safety"
],
"properties": {
"place": {
"type": "object"
},
"safety": {
"type": "object"
},
"windows": {
"type": "array"
},
"rulebook": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-elected-lagna-1"
}
}
}{
"title": "Find elected-Lagna windows",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"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"
}
}
}{
"title": "Calculate evidence-first Dosha patterns",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_kp — Calculate KP structural preview
Returns KP Placidus cusps (tropical cusp longitudes checked against six Swiss Ephemeris reference values; abstains where Placidus is undefined at high latitudes), KP sidereal positions using Lahiri with the corpus-specified 6′ correction (located in the source, not reproduced against a reference), Nakshatra star, sub and sub-sub lords, ruling planets and significator evidence. Rulers, significators and event logic are a structural preview, not independently certified.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"status",
"zodiac",
"cusps",
"planets",
"rulingPlanets",
"significators",
"safety"
],
"properties": {
"cusps": {
"type": "object"
},
"safety": {
"type": "object"
},
"status": {
"type": "string"
},
"zodiac": {
"type": "object"
},
"planets": {
"type": "array"
},
"rulingPlanets": {
"type": "array"
},
"schemaVersion": {
"const": "sahadeva-kp-preview-1"
},
"significators": {
"type": "array"
}
}
}{
"title": "Calculate KP structural preview",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_jaimini — Calculate Jaimini structural chart
Returns seven- and eight-Chara-Karaka conventions, all Arudha Padas including Arudha Lagna and Upapada, Karakamsha, and Jaimini Rashi Drishti matrices without silently mixing conventions.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"status",
"charaKarakas",
"arudhaPadas",
"karakamsha",
"devataProfile",
"rashiDrishti",
"charaDasha",
"safety"
],
"properties": {
"safety": {
"type": "object"
},
"status": {
"type": "string"
},
"charaDasha": {
"type": "object"
},
"karakamsha": {
"type": "object"
},
"arudhaPadas": {
"type": "object"
},
"charaKarakas": {
"type": "object"
},
"rashiDrishti": {
"type": "object"
},
"devataProfile": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-jaimini-1"
}
}
}{
"title": "Calculate Jaimini structural chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_varshaphal — Calculate Varshaphal annual chart
Casts the sidereal (Lahiri) solar-return chart for a target year and returns Tajaka Varshaphal: Muntha, the five office-bearers with Panchavargiya and Harsha Bala, the year lord, the sixteen Tajaka yogas, cited Sahams (Punya first), and Mudda and Patyamsa dashas.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"targetYear"
],
"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
},
"targetYear": {
"type": "integer",
"maximum": 2050,
"minimum": 1800
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"status",
"subject",
"solarReturn",
"annualChart",
"muntha",
"tajika",
"safety"
],
"properties": {
"muntha": {
"type": "object"
},
"safety": {
"type": "object"
},
"status": {
"type": "string"
},
"tajika": {
"type": "object"
},
"sources": {
"type": "array"
},
"subject": {
"type": "object"
},
"annualChart": {
"type": "object"
},
"conventions": {
"type": "array"
},
"solarReturn": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-varshaphal-2"
}
}
}{
"title": "Calculate Varshaphal annual chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_ayanamsa_chart — Calculate a selectable ayanamsa projection
Projects placements and sign-based Graha Drishti under Lahiri, Krishnamurti, Raman, or Fagan/Bradley, reports boundary changes, and preserves per-convention validation status. Non-Lahiri full derived systems are not silently recomputed.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"ayanamsa"
],
"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"
},
"ayanamsa": {
"enum": [
"lahiri",
"krishnamurti",
"raman",
"fagan-bradley"
],
"type": "string"
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"selected",
"placements",
"aspects",
"boundaryChangesFromLahiri",
"scope",
"safety"
],
"properties": {
"scope": {
"type": "object"
},
"safety": {
"type": "object"
},
"aspects": {
"type": "object"
},
"selected": {
"type": "object"
},
"placements": {
"type": "array"
},
"schemaVersion": {
"const": "sahadeva-ayanamsa-projection-1"
},
"boundaryChangesFromLahiri": {
"type": "array"
}
}
}{
"title": "Calculate a selectable ayanamsa projection",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}detect_life_themes — Detect ranked Dasha-activated life themes
Detects structural afflictions and supportive Yogas, weights their activation through Vimshottari Maha/Antardashas over a date range, and returns ranked neutral themes with reasons, citation state, uncalibrated confidence, and mandatory safety limits.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"startDate",
"endDate"
],
"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"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"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
},
"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"
},
"birthTimeAccuracyMinutes": {
"type": "number",
"default": 5,
"maximum": 1440,
"minimum": 0
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"range",
"patterns",
"periods",
"sourceCoverage",
"uncertainty",
"safety"
],
"properties": {
"range": {
"type": "object"
},
"safety": {
"type": "object"
},
"periods": {
"type": "array"
},
"patterns": {
"type": "array"
},
"uncertainty": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-life-themes-1"
},
"sourceCoverage": {
"type": "object"
}
}
}{
"title": "Detect ranked Dasha-activated life themes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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 practice preferences. Prayer and charity can be turned off; every other remedy family is always included."
},
"birthTimeAccuracyMinutes": {
"type": "number",
"default": 5,
"maximum": 1440,
"minimum": 0
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"subject",
"anchors",
"priorities",
"currentTiming",
"confidence",
"safety"
],
"additionalProperties": true
}{
"title": "Ask Sahadeva — master Jyotisha consultation",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"conclusion",
"status",
"supportingEvidence",
"opposingEvidence",
"vargaConfirmation",
"timingActivation",
"appliedRules",
"citations",
"unresolvedSourceKeys",
"uncertainty",
"safety"
],
"additionalProperties": true
}{
"title": "Analyze one chart topic with an evidence ledger",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}validate_rule_spec — Validate and replay a structured Jyotisha rule
Reviewer/developer tool. Validates the typed rule DSL and replays a proposed rule, including exceptions and harm/review publication gates, against a deterministic chart. It does not approve or publish the rule.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"rule"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"rule": {
"type": "object",
"additionalProperties": true
},
"time": {
"type": "string"
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"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
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Optional fallback offset; derived from timezone and the requested local date when omitted"
}
}
}{
"type": "object",
"required": [
"valid",
"execution",
"publicationGate"
],
"additionalProperties": true
}{
"title": "Validate and replay a structured Jyotisha rule",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}reconstruct_worked_example — Reconstruct a local rule worked example
Lists or deterministically replays a local book-rule fixture, comparing expected matches, exceptions and source locators. Passing validates software consistency only; examples remain unpublishable until independent scan adjudication and review.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"fixtureId": {
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"additionalProperties": true
}{
"title": "Reconstruct a local rule worked example",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"topic"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"topic": {
"enum": [
"career",
"education",
"property",
"relationships",
"spirituality",
"wealth",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"variants",
"judgmentChangeAnalysis",
"traditionBoundary",
"safety"
],
"additionalProperties": true
}{
"title": "Compare chart conventions without silent mixing",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"house",
"lord",
"supportingEvidence",
"opposingEvidence",
"sourceCoverage",
"safety"
],
"additionalProperties": true
}{
"title": "Analyze one natal house with support and opposition",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}prepare_consultation_intake — Prepare a practitioner consultation intake
Refines the question, checks birth-time fitness, collects dated life history for rectification, records consent, and returns the session plan. Run this before chart judgment for a new person.
{
"type": "object",
"required": [
"question"
],
"properties": {
"topic": {
"enum": [
"career",
"education",
"property",
"relationships",
"spirituality",
"wealth"
],
"type": "string"
},
"consent": {
"type": "object"
},
"question": {
"type": "string"
},
"lifeEvents": {
"type": "array",
"items": {
"type": "object"
}
},
"expectations": {
"type": "string"
},
"birthTimeSource": {
"enum": [
"birth-certificate",
"hospital-record",
"family-memory",
"approximate",
"unknown"
],
"type": "string"
},
"traditionPreference": {
"type": "string"
},
"birthTimeAccuracyMinutes": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"status",
"refinedQuestion",
"birthDataFitness"
],
"additionalProperties": true
}{
"title": "Prepare a practitioner consultation intake",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}build_prediction_journal — Freeze a falsifiable prediction-journal claim
Builds one reviewable claim from a topic judgment: active dasha window, observable outcome, falsifier, and review date. Resolve it later with record_consultation_outcome.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
},
"asOfDate": {
"type": "string"
},
"latitude": {
"type": "number"
},
"nodeMode": {
"enum": [
"mean",
"true"
],
"type": "string"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"timezoneOffset": {
"type": "number"
},
"birthTimeAccuracyMinutes": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"subject",
"claims",
"method",
"notice"
],
"additionalProperties": true
}{
"title": "Freeze a falsifiable prediction-journal claim",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_planetary_relationship_graph — Get the typed planetary relationship graph
Returns dispositors, chains, conjunctions, exchanges, Graha Drishti, compound relationships and Lagna-specific functional lordships as distinct edge types.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"nodes",
"edges",
"dispositorChains",
"functionalLordships"
],
"additionalProperties": true
}{
"title": "Get the typed planetary relationship graph",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"limbs",
"paksha",
"interpretation",
"safety"
],
"additionalProperties": true
}{
"title": "Analyze the five natal Panchanga limbs",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_crystal_profile — Crystal astrology profile (Western, tropical)
Returns the crystal for each placement's tropical degree after Costelloe's Complete Guide to Crystal Astrology (360 degrees, one crystal each, with page locators): Sun to Saturn, Uranus, Neptune, Pluto, Chiron, the Ascendant and the true (osculating) nodes, with retrograde flags, the Sun's Karmic Condition/Focus/Quest sequence, each degree's number (1-360), the zodiac birthstones, weekday stone and planet metals, the chart's colour and rock-type pattern, and what each crystal is looked to for. Every crystal carries handling, water, price and availability facts and, when it is toxic, costly or rare, a safe stand-in from the neighbouring degrees. Western tropical practice, separate from Jyotish; not a gemstone prescription.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"tradition",
"source",
"placements",
"traditions",
"pattern",
"notice"
],
"properties": {
"tradition": {
"const": "western-tropical"
},
"schemaVersion": {
"const": "sahadeva-crystal-profile-2"
}
},
"additionalProperties": true
}{
"title": "Crystal astrology profile (Western, tropical)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_crystal_timing — Crystal astrology over time (Western, tropical)
Crystals over time from Costelloe's degree table: this year's crystal from the secondary-progressed Sun (about one crystal per year of life, with the ages each one starts), this month's from the progressed Moon, the day's crystal (the transiting Sun's degree), each planet's crystal at the moment, and when Jupiter, Saturn, Uranus, Neptune, Pluto or Chiron stand on one of the person's natal crystal degrees in the coming window. Western tropical practice, separate from Jyotish.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"asOf": {
"type": "string",
"description": "ISO date or date-time; defaults to now"
},
"date": {
"type": "string"
},
"days": {
"type": "number",
"default": 365,
"maximum": 730,
"minimum": 1
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"progressed",
"sky"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-crystal-timing-1"
}
},
"additionalProperties": true
}{
"title": "Crystal astrology over time (Western, tropical)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_relationship_crystals — Crystals for two people (Western, tropical)
Relationship crystals from Costelloe's degree table: composite-midpoint crystals for the pair (Sun, Venus, Mercury, Moon, Mars, Jupiter, Saturn), degrees the two people share or sit next to, their relationship, communication and emotion crystals side by side, and shared crystal colours. Western tropical practice; not a verdict on the relationship.
{
"type": "object",
"required": [
"personA",
"personB"
],
"properties": {
"personA": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
},
"personB": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"composite",
"links",
"notice"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-crystal-relationship-1"
}
},
"additionalProperties": true
}{
"title": "Crystals for two people (Western, tropical)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}lookup_crystal — Look up a crystal by number, degree or name
Looks up Costelloe's crystal astrology table by number (1-360, the book's astrological numerology, e.g. a house or street number), by tropical degree ("Libra 2") or by crystal name. Returns the degree, number, birthdays, page locator, crystal-name numerology, the Karmic Condition/Focus/Quest neighbours, and handling, water, price and availability facts with a safe stand-in where needed.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "A number 1-360, a degree such as Libra 2, or a crystal name"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"query",
"matches"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-crystal-lookup-1"
}
},
"additionalProperties": true
}{
"title": "Look up a crystal by number, degree or name",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_sibling_bond — Sibling and speech rule cards for one chart
Runs sibling and communication rule cards located in Sarvarth Chintamani (Brothers v15, v17, v24; Speech v29) and Jyotisha Fundamentals (10.1.1, 10.1.3, 3.2.4): Lagna lord friendship with the 3rd (younger) and 11th (elder) lords, benefic blessing of the 3rd, Mars rivalry and Mercury's condition for talking with kin. Each finding cites its rule card. No loss-of-sibling claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"younger",
"elder",
"findings",
"rules",
"notice"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-sibling-bond-1"
}
},
"additionalProperties": true
}{
"title": "Sibling and speech rule cards for one chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_book_rule_findings — Book verses this chart meets for one life area
Runs the life-area rule cards drafted from the house chapters of Bhasin's Sarvarth Chintamani and Larsen's Jyotisha Fundamentals (career, wealth, marriage, children, education, property, spirituality) and returns the verses this chart meets, each with its citation, effect and weight. Located drafts, not reviewed rules.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"wealth",
"marriage",
"children",
"education",
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"rulesTested",
"fired",
"balance",
"notice"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-life-area-findings-1"
}
},
"additionalProperties": true
}{
"title": "Book verses this chart meets for one life area",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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 and annual-chart emulation are not yet built; the book remedies for each placement come from analyze_lal_kitab_remedies and reason_lal_kitab.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"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"
}
}
}{
"title": "Inspect Lal Kitab house structure and source sections",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"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"
}
}
}{
"title": "Explore complete Lal Kitab source coverage",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_lal_kitab_remedies — Match source-located Lal Kitab remedy candidates
Matches the chart's nine fixed-house placements to remedy blocks extracted from the complete 778-page corpus. Returns each remedy's book wording, its condition text, provenance and risk-flag labels.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"mode",
"placements",
"matchedCandidateCount",
"catalogCoverage",
"publication",
"notice"
],
"additionalProperties": true
}{
"title": "Match source-located Lal Kitab remedy candidates",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}reason_lal_kitab — Run the deterministic Lal Kitab inference kernel
Calculates a topic-aware Lal Kitab natal prediction and remedy plan from fixed houses, conjunction friendship/enmity, dormancy, eclipse conditions and birth-period context. It reasons from calculated chart facts without searching the corpus at runtime and returns a complete explanation trace; annual timing is not implied.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
},
"topic": {
"enum": [
"career",
"education",
"property",
"relationships",
"spirituality",
"wealth",
"health",
"children",
"general"
],
"type": "string",
"default": "general"
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"computation",
"factGraph",
"diagnoses",
"topicPrediction",
"predictions",
"remedyPlan",
"explanationTrace",
"unresolved",
"safety"
],
"additionalProperties": true
}{
"title": "Run the deterministic Lal Kitab inference kernel",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}explore_lal_kitab_remedy_catalog — Inspect Lal Kitab remedy-engine coverage
Returns whole-book extraction counts, source hash, catalog hash and publication policy without returning copyrighted remedy text.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"schemaVersion",
"source",
"policy",
"coverage",
"catalogSha256"
],
"additionalProperties": true
}{
"title": "Inspect Lal Kitab remedy-engine coverage",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_remedy_catalog — Browse the Vedic remedy catalog
Lists the structured remedy catalog indexed from Sanjay Rath's Vedic Remedies in Astrology (mantra, deity mantra, yantra, homa, puja, dana, vrata, meditation, pranayama, devata orientation, calendar observances and gemstone reference topics) with source locators and our own guidance; no book prose. Not chart-specific: gemstone rows are reference topics, and chart gemstones come from build_remedy_repertoire.
{
"type": "object",
"properties": {
"graha": {
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"topic": {
"type": "string"
},
"family": {
"type": "string"
},
"tradition": {
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"schemaVersion",
"total",
"returned",
"families",
"entries",
"withheld",
"policy",
"safety"
],
"properties": {
"total": {
"type": "integer"
},
"policy": {
"type": "string"
},
"safety": {
"type": "object"
},
"entries": {
"type": "array"
},
"families": {
"type": "array",
"items": {
"type": "string"
}
},
"returned": {
"type": "integer"
},
"withheld": {
"type": "array"
},
"chartChecked": {
"type": "boolean"
},
"schemaVersion": {
"type": "string"
}
},
"additionalProperties": true
}{
"title": "Browse the Vedic remedy catalog",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}suggest_safe_practice — Suggest belief-compatible remedies
Builds a remedy protocol from the evidence ledger and user preferences, with the full planet repertoire (mantra, stotra, gemstone, daana, vrata, rudraksha, yantra) and the Lal Kitab book remedies. It can return no-remedy-needed and does not claim causality.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"type": "string"
},
"detail": {
"enum": [
"brief",
"full"
],
"type": "string",
"default": "brief",
"description": "brief omits internal audit sections; full returns the complete protocol"
},
"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
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"diagnosis",
"outcome",
"preferences",
"eligiblePractices",
"traditionalChartRemedies",
"contraindications",
"followUp"
],
"additionalProperties": true
}{
"title": "Suggest belief-compatible remedies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"lineage",
"convention",
"anchors",
"ishtaDevata",
"dharmaDevata",
"palanaDevata",
"guruDevata",
"kulaDevata",
"birthTimeSensitivity",
"safety"
],
"additionalProperties": true
}{
"title": "Calculate Iṣṭa and guiding Devatā candidates",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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, named charity, conduct, and the full planet repertoire: mantras, gemstones, vrata and Lal Kitab book remedies. Every candidate exposes its source.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"type": "string"
},
"detail": {
"enum": [
"brief",
"full"
],
"type": "string",
"default": "brief",
"description": "brief omits internal audit sections; full returns the complete protocol"
},
"asOfDate": {
"type": "string"
},
"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
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"diagnosis",
"eligiblePractices",
"traditionalChartRemedies",
"traditionalRemedyStatus",
"contraindications",
"followUp"
],
"additionalProperties": true
}{
"title": "Build a source-grounded chart remedy protocol",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}build_remedy_repertoire — Full classical remedy repertoire for a chart
Full remedy repertoire. Works out each graha's functional nature and afflictions, then returns beej and Vedic mantras, stotra, gemstone (for grahas to strengthen), named daana, vrata, rudraksha, yantra, conduct, the Lal Kitab remedies for its fixed house, dosha remedies and Dasha-based timing. Every family is on by default; pass false to leave one out. No topic required.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
},
"options": {
"type": "object",
"properties": {
"allowCharity": {
"type": "boolean",
"default": true
},
"allowFasting": {
"type": "boolean",
"default": true
},
"allowMantras": {
"type": "boolean",
"default": true
},
"allowGemstones": {
"type": "boolean",
"default": true
}
}
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"approach",
"functionalNature",
"planetRemedies",
"safety"
],
"additionalProperties": true
}{
"title": "Full classical remedy repertoire for a chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_transit_activation — Analyze natal, Dasha and transit activation together
TIMING FOR A TOPIC. Combines the natal promise for one topic (career, marriage, wealth, education, children, property, spirituality) with the running dasha and slow transits between startIso and endIso. Use for 'when' questions about one area of life. For a plain list of current transits use analyze_transits.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"topic",
"asOfIso",
"startIso",
"endIso"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"promise",
"transits",
"timingFusion",
"safety"
],
"additionalProperties": true
}{
"title": "Analyze natal, Dasha and transit activation together",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_strength_profile — Calculate a separated planetary strength profile
PLANET STRENGTHS. Full Shadbala (all six balas with components, required-strength ratio), Vimshopaka in four varga sets, Ishta/Kashta Phala, avasthas and planetary friendships. Use when asked which planets are strong or weak, or to qualify a yoga.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"dignities",
"avasthas",
"shadbala",
"lineage"
],
"additionalProperties": true
}{
"title": "Calculate a separated planetary strength profile",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_ashtakavarga — Calculate Bhinnashtakavarga and Sarvashtakavarga
ASHTAKAVARGA. Bhinnashtakavarga for the seven planets, Sarvashtakavarga, Trikona/Ekadhipatya reductions and Pinda. Use for sign strength and transit support.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"sarva",
"signs"
],
"additionalProperties": true
}{
"title": "Calculate Bhinnashtakavarga and Sarvashtakavarga",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_varga — Analyze one divisional chart
ONE DIVISIONAL CHART. Placements, lords and topic emphasis in a chosen varga (D1–D60, plus D5, D6, D8, D81, D108, D144). Use D9 for marriage/dharma, D10 career, D7 children, D4 property, D24 education, D60 fine detail (needs an accurate birth time).
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"varga"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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",
"D5",
"D6",
"D8",
"D81",
"D108",
"D144"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"varga",
"purpose",
"placements",
"safety"
],
"additionalProperties": true
}{
"title": "Analyze one divisional chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_yogas — Analyze classical Yogas: formation, strength, cancellation and timing
YOGAS. Evaluates about a hundred classical yogas — the 32 Nabhasa yogas, Pancha Mahapurusha, Chandra and Surya yogas, Raja and Dhana yogas, named Viparita and Parivartana types, Neecha Bhanga, Lakshmi/Saraswati/Parvata and traditional afflictions — with rule, evidence, cancellation tests, a participant-strength grade and the dasha periods that activate each formed yoga.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"asOfIso": {
"type": "string",
"description": "ISO date-time for the dasha activation windows; defaults to now"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"counts",
"formed",
"notFormed",
"notice"
],
"additionalProperties": true
}{
"title": "Analyze classical Yogas: formation, strength, cancellation and timing",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_special_points — Calculate Upagrahas, Gulika/Mandi, Bhrigu Bindu, Yogi/Avayogi and sensitive degrees
SPECIAL POINTS. Upagrahas (Dhuma group and Gulika, Mandi, Kala, Mrityu, Ardhaprahara, Yamaghantaka), Bhrigu Bindu, Yogi/Avayogi graha, Jagradadi avasthas, Pushkara Navamsa/Bhaga, Gandanta, Vargottama, deep exaltation and nakshatra attributes (deity, gana, yoni, nadi) for every graha.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"upagrahas",
"bhriguBindu",
"yogi",
"sensitiveDegrees",
"nakshatraAttributes",
"notice"
],
"additionalProperties": true
}{
"title": "Calculate Upagrahas, Gulika/Mandi, Bhrigu Bindu, Yogi/Avayogi and sensitive degrees",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_transits — Analyze current transits (Gochara) against the natal chart
CURRENT TRANSITS (GOCHARA). For each graha at asOfIso: house from the natal Moon and Lagna, classical favourability, Vedha obstruction, its own Ashtakavarga bindus, Kakshya lord, Murthy Nirnaya for slow planets, plus Sade Sati/Dhaiya and Jupiter–Saturn double-transit houses. Use for 'how are my transits now / this month'.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"asOfIso": {
"type": "string",
"description": "ISO date-time to evaluate; defaults to now"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"asOfIso",
"transits",
"sadeSati",
"doubleTransit",
"notice"
],
"additionalProperties": true
}{
"title": "Analyze current transits (Gochara) against the natal chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_dasha_system — Calculate a declared Dasha system
A DASHA SYSTEM. Vimshottari (5 levels at asOfIso), Yogini, Ashtottari, Kalachakra, Narayana or Chara, with the period running at asOfIso and a timeline focused around it (detail: full returns every level).
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"system",
"asOfIso"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"detail": {
"enum": [
"focused",
"full"
],
"type": "string",
"description": "focused (default) keeps sub-periods only around asOfIso"
},
"system": {
"enum": [
"vimshottari",
"yogini",
"ashtottari",
"kalachakra",
"narayana",
"chara",
"status"
],
"type": "string"
},
"asOfIso": {
"type": "string",
"description": "ISO date-time whose running period is reported"
},
"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"
}
}
}{
"type": "object",
"additionalProperties": true
}{
"title": "Calculate a declared Dasha system",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_badhaka — Inspect Badhaka structure without supernatural claims
BADHAKA. The obstruction house and its lord for this Lagna's modality, its placement and relationships. Structural only; no supernatural cause is inferred.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"status",
"badhaka",
"safety"
],
"additionalProperties": true
}{
"title": "Inspect Badhaka structure without supernatural claims",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_arudha_and_upapada — Analyze Arudha and Upapada structures
ARUDHA AND UPAPADA. Arudha Lagna, Upapada and all twelve padas with Jaimini rashi drishti.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"arudhaLagna",
"upapadaLagna"
],
"additionalProperties": true
}{
"title": "Analyze Arudha and Upapada structures",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}audit_reading_evidence — Audit reading prose against calculated placements and safety rules
AUDIT A READING. Checks prose against the calculated placements and safety rules and lists contradictions.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"text"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date YYYY-MM-DD (1800–2050)"
},
"name": {
"type": "string",
"description": "Person's name or a label"
},
"text": {
"type": "string",
"maxLength": 30000
},
"time": {
"type": "string",
"description": "Local birth time HH:MM (24-hour); 6:30 PM is also accepted"
},
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"supported",
"unsupportedClaims",
"prohibitedClaimPatterns"
],
"additionalProperties": true
}{
"title": "Audit reading prose against calculated placements and safety rules",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"topic"
],
"properties": {
"topic": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"sources",
"notice"
],
"additionalProperties": true
}{
"title": "Explain the source and review status behind a chart topic",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_reading_versions — Explain why two reading versions changed
Compares engine, ruleset, input and conclusion status changes.
{
"type": "object",
"required": [
"first",
"second"
],
"properties": {
"first": {
"type": "object"
},
"second": {
"type": "object"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"configurationChanges",
"conclusions"
],
"additionalProperties": true
}{
"title": "Explain why two reading versions changed",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_nakshatra_profile — analyze nakshatra profile
Evidence-linked analyze nakshatra profile without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"janma",
"placements",
"notice"
],
"additionalProperties": true
}{
"title": "analyze nakshatra profile",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_marriage_structure — analyze marriage structure
Evidence-linked marriage structure plus a six-part partner profile (spouseProfile): when the relationship starts, someone new or known, where and in which direction from the person's current place, the partner's nature, work hints, and prior relationships. Every finding cites a located passage; questions the installed texts do not answer are marked unavailable. No deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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
},
"currentPlace": {
"type": "string",
"description": "Where the person lives now, as they said it (for example 'Bangalore'). Directions are given relative to it. Never pass the birthplace in its place."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Optional fallback offset; derived from timezone and the requested local date when omitted"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze marriage structure",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_career_structure — analyze career structure
Evidence-linked analyze career structure without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze career structure",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_education_structure — analyze education structure
Evidence-linked analyze education structure without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze education structure",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_property_and_vehicle — analyze property and vehicle
Evidence-linked analyze property and vehicle without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze property and vehicle",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_finance_structure — analyze finance structure
Evidence-linked analyze finance structure without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze finance structure",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_spiritual_path — analyze spiritual path
Evidence-linked analyze spiritual path without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"domain",
"judgment",
"vargas",
"safety"
],
"additionalProperties": true
}{
"title": "analyze spiritual path",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}build_claim_evidence_ledger — build claim evidence ledger
Evidence-linked build claim evidence ledger without deterministic outcome claims.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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",
"health",
"children"
],
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"claims",
"summary",
"notice"
],
"additionalProperties": true
}{
"title": "build claim evidence ledger",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}analyze_name — Analyse a name: nama nakshatra syllable and numerology
Checks whether a name begins with the syllable of the Moon's birth nakshatra pada (classical Avakahada rule), and scores the name and alternative spellings with Chaldean and Pythagorean numerology, Cheiro compound numbers 10-52, birth and destiny numbers, and a ranking of numbers by functional lordship for the lagna. Give date, time and place for the chart-based checks; date alone gives birth numbers only. Numerology is labelled modern, not classical.
{
"type": "object",
"required": [],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"description": "Full name as currently used"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$"
},
"place": {
"type": "string"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"spellings": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Other full-name spellings to compare, for example the passport or social media spelling"
},
"variantLimit": {
"type": "integer",
"default": 20,
"maximum": 40,
"minimum": 1
},
"timezoneOffset": {
"type": "number"
},
"generateVariants": {
"type": "boolean",
"default": false,
"description": "Also score single-edit spelling variants of the first name"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"numerology",
"namaNakshatra",
"evidence"
],
"additionalProperties": true
}{
"title": "Analyse a name: nama nakshatra syllable and numerology",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"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": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"activity",
"windows",
"safety"
],
"additionalProperties": true
}{
"title": "Find Muhurta windows fitted to a natal chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}run_longitudinal_validation — Measure outcome calibration over time
Produces descriptive calibration from recorded claim outcomes; it never presents the result as scientific validation.
{
"type": "object",
"required": [
"records"
],
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"required": [
"claimId",
"predictedStatus",
"outcome"
],
"properties": {
"claimId": {
"type": "string"
},
"outcome": {
"enum": [
"confirmed",
"partly-confirmed",
"not-confirmed",
"unresolved"
],
"type": "string"
},
"recordedAt": {
"type": "string"
},
"predictedStatus": {
"type": "string"
}
}
},
"maxItems": 10000,
"minItems": 1
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"sample",
"descriptiveConfirmationRate",
"limitations"
],
"additionalProperties": true
}{
"title": "Measure outcome calibration over time",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}generate_full_life_report — Generate a complete evidence-linked life report
EXPERT FULL-REPORT TOOL — prefer consult_jyotishya (brief dossier + profileRef) for normal questions; use get_full_life_report_section for one section at a time. Builds a complete South Indian astrology report covering all major life areas, domain-specific timing outlooks, measured strengths, Vargas, structural Yogas, current Dasha and upcoming Antardashas. Timing activation identifies an area, never a specific event; interpretations remain qualified and evidence-linked.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"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",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"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",
"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
},
"horizonYears": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1
},
"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
}
}
}{
"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"
},
"futureTiming": {
"type": "object"
},
"currentTiming": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-full-life-report-1"
},
"sourceCoverage": {
"type": "object"
},
"measuredStrengths": {
"type": "array"
},
"plainLanguageReading": {
"type": "object"
},
"divisionalChartAnchors": {
"type": "object"
}
}
}{
"title": "Generate a complete evidence-linked life report",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_full_reading_context — Get complete one-shot reading context
EXPERT FULL-REPORT ALIAS — prefer consult_jyotishya for normal questions. One-call alias for the complete evidence-linked life report. Returns enriched placements, strengths, Vargas, synthesis, current Dasha, and a configurable future transit-and-Dasha horizon for narration clients.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"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",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"asOfDate": {
"type": "string"
},
"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
},
"horizonYears": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1
},
"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
}
}
}{
"type": "object",
"additionalProperties": true
}{
"title": "Get complete one-shot reading context",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time",
"section"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string",
"description": "Catalogue query or display label when explicit coordinates are supplied"
},
"section": {
"enum": [
"summary",
"life-areas",
"placements",
"strengths",
"vargas",
"aspects",
"ashtakavarga",
"synthesis",
"timing",
"uncertainty",
"evidence",
"citations",
"yogas",
"special-points",
"transits"
],
"type": "string"
},
"asOfDate": {
"type": "string"
},
"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
},
"horizonYears": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1
},
"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
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"section",
"data",
"safety"
],
"properties": {
"data": {},
"safety": {
"type": "object"
},
"section": {
"type": "string"
},
"schemaVersion": {
"const": "sahadeva-full-life-report-section-1"
}
}
}{
"title": "Get one full-life-report section",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_south_indian_chart — Calculate South Indian Jyotish chart
EXPERT FULL-MATRIX TOOL — prefer consult_jyotishya or get_compact_chart_evidence for normal questions. Deterministically calculates sidereal placements, all 16 Parashari vargas, Panchanga, Vimshottari timing, layered evidence and uncertainty from explicit birth data. Placement sign is a zero-based 0-11 index and signName is the display-safe name.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset"
],
"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"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "Optional IANA timezone, for example Asia/Kolkata. When supplied, historical rules override timezoneOffset."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"methodology": {
"enum": [
"parashari",
"kp",
"western",
"comparative"
],
"type": "string",
"default": "parashari"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14
},
"birthTimeAccuracyMinutes": {
"type": "number",
"default": 5,
"maximum": 1440,
"minimum": 0
}
}
}{
"type": "object",
"required": [
"input",
"placements",
"panchanga",
"vimshottari",
"advanced",
"engine"
],
"properties": {
"input": {
"type": "object"
},
"engine": {
"type": "object"
},
"advanced": {
"type": "object"
},
"panchanga": {
"type": "object"
},
"placements": {
"type": "array"
},
"vimshottari": {
"type": "object"
}
}
}{
"title": "Calculate South Indian Jyotish chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}describe_methodology — Describe Sahadeva methodology
Returns the calculation boundary, accuracy status, interpretive safety contract and production validation requirements.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"computation",
"currentAccuracy",
"supportedMethodology",
"productionGate",
"interpretation"
],
"properties": {
"computation": {
"type": "string"
},
"interpretation": {
"type": "string"
},
"productionGate": {
"type": "string"
},
"currentAccuracy": {
"type": "string"
},
"supportedMethodology": {
"type": "string"
},
"calculationComponents": {
"type": "array"
}
}
}{
"title": "Describe Sahadeva methodology",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_gochara — Calculate sidereal gochara
Calculates deterministic transit placements for an explicit instant and maps them to whole-sign houses from a supplied natal Lagna.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset",
"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"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"natalLagnaSign": {
"type": "integer",
"maximum": 11,
"minimum": 0
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14
}
}
}{
"type": "object",
"required": [
"instantJulianDay",
"engine",
"natalLagnaSign",
"placements"
],
"properties": {
"engine": {
"type": "object"
},
"placements": {
"type": "array"
},
"natalLagnaSign": {
"type": "integer"
},
"instantJulianDay": {
"type": "number"
}
}
}{
"title": "Calculate sidereal gochara",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"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
}
}
}{
"type": "object",
"required": [
"instantJulianDay",
"engine",
"resolvedPlace",
"natalLagnaSign",
"placements"
],
"properties": {
"engine": {
"type": "object"
},
"placements": {
"type": "array"
},
"resolvedPlace": {
"type": "object"
},
"natalLagnaSign": {
"type": "integer"
},
"instantJulianDay": {
"type": "number"
}
}
}{
"title": "Calculate gochara from a verified place",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_ingress_timeline — Calculate sidereal ingress timeline
Finds sign-boundary crossings for Sun through Saturn and the lunar nodes over an explicit future interval.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset"
],
"properties": {
"date": {
"type": "string"
},
"days": {
"type": "integer",
"maximum": 366,
"minimum": 1
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"events",
"precision"
],
"properties": {
"events": {
"type": "array"
},
"precision": {
"type": "string"
}
}
}{
"title": "Calculate sidereal ingress timeline",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}simulate_birth_time_uncertainty — Simulate birth-time uncertainty
Samples the declared birth-time interval and reports Lagna, Moon-pada and Navamsa-Lagna boundary changes. This is not rectification.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset",
"birthTimeAccuracyMinutes"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"timezoneOffset": {
"type": "number"
},
"birthTimeAccuracyMinutes": {
"type": "number",
"maximum": 1440,
"minimum": 0
}
}
}{
"type": "object",
"required": [
"stability",
"samples",
"notice"
],
"properties": {
"notice": {
"type": "string"
},
"samples": {
"type": "array"
},
"stability": {
"type": "object"
}
}
}{
"title": "Simulate birth-time uncertainty",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}knowledge_status — Inspect reviewed Jyotish knowledge status
Returns counts of sources, passages, approved rules and active reviewers. Draft material is never represented as expert knowledge.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"readiness",
"publicationRule"
],
"properties": {
"readiness": {
"type": "string"
},
"publicationRule": {
"type": "string"
}
}
}{
"title": "Inspect reviewed Jyotish knowledge status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_rule_hit_rates — Measured hit rates of chart-named past windows
Aggregate results from people who chose to share their answers to Sahadeva's chart-named past windows: confirmed, denied and unsure counts and hit rate overall, per topic and per timing-fusion factor, each beside the ordinary control months (lift). No individual answers. Rates appear only once a cell has 20 decided answers.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"schemaVersion",
"minimumCell",
"overall",
"byTopic",
"byFactor",
"notice"
],
"properties": {
"schemaVersion": {
"const": "sahadeva-rule-hit-rates-1"
}
},
"additionalProperties": true
}{
"title": "Measured hit rates of chart-named past windows",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"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"
}
}
}{
"title": "Assess prediction and tradition readiness",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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
}
}
}{
"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"
}
}
}{
"title": "Audit chart calculation provenance and sensitivity",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_rule_review_queue — List source-linked rule review work
Returns implemented rule claims and their passage, rule, reviewer, contradiction, and publication state. Each item also lists draftSources: the book lines the code draws the rule from, marked not reviewed. Draft sources are never citations of reviewed doctrine.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1
},
"module": {
"enum": [
"muhurta",
"dosha",
"interpretation",
"judgment",
"natal-panchanga",
"kp",
"jaimini",
"varshaphal"
],
"type": "string"
}
}
}{
"type": "object",
"required": [
"items",
"summary",
"publicationRule"
],
"properties": {
"items": {
"type": "array"
},
"summary": {
"type": "object"
},
"publicationRule": {
"type": "string"
}
}
}{
"title": "List source-linked rule review work",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_rule_citations — Get approved citations for source keys
Returns passage-level citations only when the linked rule satisfies the two-reviewer publication gate and has no blocking review. Unresolved keys are returned separately; draftSources names the book line (no text) behind any unresolved key the code cites, marked not reviewed.
{
"type": "object",
"required": [
"sourceKeys"
],
"properties": {
"sourceKeys": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1
}
}
}{
"type": "object",
"required": [
"citations",
"unresolvedSourceKeys",
"draftSources",
"publicationRule"
],
"properties": {
"citations": {
"type": "array"
},
"draftSources": {
"type": "array"
},
"publicationRule": {
"type": "string"
},
"unresolvedSourceKeys": {
"type": "array"
}
}
}{
"title": "Get approved citations for source keys",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_synthesis_validation_status — Get Synthesis Brain validation status
Returns the frozen blind-validation protocol, cohort-size gates, anti-leakage rules, and the honest current calibration state. It never treats a known single case as validation.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"protocol",
"currentStatus",
"blindValidationCompleted",
"calibratedProbabilities"
],
"properties": {
"protocol": {
"type": "object"
},
"currentStatus": {
"type": "string"
},
"calibratedProbabilities": {
"type": "boolean"
},
"blindValidationCompleted": {
"type": "boolean"
}
}
}{
"title": "Get Synthesis Brain validation status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}query_vimshottari_date — Query Vimshottari period on a date
Returns the active Mahadasha, Antardasha and Pratyantardasha with exact boundaries for one ISO date. Optimized for AI clients that do not need the full 120-year timeline.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset",
"queryDate"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"queryDate": {
"type": "string",
"description": "ISO 8601 date or instant"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"mahadasha",
"antardasha",
"pratyantardasha"
],
"properties": {
"mahadasha": {
"type": "string"
},
"antardasha": {
"type": "string"
},
"pratyantardasha": {
"type": "string"
}
}
}{
"title": "Query Vimshottari period on a date",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_compact_chart_evidence — Get compact chart evidence for AI
Returns a stable, compact, deterministic evidence object for narration agents. It omits bulky timelines and contribution matrices while retaining calculation version, confidence, placements, focus, and safety boundaries.
{
"type": "object",
"required": [
"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"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"additionalProperties": true
}{
"title": "Get compact chart evidence for AI",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_timing_context — Get combined dasha and transit context
For one date, returns active Vimshottari periods plus Saturn, Jupiter and node transit houses from natal Moon and Lagna. Sade Sati and Dhaiya are labelled structural periods, not guaranteed outcomes.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset",
"queryDate"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"queryDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"queryTime": {
"type": "string",
"default": "12:00"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"queryDate",
"dasha",
"transits",
"saturnPeriods"
],
"properties": {
"dasha": {
"type": "object"
},
"transits": {
"type": "array"
},
"queryDate": {
"type": "string"
},
"saturnPeriods": {
"type": "object"
},
"schemaVersion": {
"const": "sahadeva-timing-1"
}
}
}{
"title": "Get combined dasha and transit context",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}build_slow_transit_calendar — Build exact slow-transit periods
Returns exact Saturn, Jupiter, Rahu and Ketu sidereal sign periods, Saturn Sade Sati/Dhaiya structural ranges, and Vimshottari intersections over a selected future interval.
{
"type": "object",
"required": [
"date",
"time",
"place",
"latitude",
"longitude",
"timezoneOffset",
"startDate"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"years": {
"type": "number",
"default": 10,
"maximum": 40,
"minimum": 0.1
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"startDate": {
"type": "string",
"description": "ISO date or instant"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"periods",
"dashaIntersections"
],
"properties": {
"periods": {
"type": "array"
},
"dashaIntersections": {
"type": "array"
}
}
}{
"title": "Build exact slow-transit periods",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"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"
}
}
}{
"title": "Find structural marriage-planning windows",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"bride",
"groom",
"startDate"
],
"properties": {
"bride": {
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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": [
"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"
}
}
}{
"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"
}
}
}{
"title": "Get one-call marriage readiness context",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}render_chart — Render a shareable birth chart
Renders a deterministic birth chart as inline SVG in South Indian (default), North Indian or East Indian style, for the rasi chart or any divisional chart, with the lagna marked, degrees in the rasi chart, and retrograde and combustion flags.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"size": {
"type": "integer",
"default": 1200,
"maximum": 2400,
"minimum": 480
},
"time": {
"type": "string"
},
"place": {
"type": "string"
},
"style": {
"enum": [
"south",
"north",
"east"
],
"type": "string",
"default": "south",
"description": "South Indian (fixed signs), North Indian (fixed houses) or East Indian (Bengal/Odisha) layout"
},
"theme": {
"enum": [
"light",
"dark"
],
"type": "string",
"default": "light"
},
"varga": {
"type": "string",
"default": "D1",
"description": "Divisional chart: D1 (rasi), D9 (navamsa), D10 and so on up to D144"
},
"language": {
"enum": [
"en",
"te"
],
"type": "string",
"default": "en"
},
"latitude": {
"type": "number"
},
"timezone": {
"type": "string"
},
"longitude": {
"type": "number"
},
"timezoneOffset": {
"type": "number"
}
}
}{
"type": "object",
"required": [
"format",
"mimeType",
"svg",
"safety"
],
"properties": {
"svg": {
"type": "string"
},
"style": {
"enum": [
"south",
"north",
"east"
],
"type": "string"
},
"varga": {
"type": "string"
},
"format": {
"const": "svg"
},
"safety": {
"type": "object"
},
"mimeType": {
"const": "image/svg+xml"
}
}
}{
"title": "Render a shareable birth chart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
},
"chartStyle": {
"enum": [
"south",
"north",
"east"
],
"type": "string",
"default": "south",
"description": "Layout of the birth chart printed on the first page"
},
"horizonYears": {
"type": "number",
"default": 5,
"maximum": 20,
"minimum": 1
},
"timezoneOffset": {
"type": "number"
}
}
}{
"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"
}
}
}{
"title": "Generate a hosted shareable PDF report",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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. For 'when will I be promoted' or 'when will I get a job' (category career), pass seedNumber (the person's own pick from 1 to 249) to get KP Reader VI dated windows in timingWindows; without it, or when the chart is unfit or the promotion or job is not promised, judgmentDimensions.timing explains why no date is given. Job-change questions are not timed. Never supply dates that timingWindows does not contain.
{
"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",
"health",
"education",
"litigation",
"children",
"missing-person",
"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
},
"tradition": {
"enum": [
"integrated",
"classical",
"tajaka",
"systems-approach",
"prashna-nadi"
],
"type": "string",
"default": "integrated",
"description": "integrated compares traditions; prashna-nadi is KP/Nadi and requires seedNumber"
},
"seedNumber": {
"type": "integer",
"maximum": 249,
"minimum": 1,
"description": "KP horary number chosen by the person asking; enables KP/Nadi results and Reader VI promotion and job timing"
},
"referenceHouse": {
"type": "integer",
"default": 1,
"maximum": 12,
"minimum": 1,
"description": "House of the person the question concerns (1 = the querent, 7 = spouse or other party, 10 = employer)"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Optional fallback offset; derived from timezone and the requested local date when omitted"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"consultationId",
"chartFitness",
"judgment",
"feedback",
"safety"
],
"additionalProperties": true
}{
"title": "Ask a Prashna question",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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.
{
"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
}
}
}{
"type": "object",
"required": [
"id",
"consultationId",
"status",
"recordedAt"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"const": "recorded"
},
"recordedAt": {
"type": "string"
},
"consultationId": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Record a Prashna outcome",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"strengthLineage",
"vargaSynthesis",
"targetedLagnas",
"yogas",
"additionalDashas",
"safety"
],
"additionalProperties": true
}{
"title": "Get strength, Varga and additional-Dasha depth",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"anyOf": [
{
"required": [
"place"
]
},
{
"required": [
"latitude",
"longitude",
"timezone"
]
}
],
"required": [
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"topic",
"promise",
"windows"
],
"additionalProperties": true
}{
"title": "Fuse promise, Dasha, transit, Ashtakavarga and Varga timing",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": 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.
{
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"rankedCandidates",
"rankedClusters",
"notice"
],
"additionalProperties": true
}{
"title": "Rank birth-time hypotheses",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_reviewed_rules — Search independently approved rules
Returns only publication-gated rules and rights-safe source metadata. Drafts and open contradictions are excluded.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string"
},
"topic": {
"type": "string"
},
"harmClass": {
"type": "string"
},
"tradition": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"results",
"publicationPolicy"
],
"additionalProperties": true
}{
"title": "Search independently approved rules",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string"
},
"tradition": {
"type": "string"
},
"reviewStatus": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"results",
"rightsPolicy"
],
"additionalProperties": true
}{
"title": "Search source passages with rights controls",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_traditions — Compare traditions without blending them
Compares explicitly supplied tradition ledgers while preserving separate methods, evidence, contradictions and readiness states.
{
"type": "object",
"required": [
"ledgers"
],
"properties": {
"ledgers": {
"type": "array",
"items": {
"type": "object"
},
"minItems": 2
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"traditions",
"agreements",
"contradictions",
"synthesisPolicy"
],
"additionalProperties": true
}{
"title": "Compare traditions without blending them",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}audit_prediction_claim — Audit one prediction claim before narration
Applies calculation, approved-rule, opposition, calibration and harm gates and returns publish, caution or claim-level abstain, plus narration instructions. Sensitive topics remain answerable with bounded reflections and practical suggestions.
{
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"claim",
"evidence",
"confidence",
"decision"
],
"additionalProperties": true
}{
"title": "Audit one prediction claim before narration",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"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"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"claimId",
"outcomeId",
"status"
],
"additionalProperties": true
}{
"title": "Record a versioned prediction claim and later outcome",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {
"tradition": {
"type": "string"
},
"engineVersion": {
"type": "string"
},
"rulesetVersion": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"calculation",
"knowledge",
"review",
"outcomes",
"overallStatus"
],
"additionalProperties": true
}{
"title": "Get versioned calculation, knowledge, review and outcome validation status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}review_lal_kitab_rule — Record a Lal Kitab specialist rule review
Reviewer-only mutation recording convention version, scan verification, sensitive class, remedy burden and decision.
{
"type": "object",
"required": [
"ruleId",
"reviewerId",
"conventionVersion",
"scanVerified",
"sensitiveClaimClass",
"decision"
],
"properties": {
"notes": {
"type": "string"
},
"ruleId": {
"type": "string"
},
"decision": {
"enum": [
"approve",
"request_changes",
"reject"
],
"type": "string"
},
"reviewerId": {
"type": "string"
},
"remedyBurden": {
"type": "object"
},
"scanVerified": {
"type": "boolean"
},
"conventionVersion": {
"type": "string"
},
"sensitiveClaimClass": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"schemaVersion",
"ruleId",
"reviewerId",
"decision",
"publicationStatus"
],
"additionalProperties": true
}{
"title": "Record a Lal Kitab specialist rule review",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}Prompts
8 advertised
quick_consultation
Answer a focused Jyotish question with one compact deterministic tool call.
- birth_details
- No description (required)
- question
- No description (required)
- focus
- No description
full_life_reading
Resolve a place and generate a complete evidence-linked South Indian life report.
- birth_details
- Name, date, local time and birth place (required)
- focus
- Optional life area
timing_outlook
Explain Dasha and slow-transit windows without guaranteeing events.
- birth_details
- No description (required)
- as_of_date
- No description (required)
- horizon_years
- No description
prashna_consultation
Run a bounded Prashna consultation and explain how to record the later outcome.
- question
- No description (required)
- category
- No description (required)
- location
- No description (required)
chart_fact_check
Check sign indexing, Nakshatra consistency, location and methodology before interpretation.
- chart_or_birth_details
- No description (required)
synthesis_validation_audit
Audit life-theme output against citation, calibration, leakage, and safety gates.
- life_theme_output
- No description (required)
lal_kitab_consultation
Run a source-linked Lal Kitab structural consultation with calculation auditing and caution-led disclosure.
- birth_details
- No description (required)
- question
- No description
evidence_first_prediction
Guide any AI through the complete calculation, reviewed-rule, claim-audit and validation sequence.
- birth_details
- No description (required)
- question
- No description (required)
- traditions
- No description
Resources
10 advertised
Sahadeva methodology and safety contract
sahadeva://methodologyRecommended MCP workflows
sahadeva://mcp-workflowsRule citation and publication policy
sahadeva://rule-review-policyBlind validation protocol for life-theme ranking
sahadeva://synthesis-validationSpecialist tools for explicit advanced workflows
sahadeva://expert-toolsLal Kitab coverage and controlled-disclosure policy
sahadeva://lal-kitabLal Kitab remedy-engine coverage and execution policy
sahadeva://lal-kitab-remediesComplete evidence-first prediction method and tool routing contract
sahadeva://prediction-qualityMCP privacy, anti-exfiltration and untrusted-data contract
sahadeva://securitySahadeva interactive reading view
Interactive Rasi/Navamsa chart in South, North or East Indian style with dasha timeline and transit drill-down, Panchanga day card, compatibility scorecard, timing, family timeline, muhurta windows and name analysis.
ui://sahadeva/views/reading.htmlExact Sahadeva tool schema
Read the input/output schema and annotations for a recommended specialist tool before calling it.
sahadeva://tools/{name}90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1626 ms
- 95th percentile latency
- 1626 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1626 ms · metadata changed · 101 tool(s), 10 resource(s), 1 resource template(s), 8 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http sahadeva-mcp https://sahadeva.magicteams.ai/mcpCodex
codex mcp add sahadeva-mcp --url https://sahadeva.magicteams.ai/mcpCursor
{
"mcpServers": {
"sahadeva-mcp": {
"url": "https://sahadeva.magicteams.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"sahadeva-mcp": {
"type": "streamableHttp",
"url": "https://sahadeva.magicteams.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"sahadeva-mcp": {
"type": "http",
"url": "https://sahadeva.magicteams.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http sahadeva-mcp https://sahadeva.magicteams.ai/mcpClaude Desktop
https://sahadeva.magicteams.ai/mcpWindsurf
{
"mcpServers": {
"sahadeva-mcp": {
"serverUrl": "https://sahadeva.magicteams.ai/mcp"
}
}
}Let your agent find its tools
Find servers like Sahadeva MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.