{"record":{"id":"39a33a25a8975955","repo":"rohitg00/ai-engineering-from-scratch","slug":"32602-39a33a","errorCode":"-32602","errorMessage":"arguments must be an object","messagePattern":"arguments must be an object","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"certifications/claude/lessons/11-mcp-server-design-and-integration/code/main.py","lineNumber":45,"sourceCode":"\nclass ProtocolError(Exception):\n    def __init__(self, code: int, message: str, data: Any | None = None) -> None:\n        super().__init__(message)\n        self.code = code\n        self.message = message\n        self.data = data\n\n\n@dataclass(frozen=True)\nclass Capability:\n    name: str\n    description: str\n    input_schema: dict[str, Any]\n    handler: Callable[[dict[str, Any]], Any]\n\n    def validate_arguments(self, arguments: Any) -> dict[str, Any]:\n        if not isinstance(arguments, dict):\n            raise ValueError(\"arguments must be an object\")\n        properties = self.input_schema.get(\"properties\", {})\n        required = self.input_schema.get(\"required\", [])\n        missing = [name for name in required if name not in arguments]\n        if missing:\n            raise ValueError(f\"missing {', '.join(missing)}\")\n        unexpected = set(arguments) - set(properties)\n        if unexpected and self.input_schema.get(\"additionalProperties\") is False:\n            raise ValueError(f\"unexpected fields: {', '.join(sorted(unexpected))}\")\n\n        checks: dict[str, Callable[[Any], bool]] = {\n            \"integer\": lambda value: isinstance(value, int) and not isinstance(value, bool),\n            \"string\": lambda value: isinstance(value, str),\n        }\n        for name, value in arguments.items():\n            if name not in properties:\n                continue\n            expected = properties[name].get(\"type\")\n            if expected not in checks:","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/certifications/claude/lessons/11-mcp-server-design-and-integration/code/main.py#L27-L63","documentation":"Error \"arguments must be an object\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at certifications/claude/lessons/11-mcp-server-design-and-integration/code/main.py:45 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"39ea8a1c6d0b61f071226eff7ede4d4105fed820","analyzedAt":"2026-08-26T03:13:46.626Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}