这是一个全面的模型上下文协议(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文件。