{
  "name": "MiAstrea AI",
  "url": "https://miastrea.ai",
  "version": "0.1",
  "description": "AI-verified astrology agent surface — Kundali compute, daily Rashifal, multi-tradition numerology. All endpoints schema-validated; all outputs cite classical sources.",
  "agents": [
    {
      "id": "kundali-compute",
      "name": "Vedic Kundali Compute",
      "description": "Compute a full Vedic birth chart from name + date + time + place. Returns Lagna, 9 planets (sidereal Lahiri), D1 + D9 charts, current Vimshottari mahadasha, dosha flags, citations.",
      "endpoint": "https://miastrea.ai/api/kundali",
      "method": "POST",
      "contentType": "application/json",
      "inputSchema": "https://miastrea.ai/.well-known/openapi.json#/components/schemas/KundaliInput",
      "outputSchema": "https://miastrea.ai/.well-known/openapi.json#/components/schemas/KundaliResult",
      "rateLimit": "60/min/IP (deferred)",
      "auth": "none (free)"
    },
    {
      "id": "rashifal-daily-read",
      "name": "Daily Rashifal Lookup",
      "description": "Return today's (or historical) Vedic horoscope prediction for one rashi in one locale. Real planetary transits + LLM-generated + classical citations.",
      "endpoint": "https://miastrea.ai/api/rashifal/{rashi}",
      "method": "GET",
      "queryParams": {
        "locale": "hi|en|te|bn|ta|mr|gu|...",
        "date": "YYYY-MM-DD (default: today IST)"
      },
      "outputSchema": "https://miastrea.ai/.well-known/openapi.json#/components/schemas/RashifalDayPrediction",
      "rateLimit": "60/min/IP (deferred)",
      "auth": "none (free)"
    },
    {
      "id": "catalog",
      "name": "Tool catalog",
      "description": "Enumerate every tool URL.",
      "endpoint": "https://miastrea.ai/api/catalog",
      "method": "GET",
      "auth": "none"
    },
    {
      "id": "places-search",
      "name": "Place autocomplete",
      "description": "Autocomplete city search backed by the bundled GeoNames cities15000 dataset. Returns name + admin1 + country + lat/lon/timezone per match.",
      "endpoint": "https://miastrea.ai/api/places/search",
      "method": "GET",
      "queryParams": {
        "q": "query string (min 2 chars)",
        "country": "optional ISO-2",
        "limit": "1-12, default 8"
      },
      "auth": "none (free)"
    },
    {
      "id": "places-reverse",
      "name": "Reverse geocode",
      "description": "Reverse-geocode a lat/lon to a human label + IANA timezone. Used by the BirthPlacePicker drag-to-refine flow. Backed by Nominatim (OSM) with offline cities-nearest-neighbor fallback.",
      "endpoint": "https://miastrea.ai/api/places/reverse",
      "method": "GET",
      "queryParams": {
        "lat": "number (-90..90)",
        "lon": "number (-180..180)"
      },
      "auth": "none (free)"
    },
    {
      "id": "kundali-share-token",
      "name": "Kundali share-token mint",
      "description": "Mint a signed cross-host import token for a Kundali form payload. Used by the public Compute button to hand the form data off to my.miastrea.ai for workspace rendering (anonymous-friendly, no signup wall).",
      "endpoint": "https://miastrea.ai/api/kundali/share-token",
      "method": "POST",
      "contentType": "application/json",
      "auth": "none (free)"
    },
    {
      "id": "health",
      "name": "Liveness probe",
      "description": "Returns service status + commit SHA + uptime. For uptime monitors + Cloudflare health checks.",
      "endpoint": "https://miastrea.ai/api/health",
      "method": "GET",
      "auth": "none"
    },
    {
      "id": "mcp",
      "name": "MCP server",
      "description": "Model Context Protocol server. Compatible with Claude Desktop, Cursor, ChatGPT GPTs. Advertises Kundali + Rashifal as MCP tools.",
      "endpoint": "https://miastrea.ai/api/mcp",
      "method": "POST",
      "manifest": "https://miastrea.ai/.well-known/mcp.json",
      "serverCard": "https://miastrea.ai/.well-known/mcp/server-card.json"
    }
  ],
  "surfaces": {
    "brandGraph": "https://miastrea.ai/.well-known/entities.json",
    "llmsTxt": "https://miastrea.ai/.well-known/llms.txt",
    "llmsTxtFull": "https://miastrea.ai/.well-known/llms-full.txt",
    "llmsJson": "https://miastrea.ai/llms.json",
    "ragIndex": "https://miastrea.ai/rag.txt",
    "openapi": "https://miastrea.ai/.well-known/openapi.json",
    "sitemap": "https://miastrea.ai/sitemap-index.xml",
    "pageMarkdown": "https://miastrea.ai/{locale}/{slug}.md"
  },
  "crawlPolicy": {
    "respectRobots": true,
    "userAgentExpected": "Identifies as agent-name with version",
    "contact": "tech@miastrea.ai",
    "reportAbuse": "legal@miastrea.ai"
  },
  "updated": "2026-05-12T09:06:36.007Z"
}