{
  "schema_version": "1.1",
  "name": "Kastra",
  "description": "Runtime authorization and governance for AI systems. The public MCP starts a self-serve signup and checks its status with no login. Tenant governance data is a separate OAuth connector.",
  "url": "https://kastra.ai",
  "server": {
    "transport": "streamable-http",
    "endpoint": "https://api.kastra.ai/mcp",
    "auth": "none",
    "note": "Public streamable-HTTP MCP at https://api.kastra.ai/mcp. No credential. Tools are discovered from the handshake. Tenant governance lives at https://api.kastra.ai/mcp/account — OAuth 2.0 PKCE, scope kastra.account.read. Setup: https://kastra.ai/docs/mcp."
  },
  "tools": [
    {
      "name": "kastra_start_signup",
      "description": "Begin Kastra signup. Returns a one-time browser link for a 15-day Pro trial. Creates no account and sends no email by itself.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Optional email to pre-fill. The user can change it."
          }
        }
      }
    },
    {
      "name": "kastra_signup_status",
      "description": "Check whether a signup started with kastra_start_signup has finished (started, completed, expired, or unknown).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ref": {
            "type": "string",
            "description": "Tracking ref returned by kastra_start_signup."
          }
        },
        "required": [
          "ref"
        ]
      }
    }
  ],
  "contact": {
    "email": "hello@kastra.ai",
    "support": "https://kastra.ai/docs"
  },
  "documentation": "https://kastra.ai/docs/mcp",
  "termsOfService": "https://kastra.ai/terms",
  "privacyPolicy": "https://kastra.ai/privacy"
}
