{"serverId":"mcp-registry/io.github.lazymac2x/diff-patch-tools","tools":[{"name":"apply_patch","fixed":{"name":"apply_patch","description":"Apply a unified diff patch to an original text and return the patched result.","inputSchema":{"type":"object","required":["original","patch"],"properties":{"patch":{"type":"string","description":"Unified diff patch string"},"original":{"type":"string","description":"Original text to patch"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"diff_stats","fixed":{"name":"diff_stats","description":"Parse a unified diff string and return line-level statistics: additions, deletions, hunks, files changed.","inputSchema":{"type":"object","required":["diff"],"properties":{"diff":{"type":"string","description":"Unified diff string to analyse"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"json_diff","fixed":{"name":"json_diff","description":"Compute a structural diff between two JSON values, showing added, removed, and replaced fields.","inputSchema":{"type":"object","required":["original","modified"],"properties":{"modified":{"description":"Modified JSON value (object, array, or JSON string)","type":"string"},"original":{"description":"Original JSON value (object, array, or JSON string)","type":"string"}}}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: modified, original. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":105,"tokensAfter":114},{"name":"patch_validate","fixed":{"name":"patch_validate","description":"Check whether a unified diff patch can be applied cleanly to an original text without actually applying it.","inputSchema":{"type":"object","required":["original","patch"],"properties":{"patch":{"type":"string","description":"Unified diff patch string"},"original":{"type":"string","description":"Original text"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"three_way_merge","fixed":{"name":"three_way_merge","description":"Perform a three-way merge of base, ours, and theirs. Conflicts are marked with standard diff3 conflict markers.","inputSchema":{"type":"object","required":["base","ours","theirs"],"properties":{"base":{"type":"string","description":"Common ancestor text"},"ours":{"type":"string","description":"Our version of the text"},"theirs":{"type":"string","description":"Their version of the text"},"ours_label":{"type":"string","description":"Label for ours in conflict markers (default \"ours\")"},"theirs_label":{"type":"string","description":"Label for theirs in conflict markers (default \"theirs\")"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":179,"tokensAfter":179}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}