DiffMint by Harlo
Diff two texts by line, word or char: unified diff, HTML redline, patch apply, similarity.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin apply_patch
- LOWin text_similarity
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"diffmint": {
"url": "https://diffmint.mike-tusa.workers.dev/mcp"
}
}
}Remote-Endpunkte
https://diffmint.mike-tusa.workers.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢diff_text(a, b, mode, ignore_case, ignore_whitespace, ...)
Compare text a with text b by lines (default), words or chars. Returns ops (equal/insert/delete), a unified diff (lines mode), optional escaped HTML redline, stats and similarity. Deterministic diff (Myers algorithm via jsdiff), not an AI or semantic comparison. Limits per side: lines mode 64 KB and 1,000 lines, words mode 8 KB, chars mode 4 KB. If the texts need more than 250 inserted plus deleted units, the API returns 422 too_different instead of a partial diff. Patches up to 64 KB apply to text up to 64 KB. No 3-way merge, no binary files. Stateless: text is not stored or logged; no URL fetching.
Eingabe-Schema
{
"type": "object",
"properties": {
"a": {
"type": "string",
"description": "Original text."
},
"b": {
"type": "string",
"description": "Changed text."
},
"mode": {
"type": "string",
"enum": [
"lines",
"words",
"chars"
]
},
"ignore_case": {
"type": "boolean"
},
"ignore_whitespace": {
"type": "boolean",
"description": "lines mode only"
},
"context": {
"type": "integer",
"minimum": 0,
"maximum": 20
},
"formats": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ops",
"unified",
"html"
]
}
},
"label_a": {
"type": "string"
},
"label_b": {
"type": "string"
}
},
"required": [
"a",
"b"
]
}🟢apply_patch(text, patch, fuzz)
Apply a single-file unified diff (patch) to text and return the patched text, or applied:false if a hunk does not match. Optional fuzz 0-2.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"patch": {
"type": "string",
"description": "Unified diff with @@ hunks."
},
"fuzz": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"required": [
"text",
"patch"
]
}🟢text_similarity(a, b, mode, ignore_case)
Similarity ratio 0-1 between two texts (2 x unchanged chars / total chars) on chars (default), words or lines granularity, plus change stats.
Eingabe-Schema
{
"type": "object",
"properties": {
"a": {
"type": "string",
"description": "Original text."
},
"b": {
"type": "string",
"description": "Changed text."
},
"mode": {
"type": "string",
"enum": [
"lines",
"words",
"chars"
]
},
"ignore_case": {
"type": "boolean"
}
},
"required": [
"a",
"b"
]
}Community
Nachweis