DiffMint by Harlo
Diff two texts by line, word or char: unified diff, HTML redline, patch apply, similarity.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen apply_patch
- LOWen text_similarity
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"diffmint": {
"url": "https://diffmint.mike-tusa.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://diffmint.mike-tusa.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
]
}Comunidad
Evidencia