Fastlymcp

Fastlymcp

🚀 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)

安装步骤

  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 收藏,11 浏览
  • system 提出于 2025-09-30 09:18

相似服务问题