Regex Explainer
Explain a regex in plain English and detect catastrophic backtracking risk.
¿Debería usar esto?
Calidad y seguridad
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": {
"regex-explainer": {
"url": "https://regex-explainer.gumballtools.com/api/mcp"
}
}
}Puntos de conexión remotos
https://regex-explainer.gumballtools.com/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟢explain_regex(pattern)
Explain a regular expression in plain English and detect the failure modes that make patterns dangerous rather than merely wrong. Use this whenever a regex needs to be read, reviewed, or verified — and ALWAYS before putting a pattern somewhere it will run against untrusted input. The critical check is catastrophic backtracking: a pattern like (a+)+$ is three characters longer than a safe equivalent, looks harmless, and takes minutes of CPU on a 30-character input that almost matches. That makes it a denial-of-service vector. Whether a pattern is vulnerable depends on whether nested quantifiers can match the same characters in more than one way, which is a structural property that is unreliable to judge by reading. It also flags: missing anchors (an unanchored validator accepts any string that merely CONTAINS a valid value), unescaped dots, character ranges like [A-z] that span punctuation, alternation precedence mistakes where an anchor applies to only one branch, and constructs JavaScript does not support. Input: `pattern` accepts either a bare pattern or a full /pattern/flags literal. JavaScript syntax; PCRE-only constructs are reported as unsupported rather than guessed at. Returns: `summary` (one sentence), `steps` (an ordered walkthrough), `warnings` (each with a code, severity, detail, and fix), `flagNotes`, capture group counts and names, and `hasBlockingIssue` — check that flag first. If the pattern cannot be parsed it returns an error naming the position, rather than a plausible-looking explanation of something else.
Esquema de entrada
{
"type": "object",
"properties": {
"pattern": {
"type": "string",
"description": "A JavaScript regular expression, either bare (\"^\\d+$\") or as a full literal (\"/^\\d+$/gi\"). Up to 2000 characters."
}
},
"required": [
"pattern"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia