🎣 GoPhish MCP服务器
一个完整的MCP(模型上下文协议)服务器,用于与所有GoPhish API功能交互。
______________________________________________________________________
📝 注: 此MCP已经过测试,可与GoPhish版本配合使用 0.11.0如果我得到足够的爱😊, 我可能会用新功能更新它!
______________________________________________________________________
✨ 主要特点
- 🎯 完整的活动管理:完整的CRUD+高级分析和统计
- 👥 组管理:使用搜索功能管理目标用户组
- 📧 电子邮件模板:创建、编辑和管理电子邮件模板
- 🌐 登录页:管理营销活动的登录页面
- 📮 SMTP配置文件:配置电子邮件发送配置文件
- 👤 用户管理:管理系统用户和管理员
- 📊 分析和报告:详细统计、数据导出和全球分析
- 🔍 实用工具:搜索、验证、复制和诊断
🚀 快速开始
安装
- 克隆此存储库
git clone
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 campaignsCreate a new campaign called "Test Campaign" using template with ID 1Update campaign with ID 5 to change its name to "Updated Campaign"分析和报告
Show me the complete analysis of campaign with ID 3Get global statistics of all campaignsShow me events from campaign 2搜索和筛选
Search campaigns containing "phishing" in the nameShow me all active campaignsGet campaigns created in the last 7 days用户管理
List all system usersCreate a new administrator user高级搜索
Search templates containing "urgent" in the subjectFind 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 社区
⭐ 如果你觉得这个仓库有用,就把它标上!
