Skip to main content
Glama
wedo911

regexguard

regexguard-mcp-server

Glama score

Сервер MCP, который дает любому ИИ-агенту возможность проверить только что сгенерированное регулярное выражение — и что оно на самом деле сопоставляет, и безопасно ли его использовать с недоверенными входными данными — перед его выпуском. Полностью локальный: без API-ключа, без сетевых вызовов, без зависимостей, кроме MCP SDK и Zod.

Зачем

Регулярные выражения — известное место, где легко внести ошибку, которая выглядит нормально в каждом примере, который вы тестируете. Особенно распространены и легко упускаются из виду два типа сбоев:

  1. Оно не соответствует тому, что вы думаете. explain_regex превращает шаблон в реальное синтаксическое дерево и описывает его простым английским языком, так что на вопрос «действительно ли это требует хотя бы одной цифры?» можно быстро получить ответ, не полагаясь на собственное чтение вложенных скобок.

  2. Это вектор отказа в обслуживании. Регулярное выражение с вложенными квантификаторами ((a+)+) или неоднозначной альтернативой внутри повторяющейся группы ((a|a)+) может заставить механизм обратного отслеживания работать экспоненциальное время на специально созданном (или даже случайном) несовпадающем входе — это ReDoS, реальный и многократно эксплуатируемый класс уязвимостей, а также вероятный дефект в любом регулярном выражении, которое агент пишет без проверки на состязательные входные данные. check_redos_risk отмечает структурную форму без выполнения шаблона — его безопасно запускать на недоверенных или намеренно вредоносных исходниках регулярных выражений.

Related MCP server: Regex Toolkit MCP Server

Инструменты

explain_regex

Разбирает шаблон в AST и возвращает описание на простом английском языке того, что он сопоставляет.

check_redos_risk

Статически анализирует структуру шаблона на наличие вложенных квантификаторов и неоднозначной альтернативы внутри повторяющейся группы — двух классических причин катастрофического возврата. Возвращает "safe", "high" или "critical" с конкретным результатом для каждой найденной проблемы.

Оба инструмента используют один парсер (src/services/parser.ts): настоящий рекурсивный нисходящий парсер регулярных выражений (литералы, классы символов, сокращенные классы, якоря, захватывающие/незахватывающие/именованные группы, опережающие проверки, альтернативы, квантификаторы, обратные ссылки), а не набор эвристик сопоставления строк с исходным текстом шаблона.

Это эвристическая структурная проверка, а не формальный верификаторcheck_redos_risk может сказать, что шаблон имеет классическую форму экспоненциального раздувания; он не может доказать, что шаблон быстр на всех входных данных, и существуют ReDoS-паттерны вне двух форм, которые он сейчас обнаруживает. Относитесь к результату "safe" как к «ничего очевидного не найдено», а не как к гарантии.

Установка и настройка

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

Добавьте его в конфигурацию вашего MCP-клиента (например, claude_desktop_config.json или .mcp.json проекта для Claude Code):

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

Запуск тестов

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

44 теста покрывают грамматику парсера, вывод объяснений, а также истинные положительные случаи ((a+)+, (a*)*, (a|a)+, (a|ab)+, шаблоны, вложенные в незахватывающие группы) и истинные отрицательные случаи ((cat|dog)+, реалистичный шаблон имени пользователя, реалистичный шаблон электронной почты, соседние — не вложенные — повторения) для проверки ReDoS, так что уровень ложных срабатываний на обычных шаблонах является проверенным свойством, а не надеждой.

Попробуйте без клиента

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])+)*)$'

Лицензия

MIT — см. 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