一个完整的MCP(模型上下文协议)服务器,用于与所有GoPhish API功能进行交互。
</div>📝 注意: 此MCP已测试并适用于GoPhish版本0.11.0。如果我收到足够的支持😊,我可能会更新它以添加新功能!
git clone <repository-url>
cd gophish-mcp
pip install -e .
cp env.example .env
.env:GOPHISH_URL=https://your-gophish-server:3333
GOPHISH_API_KEY=your-api-key-here
export GOPHISH_URL="https://your-gophish-server:3333"
export GOPHISH_API_KEY="your-api-key"
在项目目录中创建一个.env文件:
cp env.example .env
# 使用真实凭据编辑.env
将服务器添加到您的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"
]
}
}
}
重启您的MCP客户端(Claude、Cursor等)
🔒 安全提示: 凭据仅在服务器的
.env文件中配置,不在客户端JSON中。列表中的所有工具
autoApprove根据server.py中的API实现都是只读的。任何创建、更新或删除操作(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 | 删除页面 | ✏️ 写入 |
| 工具 | 描述 | 类型 |
|---|---|---|
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 | 获取所有活动的全局分析 | 📖 只读 |
一旦配置完成,您可以使用如下命令:
显示所有GoPhish活动
使用ID为1的模板创建名为“测试活动”的新活动
更新ID为5的活动,将其名称更改为“更新后的活动”
显示ID为3的活动的完整分析
获取所有活动的全局统计数据
显示活动2的事件
按名称搜索包含“钓鱼”字样的活动
显示所有活跃活动
获取过去7天内创建的活动
列出所有系统用户
创建新的管理员用户
搜索主题中包含“紧急”的模板
查找名称中包含“营销”的用户组
# 运行所有测试
python test.py all
# 运行只读测试
python test.py readonly
# 运行详细演示
python test.py demo
# 运行全面测试
python test.py comprehensive
.env中有有效的凭据pip install -e .有关更多测试详情,请参阅tests/README.md。
# 列出活动
python utils/list_campaigns.py
对于本地开发:
# 以开发模式安装
pip install -e .
# 直接运行服务器
python server.py
# 运行测试
python test.py all
为GoPhish社区制作,充满❤️
⭐ 如果您觉得有用,请给这个仓库点赞!
</div>