Skip to main content
Glama
wedo911

regexguard

regexguard-mcp-server

Glama score

Ein MCP-Server, der jedem KI-Agenten die Möglichkeit gibt, einen gerade erzeugten Regex vor der Auslieferung zu überprüfen – sowohl das, was er tatsächlich matcht, als auch die Frage, ob es sicher ist, ihn gegen nicht vertrauenswürdige Eingaben auszuführen. Vollständig lokal: kein API-Schlüssel, kein Netzwerkaufruf, keine weiteren Abhängigkeiten außer dem MCP SDK und Zod.

Warum

Reguläre Ausdrücke sind notorisch dafür bekannt, dass sich in ihnen leicht ein Bug einschleicht, der in jedem Beispiel, das Sie zufällig testen, völlig in Ordnung aussieht. Zwei Fehlermodi sind besonders häufig und mit bloßem Auge leicht zu übersehen:

  1. Es matcht nicht das, was Sie denken, dass es matcht. explain_regex wandelt das Muster in einen echten Syntaxbaum um und beschreibt ihn in einfachem Englisch, sodass die Frage „Erfordert das wirklich mindestens eine Ziffer?“ schnell eine Antwort erhält, die nicht davon abhängt, dass Sie Ihrer eigenen Lesart von verschachtelten Klammern vertrauen.

  2. Es ist ein Denial-of-Service-Vektor. Ein Regex mit verschachtelten Quantifizierern ((a+)+) oder mehrdeutiger Alternation innerhalb einer wiederholten Gruppe ((a|a)+) kann eine Backtracking-Engine dazu bringen, bei einer manipulierten (oder sogar versehentlichen) nicht übereinstimmenden Eingabe exponentielle Zeit zu benötigen – das ist ReDoS, eine reale und wiederholt ausgenutzte Schwachstellenklasse und ein durchaus möglicher Fehler in jedem Regex, den ein Agent schreibt, ohne ihn gegen böswillige Eingaben zu testen. check_redos_risk kennzeichnet die strukturelle Form, ohne das Muster jemals auszuführen – es lässt sich sicher auf nicht vertrauenswürdige oder absichtlich bösartige Regex-Quelltexte anwenden.

Related MCP server: Regex Toolkit MCP Server

Werkzeuge

explain_regex

Parst ein Muster in einen AST und gibt eine Beschreibung in einfachem Englisch davon zurück, was es matcht.

check_redos_risk

Analysiert die Struktur eines Musters statisch auf verschachtelte Quantifizierer und mehrdeutige Alternation innerhalb einer wiederholten Gruppe – die beiden klassischen Ursachen für katastrophales Backtracking. Gibt "safe", "high" oder "critical" zurück, jeweils mit einem konkreten Befund für jedes gefundene Problem.

Beide Werkzeuge teilen sich einen Parser (src/services/parser.ts): einen echten rekursiv-absteigenden Regex-Parser (Literale, Zeichenklassen, Kurzzeichenklassen, Anker, erfassende/nicht erfassende/benannte Gruppen, Lookaround, Alternation, Quantifizierer, Rückverweise), keine Ansammlung von String-Matching-Heuristiken gegen den rohen Quelltext des Musters.

Dies ist eine heuristische Strukturprüfung, kein formaler Verifizierercheck_redos_risk kann Ihnen sagen, dass ein Muster die typische Form der exponentiellen Explosion hat; es kann nicht beweisen, dass ein Muster auf allen Eingaben schnell ist, und es gibt ReDoS-Muster außerhalb der beiden Formen, die es derzeit erkennt. Behandeln Sie ein "safe"-Ergebnis als „nichts Offensichtliches gefunden“, nicht als Garantie.

Installation und Konfiguration

git clone https://github.com/wedo911/regexguard-mcp-server.git
cd regexguard-mcp-server
npm install
npm run build

Fügen Sie es zur Konfiguration Ihres MCP-Clients hinzu (z. B. claude_desktop_config.json oder einem .mcp.json eines Projekts für Claude Code):

{
  "mcpServers": {
    "regexguard": {
      "command": "node",
      "args": ["/absolute/path/to/regexguard-mcp-server/dist/index.js"]
    }
  }
}

Tests ausführen

npm run build
node --test tests/parser.test.mjs tests/explain.test.mjs tests/redosCheck.test.mjs

44 Tests decken die Parser-Grammatik, die Erklärungsausgabe und sowohl echte Positivfälle ((a+)+, (a*)*, (a|a)+, (a|ab)+, Muster, die in nicht erfassenden Gruppen verschachtelt sind) als auch echte Negativfälle ((cat|dog)+, ein realistisches Benutzernamen-Muster, ein realistisches E-Mail-Muster, benachbarte – nicht verschachtelte – Wiederholungen) für den ReDoS-Check ab, sodass die False-Positive-Rate bei gewöhnlichen Mustern eine getestete Eigenschaft und keine Hoffnung ist.

Ohne Client ausprobieren

npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name check_redos_risk \
  --tool-arg pattern='^(([a-zA-Z0-9])+([\.-]?([a-zA-Z0-9])+)*)$'

Lizenz

MIT – siehe LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    RegexForge gives AI agents a reliable way to get a regex without asking an LLM to hallucinate one. Pass in labeled examples (strings that should match, strings that shouldn't) plus an optional description; get back the regex, a proof matrix showing it handles every example, and a backtracking-risk audit flagging catastrophic-backtracking patterns. Pure symbolic synthesis over a template bank with
  • F
    license
    A
    quality
    C
    maintenance
    Enables LLM agents to extract, validate, and mask personally identifiable information using deterministic regular expressions, reducing token usage and hallucination risks.
    3
    7
    3
  • A
    license
    A
    quality
    C
    maintenance
    Provides tools to test regex patterns for correctness, performance (ReDoS), and memory usage, and suggests safe rewrites. Enables LLMs to iterate on regex generation with verifiable feedback.
    9
    MIT

View all related MCP servers

Related MCP Connectors

  • The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...

  • Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.

  • Pay-per-call cybersecurity for AI agents: vuln scans, threat intel, compliance, code security.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wedo911/regexguard-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server