Regex Explainer

Explain a regex in plain English and detect catastrophic backtracking risk.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~424Tokens (tool definitions)
~828 BTypical response size
Minimal attention impact (0.33% 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": {
    "regex-explainer": {
      "url": "https://regex-explainer.gumballtools.com/api/mcp"
    }
  }
}

Remote endpoints

https://regex-explainer.gumballtools.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "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"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools
verifiedversion not recorded1 tools
verifiedversion not recorded1 tools
verifiedversion not recorded1 tools
verifiedversion not recorded1 tools
verifiedversion not recorded1 tools