FastlyMCP

FastlyMCP

🚀 Fastly NGWAF MCP服务器

这是一个全面的模型上下文协议(MCP)服务器,可与Fastly NGWAF(下一代Web应用防火墙)API实现无缝集成。该服务器使Claude等AI助手能够通过自然语言交互来管理Web应用程序的安全。

✨ 主要特性

🛡️ 全面的WAF管理

  • 创建、读取、更新和删除安全规则
  • 管理IP允许/阻止列表
  • 配置速率限制和警报
  • 监控安全事件和分析数据

🏢 多租户支持

  • 支持企业和站点级别的管理
  • 具备上下文感知操作能力
  • 可跨多个站点进行批量操作

🤖 对AI友好的界面

  • 支持使用自然语言创建规则
  • 具备智能威胁模式检测功能
  • 可自动提供安全策略建议

📦 安装指南

前提条件

  • Node.js 18+
  • 拥有具备API访问权限的Fastly NGWAF账户
  • 支持MCP的AI助手(如Claude Desktop等)

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/FastlyMCP.git
cd FastlyMCP
  1. 安装依赖项
npm install
  1. 配置环境变量(可选)
# 创建.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
  1. 启动服务器
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响应:助手将自动执行以下操作:

  1. 检测指令意图(创建安全规则)
  2. 识别威胁类型(SQL注入)
  3. 生成适当的规则条件
  4. 将规则应用到已配置的站点

🔧 技术细节

可用工具

认证与设置

  • 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 - 阻止恶意IP
  • manage_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
  • 用户管理功能
  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-30 09:33

相似服务问题