mcpField
R
Regex Lab

Regex Lab

本地服务
basitalisandhu.github.io开发工具12 天前更新

关于 Regex Lab

Regex Lab 是供开发者测试和理解 JavaScript 正则表达式的 MCP 服务。它可解释模式并检查灾难性回溯,每次执行都在受超时保护的工作线程中运行。

主要功能

  1. 01用样例字符串测试正则模式
  2. 02解释模式结构和标志
  3. 03检测并探测潜在灾难性回溯

适用场景

  1. 01检查测试输入的匹配结果和捕获组
  2. 02评估模式是否可能遭受 ReDoS

MCP 相关

通过 MCP 工具提供正则表达式测试、解释和回溯检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"basitalisandhu-mcp-regex-lab": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-regex-lab:0.3.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/basitalisandhu/mcp-regex-lab:0.3.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/basitalisandhu/mcp-regex-lab:0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

regex-lab MCP 服务

针对示例字符串测试 JavaScript 正则表达式,逐个构造解释模式,并检查灾难性回溯。每次执行都会在工作线程中运行;超时后线程会被终止,因此病态模式不会让服务挂起。

属于 dev-mcp-servers 的一部分。仅支持 Stdio 传输;服务不会开放端口。

工具

工具输入返回内容
test_regexpattern、flags?、samples[](最多 50 个,每个不超过 20 000 个字符)、replacement?、timeout_ms?(50 至 10 000,默认 2000)每个示例中的所有匹配项,包括偏移量、文本、编号和命名分组(含偏移量),以及可选的 replace 预览。超时前完成的示例仍会返回。
explain_regexpattern、flags?对字面量、字符类、转义、锚点、分组、环视、量词和选择进行缩进说明,并提供捕获组数量和标志含义。
check_redospattern、flags?、probe?(默认 true)、timeout_ms?静态检查结果(嵌套的无界重复、重复中的重叠选择、相邻的重叠重复),并为每项提供一个探测字符;随后使用长度递增的构造输入进行定时运行,以确认或排除该模式存在问题。

安装

Claude Code:

claude mcp add regex-lab -- docker run --rm -i ghcr.io/basitalisandhu/mcp-regex-lab:0.2.2

添加 -s user,即可在每个项目中使用。任何读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):

{
  "mcpServers": {
    "regex-lab": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/basitalisandhu/mcp-regex-lab:0.2.2"]
    }
  }
}

按示例固定版本,避免更新后编辑器运行的内容悄然改变。该软件包尚未发布到 npmjs.com,因此 npx 无法使用;请参阅仓库自述文件,了解 GitHub Packages npm。从检出目录开始,在仓库根目录运行 npm install && npm run build,然后使用 "command": "node", "args": ["<path>/packages/regex-lab/dist/index.js"]。

访问内容

  • 网络:无。
  • 本地文件:无。
  • 遥测:无。

备注

  • 语法遵循 V8(Node.js)。PCRE、RE2 和 Python 在占有量词、后行断言等方面存在差异。
  • 匹配时会自动添加 g 和 d 标志;替换预览则使用你提供的标志。
  • 没有检查结果且耗时平稳,只能作为模式安全的证据,不能证明其安全。

构建和测试

npm install        # at the repository root
npm run build -w @basitalisandhu/mcp-regex-lab
npm test -w @basitalisandhu/mcp-regex-lab

测试使用 node:test 和 SDK 的内存传输;不会访问网络。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。