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.