rohitg00/ai-engineering-from-scratch · error · RpcFault
-32602
-32602
Error message
Modern params._meta is required
What it means
Error "Modern params._meta is required" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/13-tools-and-protocols/08-building-an-mcp-client/code/main.py:131
result = response["result"]
if not isinstance(result, dict):
raise RuntimeError("JSON-RPC result must be an object")
return "result", result
error = response["error"]
if not isinstance(error, dict):
raise RuntimeError("JSON-RPC error must be an object")
code = error.get("code")
if not isinstance(code, int) or isinstance(code, bool) or not isinstance(error.get("message"), str):
raise RuntimeError("JSON-RPC error requires an integer code and string message")
return "error", error
def validate_modern_request(message: dict[str, Any], supported: list[str]) -> None:
if message.get("jsonrpc") != "2.0" or not isinstance(message.get("method"), str):
raise RpcFault(-32600, "Invalid Request")
params = message.get("params")
if not isinstance(params, dict) or not isinstance(params.get("_meta"), dict):
raise RpcFault(-32602, "Modern params._meta is required")
meta = params["_meta"]
requested = meta.get(VERSION_KEY)
if not isinstance(requested, str):
raise RpcFault(-32602, f"{VERSION_KEY} is required")
if requested not in supported:
raise RpcFault(
-32022,
"Unsupported protocol version",
{"requested": requested, "supported": supported.copy()},
)
if not isinstance(meta.get(CAPABILITIES_KEY), dict):
raise RpcFault(-32602, f"{CAPABILITIES_KEY} is required")
class ModernFakeServer:
def __init__(
self,
name: str,View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/13-tools-and-protocols/08-building-an-mcp-client/code/main.py:131 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/aa624110878defda.
Report an issue: GitHub.