{
  "name": "B4M Tarot",
  "description": "A free tarot table on the Bike4Mind (B4M) stack. Dealing is free and needs no account; having cards read (an LLM narration) requires a free Bike4Mind account and spends Bike4Mind credits. No prediction claims — the draw is a seeded pseudo-random shuffle, reproducible from its seed.",
  "url": "https://tarot.erikbethke.com/",
  "repository": "https://github.com/MillionOnMars/tarot",
  "platform": {
    "name": "Bike4Mind",
    "url": "https://bike4mind.com"
  },
  "documentation": {
    "llms_txt": "https://tarot.erikbethke.com/llms.txt",
    "llms_full_txt": "https://tarot.erikbethke.com/llms-full.txt",
    "faq": "https://tarot.erikbethke.com/faq.html",
    "for_agents": "https://tarot.erikbethke.com/for-agents.html",
    "sitemap": "https://tarot.erikbethke.com/sitemap.xml"
  },
  "capabilities": {
    "read": {
      "status": "live",
      "description": "The table, the FAQ, and all files listed under documentation are static and crawlable without executing JavaScript. robots.txt explicitly allows the major AI crawlers.",
      "auth": "none"
    },
    "deal": {
      "status": "live",
      "description": "Dealing a spread (choosing cards) is a client-side, seeded pseudo-random operation. No account, no API call, and no server round trip is required to see a draw.",
      "auth": "none",
      "surface": "browser only — no programmatic endpoint yet"
    },
    "read_reading": {
      "status": "planned",
      "description": "A documented public API for requesting an LLM-narrated reading. Today, narration is a same-origin, session-authenticated call from the table's own client, not a public or documented endpoint.",
      "auth": "would require a signed-in Bike4Mind session and available credits"
    },
    "mcp": {
      "status": "planned",
      "description": "An MCP server exposing reading and lookup tools. Not live — a request to /mcp or /.well-known/mcp.json today returns a routing error, not a tool call.",
      "well_known_manifest": "https://tarot.erikbethke.com/.well-known/mcp.json"
    }
  },
  "honesty": {
    "prediction_claims": "none — a reading is a structured narration seeded by a random draw, not a forecast",
    "memory_access": "opt-in per reading, off by default, read-only by the app's own stated discipline, never affects which cards are drawn",
    "logging": "credentials, session tokens, and memento content are kept out of logs and URLs"
  },
  "contact": {
    "issues": "https://github.com/MillionOnMars/tarot/issues"
  }
}
