GoPhish MCP服务器

一个完整的MCP服务器,用于与所有GoPhish API功能进行交互,提供完整的钓鱼模拟活动管理和分析功能。

  • by dan1t0
  • Python
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 dan1t0/gophish-mcp

使用说明

🎣 GoPhish MCP服务器

一个完整的MCP(模型上下文协议)服务器,用于与所有GoPhish API功能交互。

特性 • 安装 • 配置 • 用法 • 工具


📝 注: 此MCP已经过测试,可与GoPhish版本配合使用 0.11.0如果我得到足够的爱😊, 我可能会用新功能更新它!


✨ 主要特点

  • 🎯 完整的活动管理:完整的CRUD+高级分析和统计
  • 👥 组管理:使用搜索功能管理目标用户组
  • 📧 电子邮件模板:创建、编辑和管理电子邮件模板
  • 🌐 登录页:管理营销活动的登录页面
  • 📮 SMTP配置文件:配置电子邮件发送配置文件
  • 👤 用户管理:管理系统用户和管理员
  • 📊 分析和报告:详细统计、数据导出和全球分析
  • 🔍 实用工具:搜索、验证、复制和诊断

🚀 快速开始

安装

  1. 克隆此存储库
git clone <repository-url>
cd gophish-mcp
  1. 安装依赖项:
pip install -e .

配置

选项1:.env文件(推荐)

  1. 复制示例文件:
cp env.example .env
  1. 编辑 .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许可证获得许可。请参阅 许可证 文件以获取详细信息。