Regex Explainer

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
100%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~424トークン数(ツール定義)
~828 B一般的なレスポンスサイズ
注意への影響は最小限(128k コンテキストの 0.33%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "regex-explainer": {
      "url": "https://regex-explainer.gumballtools.com/api/mcp"
    }
  }
}

リモートエンドポイント

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

できること

ツール一覧

ツール(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.

入力スキーマ

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

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 1 件
検証済みバージョンは記録されていませんツール 1 件