人生苦短,写不出YAML,好好问吧!
模型上下文协议(MCP)服务器,用于生成、验证和部署CrowdSec WAF规则和场景。
特性
WAF规则功能
- WAF规则生成:根据用户输入或CVE引用生成CrowdSec WAF规则
- 验证:验证WAF规则的语法正确性
- 代码检查:获取警告和提示以改进WAF规则
- 部署指导:逐步部署说明
- Docker测试工具:启动CrowdSec+nginx+bouncer来练习假阳性/阴性规则
- 核查找:快速跳转到官方中的现有模板
projectdiscovery/nuclei-templates给定CVE的存储库
场景特征
- CrowdSec场景生成:生成CrowdSec场景
- 验证:验证场景的语法正确性
- 代码检查:获取警告和提示以改进您的场景
- 部署指导:逐步部署说明
- Docker测试工具:启动CrowdSec以测试场景行为
演示
WAF规则创建和测试
场景创建和测试
先决条件
- 紫外线 0.4或更高版本,提供
uvx以下示例中使用的runner。 - 带有Compose插件的Docker(Compose v2)。
安装
您可以使用安装MCP uvx 或 使用包装 .mcpb claude代码文件。
使用 .mcpb 包裹
如果你正在使用 claude desktop,您可以通过双击直接配置MCP .mcpb 发布时附带的文件。
\[!重要\] 在MacOS上,配置uv如果满足以下条件,则扩展设置中的路径uv未安装在标准路径中。
使用 uvx
- 使用自动配置支持的客户端
uvx --from crowdsec-local-mcp init,在哪里 `是其中之一claude-desktop,claude-code,chatgpt,vscode,或stdio`:
uvx --from crowdsec-local-mcp init --dry-run claude-code跑 uvx --from crowdsec-local-mcp init --help 查看所有标志和支持的目标。
什么 init 配置
这 init helper将CrowdSec MCP服务器定义写入客户端的JSON配置中:
claude-desktop→claude_desktop_config.json在Claude Desktop设置目录中claude-code→ 调用claude mcp带有所需参数的命令chatgpt→config.json在ChatGPT桌面设置目录中vscode→mcp.json对于VS Code(稳定和内部人员都被检测到)
如果客户端的配置文件已经存在 .bak 在更新MCP服务器块之前创建备份。当文件丢失时,您可以通过 --force 创建它,或指向 --config-path 到自定义位置。合并 --dry-run 使用这些选项可以预览JSON而无需进行任何更改。
默认情况下,CLI会启动服务器 uvx --from crowdsec-local-mcp crowdsec-mcp如果两者都没有 uvx 也不 uv 如果可用,它将回退到您当前的Python解释器;您可以用以下命令覆盖可执行文件 --command 以及工作目录 --cwd.
使用 stdio 目标
stdio 不修改任何文件。相反, init stdio 打印一个可粘贴的JSON代码段,您可以将其放入任何兼容stdio的MCP客户端配置中。当您想手动将服务器连接到尚未内置自动化支持的工具时,这很有用。
故障排除
如果您刚刚通过以下方式安装了mcp扩展 .mcpb 和 uv 或 uvx 不在标准路径中,请检查要配置的扩展设置 uv 路径。
日志记录
- MCP服务器将其日志文件写入操作系统的临时目录。在Linux/macOS上,这通常是
/tmp/crowdsec-mcp.log;在Windows上,它通过以下方式解析%TEMP%\crowdsec-mcp.log.
