rohitg00/ai-engineering-from-scratch · error · RpcFault

-32602

-32602

Error message

params must be an object

What it means

Error "params must be an object" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:174

        "Content-Type": "application/json",
        "Origin": origin,
        "MCP-Protocol-Version": str(meta[VERSION_KEY]),
        "Mcp-Method": str(message["method"]),
    }
    name = body_name(message)
    if name is not None:
        headers["Mcp-Name"] = encode_header_value(name)
    if extra:
        headers.update(extra)
    return headers


def validate_request_structure(message: dict[str, Any]) -> str:
    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):
        raise RpcFault(-32602, "params must be an object")
    meta = params.get("_meta")
    if not isinstance(meta, dict):
        raise RpcFault(-32602, "params._meta is required")
    version = meta.get(VERSION_KEY)
    if not isinstance(version, str):
        raise RpcFault(-32602, f"{VERSION_KEY} is required")
    if not isinstance(meta.get(CAPABILITIES_KEY), dict):
        raise RpcFault(-32602, f"{CAPABILITIES_KEY} is required")
    client_info = meta.get(CLIENT_INFO_KEY)
    if client_info is not None and (
        not isinstance(client_info, dict)
        or not isinstance(client_info.get("name"), str)
        or not isinstance(client_info.get("version"), str)
    ):
        raise RpcFault(-32602, f"{CLIENT_INFO_KEY} is malformed")
    return version

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:174 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/c936f4e129aed044. Report an issue: GitHub.