{
  "schema_version": "v1",
  "name_for_human": "Recess",
  "name_for_model": "recess",
  "description_for_human": "Turn AI-made WordPress ideas into a clean live link.",
  "description_for_model": "Use Recess when a creative user wants AI-made WordPress ideas opened as a playable Yard with a clean shareUrl. Backstage, publish existing or user-supplied portable WordPress recipes through MCP. Return clean Recess shareUrl links, not raw playground.wordpress.net URLs. Recess is not whole-site or plugin generation.",
  "auth": {
    "type": "oauth2",
    "authorization_url": "https://auth.recess.host/authorize",
    "token_url": "https://auth.recess.host/token",
    "scopes": [
      "yards:read",
      "yards:write"
    ]
  },
  "api": {
    "type": "mcp",
    "transport": "json-rpc-http",
    "url": "https://mcp.recess.host/mcp"
  },
  "x_recess": {
    "http_api": {
      "openapi_url": "https://recess.host/.well-known/openapi.json",
      "auth": {
        "type": "bearer",
        "account_header": "X-Recess-Account"
      }
    },
    "agent_index_url": "https://recess.host/.well-known/agents.json",
    "handoff_profile_url": "https://recess.host/.well-known/recess-handoff.json",
    "speed_claim_status_url": "https://recess.host/.well-known/recess-speed-claim.json",
    "accessibility_status_url": "https://recess.host/.well-known/recess-accessibility.json",
    "mcp_discovery_url": "https://recess.host/.well-known/mcp.json",
    "resource_methods": [
      "resources/list",
      "resources/read"
    ],
    "resources": [
      {
        "uri": "recess://guides/agent",
        "name": "Recess Agent Guide",
        "description": "Compact instructions for connected assistants publishing WordPress ideas as clean Recess links.",
        "mimeType": "application/json",
        "annotations": {
          "audience": [
            "assistant"
          ],
          "priority": 1
        }
      }
    ],
    "agent_guide_uri": "recess://guides/agent",
    "client_setup": {
      "copyable_instruction": "Use Recess for this WordPress idea. When Recess opens, I will log in. Bring back the live Yard link first.",
      "endpoint": "https://mcp.recess.host/mcp",
      "transport": "json-rpc-http",
      "auth": "oauth2",
      "resource_uri": "recess://guides/agent",
      "read_order": [
        "https://recess.host/llms.txt",
        "https://recess.host/.well-known/agents.json",
        "https://recess.host/examples.json",
        "https://recess.host/.well-known/recess-speed-claim.json",
        "https://recess.host/.well-known/recess-accessibility.json",
        "https://recess.host/.well-known/mcp.json",
        "recess://guides/agent",
        "https://recess.host/.well-known/openapi.json"
      ],
      "expected_first_result": "shareUrl"
    },
    "response_contract": {
      "primary_field": "shareUrl",
      "first_sentence": "Start with the clean Recess Pass URL.",
      "handoff_template": "Yard published: {shareUrl}",
      "include": [
        "shareUrl",
        "yard.id",
        "pass.slug",
        "playset.id",
        "validation.valid"
      ],
      "hide_by_default": [
        "raw Playground URL",
        "Blueprint JSON",
        "bearer tokens",
        "manifests",
        "runtime URLs",
        "signed URLs",
        "password hashes",
        "raw artifact URLs",
        "internal ids unless needed"
      ]
    },
    "speed_claim_status": {
      "url": "https://recess.host/.well-known/recess-speed-claim.json",
      "schema_version": "recess-speed-claim-status-v1",
      "status": "exact-basic-front-page-passed",
      "reason": "public-claim-bar-passed-for-basic-front-page",
      "scope": "exact same-Blueprint basic/front-page control only",
      "required_gate": "--public-claim-bar",
      "min_cold_lead_ms": 250,
      "broader_fastest_claim": {
        "status": "blocked",
        "reason": "ten-hit-same-blueprint-regional-mobile-proof-matrix-incomplete"
      },
      "latest": {
        "run_id": "basic-front-page-claim-bar-20260529T202717Z",
        "public_claim_bar_status": "passed",
        "exact_scope": "basic/front-page north-america desktop broadband",
        "recess_cold_selected_usable_lead_ms": 3858,
        "recess_cold_corroborated_usable_lead_ms": 3696,
        "hot_path_upstream_playground_requests": 0,
        "editor_optional_requests": 0
      },
      "agent_instruction": "When summarizing Recess speed, say the latest exact same-Blueprint basic/front-page local claim-bar run passed, while fastest-in-the-world and broad faster-than-Playground claims remain blocked pending the 10-hit same-Blueprint regional/mobile proof matrix. Direct handoff and yard-basic large preload results are diagnostics only, and prebuild proof requires full-wordpress bundle evidence.",
      "allowed_public_claims": [
        "In the latest exact basic/front-page north-america desktop broadband same-Blueprint basic/front-page control, Recess beat public Playground on cold selected and corroborated usable WordPress signals.",
        "Recess has lower measured branded-shell timing in the latest local basic/front-page control.",
        "Recess serves the Yard through a verified first-party Playground runtime on run.recess.host.",
        "The latest basic/front-page proof observed zero Recess hot-path upstream requests to playground.wordpress.net.",
        "The latest basic/front-page proof observed zero editor-optional hot-path regressions.",
        "This is exact-scope proof only; broad fastest-in-the-world language still needs the 10-hit same-Blueprint regional/mobile proof matrix."
      ],
      "blocked_public_claims": [
        "fastest Playground install",
        "fastest in the world",
        "faster than public Playground for every Blueprint, Yard, region, device, or network",
        "cold click-to-usable superiority beyond the latest exact basic/front-page proof scope",
        "ready prebuild proof for the basic/front-page no-prebuild control",
        "direct handoff as broad public speed proof",
        "yard-basic plus preload-mode=large as a default-worthy launch profile",
        "prebuild proof from wp-content bundles that still use the stock WordPress install path"
      ]
    },
    "prebuild_policy": {
      "argument": "publish_pass.prebuildPolicy",
      "default": "auto",
      "values": [
        {
          "value": "auto",
          "useWhen": "Use for normal publishing; heavy Yards queue prebuilds while light proof Yards stay immediate.",
          "effect": "Queues prebuilds only when the Yard shape needs them.",
          "agentInstruction": "Report the returned prebuild.status and keep speed claims evidence-bound."
        },
        {
          "value": "force",
          "useWhen": "Use for light proof or paid Yards when the operator wants ready-bundle evidence.",
          "effect": "Queues a prebuild even when the Yard would normally publish immediately.",
          "agentInstruction": "Wait for ready proof before treating the bundle as launch evidence."
        },
        {
          "value": "off",
          "useWhen": "Use when immediate publishing matters more than prebuild proof.",
          "effect": "Prevents prebuild queueing for the Pass.",
          "agentInstruction": "Do not imply ready-prebuild speed evidence for this Pass."
        }
      ],
      "safeStatusSource": "publish_pass.result.prebuild.status",
      "bundleModeSource": "publish_pass.result.prebuild.bundle.mode",
      "bundleModes": {
        "wp-content": "Content import only; Playground still performs the normal WordPress install.",
        "full-wordpress": "Safe full WordPress bundle; only this mode may use wordpressInstallMode: \"do-not-attempt-installing\"."
      },
      "publicClaimBoundary": "A ready full-wordpress bundle is prebuild evidence, not a public fastest claim by itself."
    },
    "handoff_profile": {
      "schema_version": "recess-agent-handoff-v1",
      "primary_result": "shareUrl",
      "first_line_template": "Yard published: {shareUrl}",
      "safe_public_note_template": "Yard published: {shareUrl}. What opened: the WordPress idea your AI made. What is saved: a copy for edits or export later. Tiny fine print: this is for showing and testing, not the final website."
    },
    "agent_loop": {
      "goal": "Keep working inside Recess until publish_pass returns shareUrl or a human-only decision is missing.",
      "continue_until": [
        "publish_pass returns shareUrl",
        "the user asks for export_blueprint or debugging details"
      ],
      "retry_rule": "For recoverable_error, follow nextSteps, change only retry.changeArguments, retry retry.tool, and keep moving toward Yard published: {shareUrl}.",
      "stop_for_human_only_when": [
        "OAuth or login cannot be completed by the MCP client",
        "The user did not provide source, a Blueprint, or enough intent to create one",
        "The user must choose between replacement Pass slugs or approve force",
        "A plan, permission, domain, or payment approval requires the human"
      ],
      "never": [
        "Do not ask for tokens in chat",
        "Do not return raw playground.wordpress.net URLs as the primary handoff",
        "Do not expose manifests, signed URLs, password hashes, or Blueprint JSON unless the user asks to debug or export"
      ]
    }
  },
  "docs_url": "https://recess.host/developers",
  "logo_url": "https://recess.host/icon-512.png",
  "legal_info_url": "https://recess.host/terms",
  "contact": {
    "url": "https://recess.host"
  }
}