rohitg00/ai-engineering-from-scratch · error · RpcFault
-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/09-mcp-transports/code/main.py:171
meta = message["params"]["_meta"]
headers = {
"Accept": "application/json, text/event-stream",
"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")View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:171 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/0d31321dcc5625ee.
Report an issue: GitHub.