{"repo":"NousResearch/hermes-agent","public_id":"110530","display_label":"MCP tool schema repair for reserved parameter names","summary":"A bug where MCP tools with parameters named 'properties' or 'required' caused 400 errors, because the schema repair logic mistakenly treated the properties map itself as a schema node. Fixes address the _repair_object_shape function to handle per-entry keywords correctly.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":111479,"merged_at":"2026-09-15T11:55:15+00:00"},"resolution":{"state":"resolved","by":"pr-111479"},"freshness":{"state":"verified","last_verified_at":"2026-09-15T11:55:15+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":110530,"pr_number":111479,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-15T11:55:15+00:00"}],"members":[{"kind":"issue","number":110530,"title":"MCP tool schemas 400 with `\"object\" is not of types \"boolean\", \"object\"` when a parameter is named `properties` (_repair_object_shape treats the properties map as a node)","url":null,"state":"closed"},{"kind":"pr","number":110537,"title":"fix(mcp): repair schema-map keywords per-entry in _repair_object_shape","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"798cc60f4c","number":0},{"kind":"commit","value":"3dbaffd814","number":0},{"kind":"pr","value":"#111479","number":111479}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":111479,"title":"fix(mcp): tools with a parameter named properties/required no longer 400 every request (#110530, salvage #110537)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_mcp_tool.py","tools/mcp_tool_schema.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}