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

-32600

-32600

Error message

Invalid Request

What it means

Error "Invalid Request" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/13-tools-and-protocols/07-building-an-mcp-server/code/main.py:156

    payload: dict[str, Any],
    *,
    ttl_ms: int | None = None,
    cache_scope: str = "private",
) -> dict[str, Any]:
    result = {
        "resultType": "complete",
        **payload,
        "_meta": {SERVER_INFO_KEY: SERVER_INFO.copy()},
    }
    if ttl_ms is not None:
        result["ttlMs"] = ttl_ms
        result["cacheScope"] = cache_scope
    return result


def validate_request(message: dict[str, Any]) -> None:
    if message.get("jsonrpc") != "2.0" or not isinstance(message.get("method"), str):
        raise RpcProblem(-32600, "Invalid Request")
    if "id" in message and type(message["id"]) not in (int, str):
        raise RpcProblem(-32600, "id must be a string or integer")
    params = message.get("params")
    if not isinstance(params, dict):
        raise RpcProblem(-32602, "params must be an object")
    meta = params.get("_meta")
    if not isinstance(meta, dict):
        raise RpcProblem(-32602, "params._meta is required")
    requested = meta.get(VERSION_KEY)
    if not isinstance(requested, str):
        raise RpcProblem(-32602, f"{VERSION_KEY} is required")
    if requested not in SUPPORTED_VERSIONS:
        raise RpcProblem(
            -32022,
            "Unsupported protocol version",
            {"requested": requested, "supported": SUPPORTED_VERSIONS.copy()},
        )
    if not isinstance(meta.get(CAPABILITIES_KEY), dict):

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/13-tools-and-protocols/07-building-an-mcp-server/code/main.py:156 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/6e67e127cf50f32b. Report an issue: GitHub.