{
  "schema_version": "2026-07-07",
  "name": "Asterionyx Agent Protocol Readiness Matrix",
  "canonical": "https://asterionyx.com/.well-known/agent-protocols.json",
  "updated_at": "2026-07-07",
  "summary": {
    "live_supported": [
      "robots_txt",
      "sitemap_xml",
      "link_response_headers",
      "static_markdown",
      "accept_text_markdown",
      "content_signals",
      "api_catalog",
      "agent_skills",
      "mcp_server_card",
      "oauth_protected_resource_metadata",
      "webmcp_manifest",
      "webmcp_runtime_tools"
    ],
    "source_ready_not_deployed": ["dns_aid", "web_bot_auth", "mcp_runtime_server"],
    "status_only": ["mcp_runtime_status", "oauth_status"],
    "not_supported": ["oauth_authorization_server", "x402", "mpp", "ucp", "acp"]
  },
  "discoverability": {
    "robots_txt": {
      "status": "live_supported",
      "url": "https://asterionyx.com/robots.txt",
      "notes": "Production allows public pages and includes Content-Signal preferences. Staging disallows crawling."
    },
    "sitemap_xml": {
      "status": "live_supported",
      "url": "https://asterionyx.com/sitemap.xml"
    },
    "link_response_headers": {
      "status": "live_supported",
      "headers": [
        "</llms.txt>; rel=\"alternate\"; type=\"text/markdown\"; title=\"Asterionyx LLM index\"",
        "</llms-full.txt>; rel=\"alternate\"; type=\"text/markdown\"; title=\"Asterionyx full LLM guide\"",
        "</.well-known/agent-ready.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx agent discovery\"",
        "</.well-known/api-catalog.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx API catalog\"",
        "</.well-known/openapi.json>; rel=\"service-desc\"; type=\"application/openapi+json\"; title=\"Asterionyx Customer API OpenAPI\"",
        "</.well-known/agent-protocols.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx agent protocol readiness\"",
        "</.well-known/agent-skills.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx agent skills\"",
        "</.well-known/agent-commerce.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx agent commerce status\"",
        "</.well-known/commerce/x402.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx x402 status\"",
        "</.well-known/commerce/mpp.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx MPP status\"",
        "</.well-known/commerce/ucp.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx UCP status\"",
        "</.well-known/commerce/acp.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx ACP status\"",
        "</.well-known/mcp.json>; rel=\"mcp-server\"; type=\"application/json\"; title=\"Asterionyx MCP server card\"",
        "</.well-known/mcp/server-card.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx MCP server-card status\"",
        "</.well-known/mcp/runtime-status.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx MCP runtime status\"",
        "</.well-known/webmcp.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx WebMCP status\"",
        "</.well-known/oauth-protected-resource>; rel=\"oauth-protected-resource\"; type=\"application/json\"; title=\"Asterionyx OAuth protected resource metadata\"",
        "</.well-known/oauth-status.json>; rel=\"service-desc\"; type=\"application/json\"; title=\"Asterionyx OAuth status\""
      ],
      "verification": "node scripts/check-agent-ready-live.mjs"
    },
    "dns_aid": {
      "status": "source_ready_not_deployed",
      "candidate_zone_file": "https://asterionyx.com/.well-known/agent-ready.json",
      "source_files": [
        "docs/dns-aid-records.zone",
        "docs/dns-aid-gandi-livedns.json",
        "scripts/publish-dns-aid-gandi.mjs",
        "scripts/check-dns-aid.mjs"
      ],
      "deployment_required": [
        "Provide a Gandi LiveDNS personal access token outside source control.",
        "Publish the SVCB and TXT RRsets.",
        "Verify propagation.",
        "Update manifests from not published to published."
      ]
    }
  },
  "content_accessibility": {
    "static_markdown": {
      "status": "live_supported",
      "urls": [
        "https://asterionyx.com/index.md",
        "https://asterionyx.com/pricing/index.md",
        "https://asterionyx.com/models/index.md",
        "https://asterionyx.com/docs/index.md",
        "https://asterionyx.com/faq/index.md"
      ]
    },
    "accept_text_markdown": {
      "status": "live_supported",
      "routes": ["/", "/pricing", "/models", "/docs", "/faq"],
      "request_header": "Accept: text/markdown",
      "required_response_headers": ["Content-Type: text/markdown", "Vary: Accept"],
      "specification_url": "https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/"
    }
  },
  "bot_access_control": {
    "robots_ai_rules": {
      "status": "live_supported",
      "production_policy": "Allow public pages; disallow model training with Content Signals.",
      "staging_policy": "Disallow all crawling."
    },
    "content_signals": {
      "status": "live_supported",
      "production": "search=yes, ai-input=yes, ai-train=no",
      "staging": "search=no, ai-input=no, ai-train=no",
      "specification_url": "https://contentsignals.org/"
    },
    "web_bot_auth": {
      "status": "source_ready_not_deployed",
      "policy_file": "docs/web-bot-auth-cloudflare-policy.json",
      "verification": "node scripts/check-web-bot-auth.mjs",
      "specification_url": "https://blog.cloudflare.com/web-bot-auth/",
      "deployment_required": [
        "Deploy signature verification at the edge or origin.",
        "Observe in log-only mode.",
        "Allow verified signed bots and challenge/block unsigned automated traffic after review."
      ]
    }
  },
  "protocol_discovery": {
    "api_catalog": {
      "status": "live_supported",
      "url": "https://asterionyx.com/.well-known/api-catalog.json",
      "openapi_url": "https://asterionyx.com/.well-known/openapi.json"
    },
    "agent_skills": {
      "status": "live_supported",
      "url": "https://asterionyx.com/.well-known/agent-skills.json"
    },
    "mcp_server_card": {
      "status": "live_supported",
      "url": "https://asterionyx.com/.well-known/mcp.json",
      "runtime_server_supported": false,
      "specification_url": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports"
    },
    "mcp_runtime_server": {
      "status": "source_ready_not_deployed",
      "status_url": "https://asterionyx.com/.well-known/mcp/runtime-status.json",
      "source_files": ["backend/app/modules/mcp/router.py", "backend/tests/mcp/test_public_mcp.py"],
      "production_candidate_url": "https://api.a.eus/mcp",
      "staging_candidate_url": "https://api.staging.asterionyx.com/mcp",
      "transport": "streamable_http",
      "protocol_version": "2025-06-18",
      "authentication": "none for public read-only docs/API metadata",
      "resources": [
        "asterionyx://public/agent-guide",
        "asterionyx://public/api-catalog",
        "asterionyx://public/model-aliases"
      ],
      "tools": ["get_agent_guidance", "list_model_aliases", "get_public_api_catalog"],
      "limitations": [
        "No customer account data.",
        "No credential retrieval.",
        "No admin actions.",
        "No payment or checkout operations."
      ],
      "deployment_required": [
        "Deploy the backend API application containing /mcp.",
        "Fix and verify production API TLS for https://api.a.eus.",
        "Verify production POST /mcp initialize/resources/tools.",
        "Update the MCP card and matrix to live_supported only after production verification."
      ]
    },
    "mcp_runtime_status": {
      "status": "status_only",
      "url": "https://asterionyx.com/.well-known/mcp/runtime-status.json",
      "staging": "verified_private_staging",
      "production": "not_live"
    },
    "webmcp_manifest": {
      "status": "live_supported_progressive",
      "url": "https://asterionyx.com/.well-known/webmcp.json",
      "runtime_tools_supported": true,
      "browser_api": "document.modelContext.registerTool",
      "browser_support": "Requires a browser or agent implementing the WebMCP browser API. Unsupported browsers receive static manifests and Markdown content only.",
      "source_files": ["apps/web/app/_components/WebMcpTools.tsx", "apps/web/app/layout.tsx"],
      "tools": ["asterionyx.get_guidance", "asterionyx.list_models", "asterionyx.get_api_catalog"],
      "limitations": [
        "Public read-only outputs only.",
        "No account data.",
        "No credential retrieval.",
        "No admin operations.",
        "No payment or checkout operations."
      ],
      "specification_url": "https://webmachinelearning.github.io/webmcp/"
    },
    "oauth_protected_resource_metadata": {
      "status": "live_supported",
      "url": "https://asterionyx.com/.well-known/oauth-protected-resource",
      "specification_url": "https://datatracker.ietf.org/doc/html/rfc9728"
    },
    "oauth_status": {
      "status": "status_only",
      "url": "https://asterionyx.com/.well-known/oauth-status.json",
      "purpose": "Machine-readable statement that OAuth authorization-server support is not currently implemented.",
      "current_authentication": "Asterionyx API key in Authorization: Bearer <key>"
    },
    "oauth_authorization_server": {
      "status": "not_supported",
      "authorization_servers": [],
      "metadata_urls": [],
      "status_url": "https://asterionyx.com/.well-known/oauth-status.json",
      "reason": "Asterionyx customer API currently uses customer API keys, not OAuth access tokens."
    }
  },
  "commerce": {
    "x402": {
      "status": "not_supported",
      "status_url": "https://asterionyx.com/.well-known/commerce/x402.json",
      "specification_url": "https://x402.org/",
      "reason": "Asterionyx does not currently return HTTP 402 payment challenges for API calls or content."
    },
    "mpp": {
      "status": "not_supported",
      "status_url": "https://asterionyx.com/.well-known/commerce/mpp.json",
      "specification_url": "https://mpp.dev/",
      "reason": "No Machine Payments Protocol challenge, credential, or receipt flow is implemented."
    },
    "ucp": {
      "status": "not_supported",
      "status_url": "https://asterionyx.com/.well-known/commerce/ucp.json",
      "specification_url": "https://ucp.dev/2026-04-08/specification/overview/",
      "reason": "Asterionyx does not expose UCP catalog, cart, checkout, identity-linking, or order-management capabilities."
    },
    "acp": {
      "status": "not_supported",
      "status_url": "https://asterionyx.com/.well-known/commerce/acp.json",
      "specification_url": "https://www.agenticcommerce.dev/docs",
      "reason": "Asterionyx does not expose ACP checkout, delegated payment, order, or webhook endpoints."
    }
  }
}
