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