{"record":{"id":"d3f04b9bdd6385a1","repo":"tinyhumansai/openhuman","slug":"no-versions-found-for-qualified-name","errorCode":null,"errorMessage":"no versions found for {qualified_name}","messagePattern":"no versions found for (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/mcp/registry/registries/mcp_official.rs","lineNumber":225,"sourceCode":"        let status = resp.status();\n        let body = resp.text().await.context(\"MCP official read failed\")?;\n\n        if !status.is_success() {\n            anyhow::bail!(\n                \"MCP official registry GET {qualified_name} returned HTTP {status}: {}\",\n                &body[..body.len().min(200)]\n            );\n        }\n\n        // The versions endpoint returns the same envelope array as the\n        // list endpoint. Extract the raw JSON for the first (latest)\n        // server object and cache it so subsequent calls skip the HTTP\n        // round-trip.\n        let raw: Value = serde_json::from_str(&body)\n            .with_context(|| format!(\"Failed to re-parse MCP official versions: {body}\"))?;\n        let server_value = raw\n            .pointer(\"/servers/0/server\")\n            .ok_or_else(|| anyhow::anyhow!(\"no versions found for {qualified_name}\"))?;\n        let server_json = server_value.to_string();\n        let _ = store::set_cached(config, &cache_key, &server_json);\n\n        let server: OfficialServer = serde_json::from_value(server_value.clone())\n            .with_context(|| format!(\"Failed to parse MCP official server: {server_json}\"))?;\n        tracing::debug!(\n            \"[mcp-official] get ok qualified_name={} packages={} remotes={}\",\n            server.name,\n            server.packages.len(),\n            server.remotes.len()\n        );\n        Ok(server.into_detail())\n    }\n}\n\n/// Fetch one page from the registry, optionally with a cursor. Returns the\n/// raw response body so callers can both parse it and write it to the SQLite\n/// response cache.","sourceCodeStart":207,"sourceCodeEnd":243,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/mcp/registry/registries/mcp_official.rs#L207-L243","documentation":"The MCP official registry's versions endpoint returned HTTP success but the envelope contained no version entry for the requested qualified name — the server is known to the registry listing but has no published versions to install.","triggerScenarios":"Thrown at src/openhuman/mcp/registry/registries/mcp_official.rs:225 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the package page on the official registry to confirm any version was ever published","Retry later if the publication is recent and propagating","Pick a different qualified_name that has published versions"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}