使用说明
🎣 GoPhish MCP服务器
一个完整的MCP(模型上下文协议)服务器,用于与所有GoPhish API功能交互。
📝 注: 此MCP已经过测试,可与GoPhish版本配合使用 0.11.0如果我得到足够的爱😊, 我可能会用新功能更新它!
✨ 主要特点
- 🎯 完整的活动管理:完整的CRUD+高级分析和统计
- 👥 组管理:使用搜索功能管理目标用户组
- 📧 电子邮件模板:创建、编辑和管理电子邮件模板
- 🌐 登录页:管理营销活动的登录页面
- 📮 SMTP配置文件:配置电子邮件发送配置文件
- 👤 用户管理:管理系统用户和管理员
- 📊 分析和报告:详细统计、数据导出和全球分析
- 🔍 实用工具:搜索、验证、复制和诊断
🚀 快速开始
安装
- 克隆此存储库
git clone <repository-url>
cd gophish-mcp
- 安装依赖项:
pip install -e .
配置
选项1:.env文件(推荐)
- 复制示例文件:
cp env.example .env
- 编辑
.env使用您的凭据:
GOPHISH_URL=https://your-gophish-server:3333
GOPHISH_API_KEY=your-api-key-here
选项2:环境变量
export GOPHISH_URL="https://your-gophish-server:3333"
export GOPHISH_API_KEY="your-api-key"
💻 与Claude、Cursor、VSCode、Kiro一起使用
步骤1:配置凭据(仅限一次)
创建 .env 项目目录中的文件:
cp env.example .env
# Edit .env with your real credentials
步骤2:配置MCP客户端
将服务器添加到MCP配置中(无凭据):
{
"mcpServers": {
"gophish": {
"command": "python",
"args": ["/path/to/your/gophish-mcp/server.py"],
"cwd": "/path/to/your/gophish-mcp",
"disabled": false,
"autoApprove": [
"gophish_get_campaigns",
"gophish_get_campaign",
"gophish_get_active_campaigns",
"gophish_get_completed_campaigns",
"gophish_get_recent_campaigns",
"gophish_get_latest_campaign",
"gophish_get_campaigns_summary",
"gophish_get_campaign_results",
"gophish_get_campaign_summary",
"gophish_get_campaign_analytics",
"gophish_get_global_analytics",
"gophish_get_system_status",
"gophish_search_campaigns",
"gophish_search_groups",
"gophish_search_templates",
"gophish_get_groups",
"gophish_get_templates",
"gophish_get_pages",
"gophish_get_smtp_profiles",
"gophish_get_users",
"gophish_get_campaign_by_status",
"gophish_get_campaign_by_date_range",
"gophish_get_campaign_targets",
"gophish_get_campaign_events"
]
}
}
}
步骤3:重新启动MCP客户端
重新启动MCP客户端(Claude、Cursor等)
🔒 安全说明: 凭据仅在服务器的
.env文件,不在客户端JSON中。中列出的所有工具
autoApprove根据中的API实现为只读server.py.任何创建、更新或删除操作(gophish_create_*,gophish_update_*,gophish_delete_*)将始终需要手动批准。
🛠️ 工具类别
| 类别 | 描述 |
|---|---|
| 📖 只读 | 这些工具仅读取数据,并由MCP客户端自动批准 |
| ✏️ 写 | 这些工具修改数据,需要手动批准以确保安全 |
📋 可用工具
🎯 活动(完整管理)
基本操作
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_campaigns |
获取所有活动 | 📖 只读 |
gophish_get_campaign |
获取特定活动的详细信息 | 📖 只读 |
gophish_create_campaign |
创建新活动 | ✏️ 写 |
gophish_update_campaign |
更新现有活动 | ✏️ 写 |
gophish_delete_campaign |
删除活动 | ✏️ 写 |
分析与统计
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_latest_campaign |
获取包含完整统计数据的最新活动 | 📖 只读 |
gophish_get_campaigns_summary |
获取最近N个活动的摘要 | 📖 只读 |
gophish_get_campaign_results |
获取活动的详细结果 | 📖 只读 |
gophish_get_campaign_summary |
获取活动统计摘要 | 📖 只读 |
gophish_get_campaign_analytics |
获取活动的完整分析 | 📖 只读 |
过滤器和搜索
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_active_campaigns |
获取活动 | 📖 只读 |
gophish_get_completed_campaigns |
获取已完成的活动 | 📖 只读 |
gophish_get_campaign_by_status |
按状态筛选活动 | 📖 只读 |
gophish_get_recent_campaigns |
获取最近N天的活动 | 📖 只读 |
gophish_get_campaign_by_date_range |
获取日期范围内的活动 | 📖 只读 |
gophish_search_campaigns |
按名称搜索活动 | 📖 只读 |
公用事业
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_campaign_targets |
获取活动的所有目标 | 📖 只读 |
gophish_get_campaign_events |
获取活动事件 | 📖 只读 |
👥 组(完整管理)
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_groups |
获取所有组 | 📖 只读 |
gophish_create_group |
创建新组 | ✏️ 写 |
gophish_update_group |
更新现有组 | ✏️ 写 |
gophish_delete_group |
删除组 | ✏️ 写 |
gophish_search_groups |
按名称搜索组 | 📖 只读 |
📧 电子邮件模板(完整管理)
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_templates |
获取所有模板 | 📖 只读 |
gophish_create_template |
创建新模板 | ✏️ 写 |
gophish_update_template |
更新现有模板 | ✏️ 写 |
gophish_delete_template |
删除模板 | ✏️ 写 |
gophish_search_templates |
按名称或主题搜索模板 | 📖 只读 |
🌐 登录页面(完整管理)
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_pages |
获取所有页面 | 📖 只读 |
gophish_create_page |
创建新页面 | ✏️ 写 |
gophish_update_page |
更新现有页面 | ✏️ 写 |
gophish_delete_page |
删除页面 | ✏️ 写 |
📮 SMTP配置文件(完整管理)
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_smtp_profiles |
获取所有SMTP配置文件 | 📖 只读 |
gophish_create_smtp_profile |
创建新的SMTP配置文件 | ✏️ 写 |
gophish_update_smtp_profile |
更新现有SMTP配置文件 | ✏️ 写 |
gophish_delete_smtp_profile |
删除SMTP配置文件 | ✏️ 写 |
👤 用户管理
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_users |
获取所有用户/管理员 | 📖 只读 |
gophish_create_user |
创建新用户 | ✏️ 写 |
gophish_update_user |
更新现有用户 | ✏️ 写 |
📊 全球分析和报告
| 工具 | 描述 | 类型 |
|---|---|---|
gophish_get_system_status |
获取系统状态和一般统计信息 | 📖 只读 |
gophish_get_global_analytics |
获取所有活动的全球分析 | 📖 只读 |
💡 使用示例
配置后,您可以使用以下命令:
基础管理
Show me all GoPhish campaigns
Create a new campaign called "Test Campaign" using template with ID 1
Update campaign with ID 5 to change its name to "Updated Campaign"
分析和报告
Show me the complete analysis of campaign with ID 3
Get global statistics of all campaigns
Show me events from campaign 2
搜索和筛选
Search campaigns containing "phishing" in the name
Show me all active campaigns
Get campaigns created in the last 7 days
用户管理
List all system users
Create a new administrator user
高级搜索
Search templates containing "urgent" in the subject
Find groups containing "marketing" in the name
🔒 安全
- ⚠️ 默认情况下,服务器禁用本地开发的SSL验证
- ✅ 确保在生产环境中使用HTTPS
- 🔑 确保API密钥的安全,不要共享
- 🛡️ 所有写入操作都需要有效的身份验证
🧪 测试
运行测试
# Run all tests
python test.py all
# Run read-only tests
python test.py readonly
# Run verbose demo
python test.py demo
# Run comprehensive tests
python test.py comprehensive
测试要求
- ✅ GoPhish服务器正在运行
- ✅ 中的有效凭据
.env - ✅ 已安装的依赖项:
pip install -e .
看 tests/README.md 有关测试的更多详细信息。
🛠️ 公用事业
实用脚本
# List campaigns
python utils/list_campaigns.py
🏗️ 发展
对于当地发展:
# Install in development mode
pip install -e .
# Run server directly
python server.py
# Run tests
python test.py all
📚 其他资源
制作❤️ 为了 GoPhish 社区
⭐ 如果你觉得这个仓库有用,就把它标上!
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。