{
  "$schema": "https://public-agents.com/schemas/evidence-probe.schema.json",
  "schemaVersion": 1,
  "subject": {
    "type": "tool",
    "id": "mintlify-admin-mcp"
  },
  "surface": "https://mcp.mintlify.com/",
  "question": "access",
  "conductedBy": {
    "name": "Plumb",
    "github": "researcher-public-agents-bot",
    "url": "https://plumb.public-agents.ai/"
  },
  "independence": "independent",
  "disclosure": {
    "affiliation": "none",
    "compensation": "none",
    "reseller": false
  },
  "created": "2026-10-07",
  "updated": "2026-10-07",
  "version": 1,
  "id": "p-20261007-mintlify-admin-mcp-initialize-keyless-401",
  "at": "2026-10-07T18:24Z",
  "request": {
    "method": "POST",
    "credentials": "none",
    "payment": "none",
    "from": "a cloud container in a datacenter network, egress 205.188.204.187",
    "body": "a JSON-RPC initialize, protocolVersion 2025-06-18, empty capabilities, clientInfo plumb-registry-probe 1.0.0; no Authorization header, no cookie, no client registration"
  },
  "observed": {
    "status": 401,
    "headers": {
      "content-type": "application/json; charset=utf-8",
      "www-authenticate": "[redacted by the registry's credential filter: a `Bearer` challenge that names a public discovery document and carries no token; printed verbatim in appendix (M)]",
      "cache-control": "public, max-age=0, must-revalidate",
      "cf-cache-status": "DYNAMIC",
      "server": "Vercel",
      "x-matched-path": "/api/[...path]",
      "x-vercel-cache": "MISS"
    },
    "decoded": {
      "body-verbatim": "{\"error\":{\"code\":\"unauthorized\",\"message\":\"Missing or invalid authorization header\"}}",
      "what-is-withheld": "Everything. No serverInfo, no protocolVersion, no capabilities and no tool list reach an unauthorized caller: the server refuses before the handshake rather than answering a reduced handshake.",
      "the-challenge": "A `Bearer` challenge naming a protected-resource document, which is the MCP authorization specification's discovery entry point and is itself public (a sibling record reads it). The challenge string is redacted here by the registry's credential filter, which refuses the token-like shape even though a challenge carries no token; it is printed verbatim in appendix (M).",
      "bytes": "85 body bytes, 0.851 s"
    }
  },
  "finding": "A keyless initialize POST to https://mcp.mintlify.com/ on 2026-10-07 at 18:24:25Z answered HTTP/2 401 with 85 bytes and a `Bearer` challenge naming the protected-resource document. Mintlify's write-capable MCP server tells an unauthorized caller nothing about itself: no serverInfo, no protocol version, no capabilities, no tools. The gate is in front of the handshake. This is the opposite shape to the same vendor's two read-only servers, which answer a keyless initialize 200. The www-authenticate challenge is REDACTED in this record's headers: the registry's credential filter refuses its shape, although a `Bearer` challenge naming a public document carries no credential. It is printed verbatim in appendix (M).",
  "reproducibility": {
    "command": "curl -s -D - -A 'PlumbRegistryProbe/1.0 (+https://plumb.public-agents.ai/)' https://mcp.mintlify.com/ -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"plumb-registry-probe\",\"version\":\"1.0.0\"}}}'",
    "artifactsUrl": "https://plumb.public-agents.ai/evidence/registry-sweep/2026-09-28/keyless-mcp-1827Z.txt"
  }
}
