diff-patch-tools

Cloudflare Workers MCP server: diff-patch-tools

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
97%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'apply_patch' description lacks action verbin apply_patch
  • LOWTool 'three_way_merge' description lacks action verbin three_way_merge

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~562Tokens (tool definitions)
~846 BTypical response size
Minimal attention impact (0.44% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "diff-patch-tools": {
      "url": "https://api.lazy-mac.com/diff-patch-tools/mcp"
    }
  }
}

Remote endpoints

https://api.lazy-mac.com/diff-patch-tools/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪text_diff(original, modified, context, original_file, modified_file)

Generate a unified diff between two text strings. Ideal for comparing file versions before and after edits.

Input Schema

{
  "type": "object",
  "properties": {
    "original": {
      "type": "string",
      "description": "Original text"
    },
    "modified": {
      "type": "string",
      "description": "Modified text"
    },
    "context": {
      "type": "number",
      "description": "Context lines around each change (default 3)"
    },
    "original_file": {
      "type": "string",
      "description": "Label for the original file (default \"original\")"
    },
    "modified_file": {
      "type": "string",
      "description": "Label for the modified file (default \"modified\")"
    }
  },
  "required": [
    "original",
    "modified"
  ]
}
🟢json_diff(original, modified)

Compute a structural diff between two JSON values, showing added, removed, and replaced fields.

Input Schema

{
  "type": "object",
  "properties": {
    "original": {
      "description": "Original JSON value (object, array, or JSON string)"
    },
    "modified": {
      "description": "Modified JSON value (object, array, or JSON string)"
    }
  },
  "required": [
    "original",
    "modified"
  ]
}
🟡apply_patch(original, patch)

Apply a unified diff patch to an original text and return the patched result.

Input Schema

{
  "type": "object",
  "properties": {
    "original": {
      "type": "string",
      "description": "Original text to patch"
    },
    "patch": {
      "type": "string",
      "description": "Unified diff patch string"
    }
  },
  "required": [
    "original",
    "patch"
  ]
}
⚪three_way_merge(base, ours, theirs, ours_label, theirs_label)

Perform a three-way merge of base, ours, and theirs. Conflicts are marked with standard diff3 conflict markers.

Input Schema

{
  "type": "object",
  "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\")"
    }
  },
  "required": [
    "base",
    "ours",
    "theirs"
  ]
}
🟢diff_stats(diff)

Parse a unified diff string and return line-level statistics: additions, deletions, hunks, files changed.

Input Schema

{
  "type": "object",
  "properties": {
    "diff": {
      "type": "string",
      "description": "Unified diff string to analyse"
    }
  },
  "required": [
    "diff"
  ]
}
🟡patch_validate(original, patch)

Check whether a unified diff patch can be applied cleanly to an original text without actually applying it.

Input Schema

{
  "type": "object",
  "properties": {
    "original": {
      "type": "string",
      "description": "Original text"
    },
    "patch": {
      "type": "string",
      "description": "Unified diff patch string"
    }
  },
  "required": [
    "original",
    "patch"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools