Fastly NGWAF MCP 服务器是一款全面的模型上下文协议(MCP)服务器,可与 Fastly NGWAF(下一代 Web 应用防火墙)API 实现无缝集成。该服务器让 Claude 等 AI 助手能够通过自然语言交互来管理 Web 应用程序安全。
🛡️ 全面的 WAF 管理
🏢 多租户支持
🤖 对 AI 友好的接口
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 配置文件中:
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"
}
}
}
}
自然语言示例:"Create a rule to block SQL injection attacks on my website"
AI 响应:助手将自动执行以下操作:
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 封锁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"
"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"
该服务器通过直观的 MCP 工具公开完整的 Fastly NGWAF API。每个工具都映射到特定的 API 端点,同时自动处理身份验证、上下文解析和错误管理。
服务器遵守 Fastly API 的速率限制,并实现了适当的重试逻辑。
FastlyMCP/
├── server.js # 主要的 MCP 服务器实现
├── package.json # 依赖项和脚本
├── README.md # 本说明文档
└── .env.example # 环境变量模板
# 测试 API 连接性
npm start
# 在另一个终端/AI 会话中:
# test_connection()
身份验证失败
上下文错误
set_context({ corpName: "your-corp" })
discover_environment()
权限被拒绝
通过设置环境变量启用详细日志记录:
DEBUG=fastly-ngwaf npm start
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。