README
🚀 Fastly NGWAF MCP 服务器
Fastly NGWAF MCP 服务器是一款全面的模型上下文协议(MCP)服务器,可与 Fastly NGWAF(下一代 Web 应用防火墙)API 实现无缝集成。该服务器让 Claude 等 AI 助手能够通过自然语言交互来管理 Web 应用程序安全。
✨ 主要特性
🛡️ 全面的 WAF 管理
- 创建、读取、更新和删除安全规则
- 管理 IP 允许/阻止列表
- 配置速率限制和警报
- 监控安全事件和分析数据
🏢 多租户支持
- 支持企业和站点级别的管理
- 具备上下文感知操作能力
- 可跨多个站点进行批量操作
🤖 对 AI 友好的接口
- 支持使用自然语言创建规则
- 能够智能检测威胁模式
- 可自动提供安全策略建议
📦 安装指南
前提条件
- Node.js 18 及以上版本
- 具有 API 访问权限的 Fastly NGWAF 账户
- 兼容 MCP 的 AI 助手(如 Claude Desktop)
安装步骤
- 克隆仓库
git clone https://github.com/yourusername/FastlyMCP.git
cd FastlyMCP
- 安装依赖项
npm install
- 配置环境变量(可选)
# 创建 .env 文件
FASTLY_NGWAF_EMAIL=your-email@example.com
FASTLY_NGWAF_TOKEN=your-api-token
FASTLY_NGWAF_DEFAULT_CORP=your-corp-name
FASTLY_NGWAF_DEFAULT_SITE=your-site-name
- 启动服务器
npm start
📚 详细文档
Claude Desktop 集成
将以下内容添加到你的 Claude Desktop 配置文件中:
Windows:%APPDATA%\Claude\claude_desktop_config.json
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fastly-ngwaf": {
"command": "node",
"args": ["path/to/FastlyMCP/server.js"],
"env": {
"FASTLY_NGWAF_EMAIL": "your-email@example.com",
"FASTLY_NGWAF_TOKEN": "your-api-token"
}
}
}
}
基于 AI 的交互
自然语言示例:"Create a rule to block SQL injection attacks on my website"
AI 响应:助手将自动执行以下操作:
- 识别意图(创建安全规则)
- 确定威胁类型(SQL 注入)
- 生成适当的规则条件
- 将规则应用到你配置的站点
💻 使用示例
可用工具
身份验证与设置
set_credentials- 配置 API 凭证test_connection- 验证 API 连接性set_context- 设置默认企业/站点上下文discover_environment- 探索可用资源
规则管理
list_corp_rules/list_site_rules- 列出安全规则create_corp_rule/create_site_rule- 创建新规则delete_corp_rule/delete_site_rule- 删除规则
安全监控
list_events- 查看安全事件search_requests- 搜索请求日志get_suspicious_ips- 识别威胁源expire_event- 手动解除 IP 封锁
IP 列表管理
manage_whitelist- 允许/阻止 IP 地址manage_blacklist- 阻止恶意 IPmanage_lists- 自定义 IP/国家/字符串列表
分析与报告
get_analytics- 获取安全指标和趋势get_corp_overview- 获取高级攻击摘要manage_alerts- 配置监控警报
高级功能
manage_cloudwaf- 管理 CloudWAF 实例manage_users- 管理用户访问权限
常见用例
🚨 事件响应
"An IP address 1.2.3.4 is attacking my site, block it immediately"
- AI 自动识别威胁
- 将 IP 添加到黑名单并设置适当的封锁时长
- 确认封锁已生效
🛡️ 主动安全防护
"Set up protection against the latest OWASP top 10 vulnerabilities"
- 创建全面的规则集
- 配置适当的阈值
- 设置监控警报
📊 安全分析
"Show me attack trends from the past month and suggest improvements"
- 分析历史攻击数据
- 识别模式和威胁源
- 建议规则优化方案
🔧 批量管理
"Apply the same security rules from site A to sites B, C, and D"
- 导出现有规则配置
- 调整规则以适应不同站点
- 批量应用规则并进行验证
🔧 技术细节
API 参考
该服务器通过直观的 MCP 工具公开完整的 Fastly NGWAF API。每个工具都映射到特定的 API 端点,同时自动处理身份验证、上下文解析和错误管理。
速率限制
服务器遵守 Fastly API 的速率限制,并实现了适当的重试逻辑。
开发
项目结构
FastlyMCP/
├── server.js # 主要的 MCP 服务器实现
├── package.json # 依赖项和脚本
├── README.md # 本说明文档
└── .env.example # 环境变量模板
测试
# 测试 API 连接性
npm start
# 在另一个终端/AI 会话中:
# test_connection()
故障排除
常见问题
身份验证失败
- 验证电子邮件和 API 令牌是否正确
- 确保令牌具有适当的权限
- 检查 Fastly 账户状态
上下文错误
- 设置默认企业:
set_context({ corpName: "your-corp" }) - 验证企业/站点名称是否存在:
discover_environment()
权限被拒绝
- 检查用户角色是否具有必要的权限
- 在 Fastly 仪表板中验证站点访问权限
调试模式
通过设置环境变量启用详细日志记录:
DEBUG=fastly-ngwaf npm start
安全注意事项
- 安全存储 API 凭证(使用环境变量或安全凭证管理器)
- 对 API 令牌使用最小权限原则
- 定期轮换 API 凭证
- 监控是否存在未经授权的 API 使用情况
- 保持依赖项更新
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
支持
更新日志
v1.0.0
- 初始版本,全面覆盖 NGWAF API
- 实现 MCP 服务器
- 规则管理(CRUD 操作)
- IP 列表管理
- 分析和监控
- 支持 CloudWAF
- 用户管理功能
微信扫一扫