{"record":{"id":"eed91613b000565c","repo":"rohitg00/ai-engineering-from-scratch","slug":"32022-eed916","errorCode":"-32022","errorMessage":"Unsupported protocol version","messagePattern":"Unsupported protocol version","errorType":"validation","errorClass":"RpcFault","httpStatus":null,"severity":"error","filePath":"phases/13-tools-and-protocols/09-mcp-transports/code/main.py","lineNumber":195,"sourceCode":"        raise RpcFault(-32602, \"params._meta is required\")\n    version = meta.get(VERSION_KEY)\n    if not isinstance(version, str):\n        raise RpcFault(-32602, f\"{VERSION_KEY} is required\")\n    if not isinstance(meta.get(CAPABILITIES_KEY), dict):\n        raise RpcFault(-32602, f\"{CAPABILITIES_KEY} is required\")\n    client_info = meta.get(CLIENT_INFO_KEY)\n    if client_info is not None and (\n        not isinstance(client_info, dict)\n        or not isinstance(client_info.get(\"name\"), str)\n        or not isinstance(client_info.get(\"version\"), str)\n    ):\n        raise RpcFault(-32602, f\"{CLIENT_INFO_KEY} is malformed\")\n    return version\n\n\ndef validate_supported_version(version: str) -> None:\n    if version not in SUPPORTED_VERSIONS:\n        raise RpcFault(\n            -32022,\n            \"Unsupported protocol version\",\n            {\"supported\": SUPPORTED_VERSIONS.copy(), \"requested\": version},\n        )\n\n\ndef validate_http_headers(\n    headers: Mapping[str, str],\n    message: dict[str, Any],\n    body_version: str,\n) -> None:\n    header_version = headers.get(\"MCP-Protocol-Version\")\n    if header_version is None or header_version != body_version:\n        raise RpcFault(-32020, \"Header mismatch: MCP-Protocol-Version\")\n    header_method = headers.get(\"Mcp-Method\")\n    if header_method is None or header_method != message[\"method\"]:\n        raise RpcFault(-32020, \"Header mismatch: Mcp-Method\")\n    expected_name = body_name(message)","sourceCodeStart":177,"sourceCodeEnd":213,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/phases/13-tools-and-protocols/09-mcp-transports/code/main.py#L177-L213","documentation":"Error \"Unsupported protocol version\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:195 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"39ea8a1c6d0b61f071226eff7ede4d4105fed820","analyzedAt":"2026-08-26T03:13:46.626Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}