generated: '2026-09-19' method: searched source: live probes of Armature hosts /.well-known/* host: https://mcp.armature.tech notes: mcp.armature.tech and app.armature.tech both serve valid RFC 8414 / RFC 9728 OAuth discovery JSON. Other /.well-known/* paths (security.txt, openid-configuration, api-catalog, ai-plugin.json) return the SPA HTML shell (HTTP 200 but text/html), so they are NOT real documents and are recorded as such. docs.armature.tech and armature.tech return 404 for all probed paths. hosts: - host: https://mcp.armature.tech documents: - path: /.well-known/oauth-authorization-server status: 200 file: armature-oauth-authorization-server.json content_type: application/json - path: /.well-known/oauth-protected-resource status: 200 file: armature-oauth-protected-resource.json content_type: application/json - path: /.well-known/security.txt status: 200 content_type: text/html - path: /.well-known/openid-configuration status: 200 content_type: text/html - path: /.well-known/api-catalog status: 200 content_type: text/html - path: /.well-known/ai-plugin.json status: 200 content_type: text/html - host: https://app.armature.tech documents: - path: /.well-known/oauth-authorization-server status: 200 file: armature-app-oauth-authorization-server.json bytes: 588 path_echo_control: passed x-shape-fix: converted: '2026-08-20' from: documents note: Rewritten into hosts[] -> documents[], the only shape well_known_docs() in score.rb reads. A served .well-known surface recorded in any other shape scores as absent. x-mcp-probe: probed: '2026-09-19' issue: roadmap#321, roadmap#337 documents: - host: https://app.armature.tech path: /.well-known/oauth-authorization-server file: armature-app-oauth-authorization-server.json validated_on: resource (RFC 9728) / issuer (RFC 8414, OIDC) negative_control: one per host; a 2xx JSON object at an impossible path discards the host note: 'MCP-host OAuth discovery added 2026-09-19 (roadmap#321/#337): the harvest visits a provider''s primary hosts, and RFC 9728 protected-resource metadata lives on the MCP host, so these documents existed and were invisible to the scorer. Fetched live and validated on `resource`/`issuer`; one negative control per host.'