返回市场
门蒂克-MCP

门蒂克-MCP

作者:Cbrown358 星标更新:2025-07-11

项目介绍

Mautic MCP Server

一个全面的模型上下文协议(MCP)服务器,提供与Mautic营销自动化平台的完全集成。

GitHub Stars GitHub Issues GitHub License

🚀 快速开始

# 克隆并设置
git clone https://github.com/Cbrown35/mantic-MCP.git
cd mantic-MCP
npm install

# 配置您的Mautic凭据
cp .env.example .env
# 使用您的Mautic API凭据编辑.env文件

# 构建并运行
npm run build

然后将服务器添加到您的MCP配置中,并开始使用自然语言命令,例如:

  • "搜索所有电子邮件中包含gmail的联系人"
  • "创建一个名为John Doe的新联系人"
  • "列出所有电子邮件活动"

功能

此MCP服务器提供了对您的Mautic实例的完全访问权限,具有以下功能:

🔐 认证

  • 带有自动令牌刷新的OAuth2认证
  • 通过环境变量进行安全凭据管理

👥 联系人管理

  • create_contact - 创建带有自定义字段的新联系人
  • update_contact - 更新现有联系人信息
  • get_contact - 根据ID或电子邮件检索联系人详情
  • search_contacts - 使用过滤器和分页搜索联系人
  • delete_contact - 从Mautic中删除联系人
  • add_contact_to_segment - 将联系人添加到特定分段

📧 活动管理

  • list_campaigns - 获取所有活动及其状态和统计数据
  • get_campaign - 获取详细活动信息
  • create_campaign - 创建新活动
  • add_contact_to_campaign - 将联系人添加到活动中
  • create_campaign_with_automation - 创建带有完整事件自动化的活动(🔥 新)
  • execute_campaign - 手动执行/触发活动(🔥 新)
  • get_campaign_contacts - 获取活动中的联系人及其状态(🔥 新)

✉️ 邮件操作

  • send_email - 向特定联系人发送邮件
  • list_emails - 获取所有邮件模板和活动
  • get_email - 获取详细邮件信息
  • create_email_template - 创建新的邮件模板
  • get_email_stats - 获取邮件性能统计

📝 表单管理

  • list_forms - 获取所有表单及其提交次数
  • get_form - 获取表单详情和字段
  • get_form_submissions - 获取表单提交数据

🎯 分段管理

  • list_segments - 获取所有联系人分段
  • create_segment - 创建带有过滤器的新联系人分段
  • get_segment_contacts - 获取特定分段中的联系人

📊 分析与报告

  • get_contact_activity - 获取联系人交互历史
  • get_email_stats - 获取邮件性能统计
  • list_reports - 获取所有报告(⭐ 新)
  • create_report - 创建自定义报告(⭐ 新)

📎 内容管理

  • list_assets - 获取所有资产(PDF、图像、文档)(⭐ 新)
  • get_asset - 根据ID获取资产详情(⭐ 新)
  • create_asset - 创建新的资产(本地或远程)(⭐ 新)
  • list_pages - 获取所有着陆页面(⭐ 新)
  • create_page - 创建新的着陆页面(⭐ 新)
  • list_sms - 获取所有短信模板(⭐ 新)
  • create_sms - 创建短信模板(⭐ 新)

🏢 商业实体

  • list_companies - 获取所有公司(⭐ 新)
  • create_company - 创建新的公司(⭐ 新)
  • add_contact_to_company - 关联联系人与公司(⭐ 新)
  • create_note - 向联系人或公司添加笔记(⭐ 新)
  • get_contact_notes - 获取联系人的所有笔记(⭐ 新)
  • list_tags - 获取所有可用标签(⭐ 新)
  • create_tag - 创建新的标签(⭐ 新)
  • add_contact_tags - 向联系人添加标签(⭐ 新)
  • list_categories - 获取所有类别(⭐ 新)
  • create_category - 创建新的类别(⭐ 新)

🎯 高级功能

  • add_contact_points - 向联系人添加积分(📈 新)
  • subtract_contact_points - 从联系人中减去积分(📈 新)
  • list_stages - 获取所有生命周期阶段(📈 新)
  • change_contact_stage - 更改联系人的生命周期阶段(📈 新)
  • list_contact_fields - 获取所有联系人自定义字段(📈 新)
  • create_contact_field - 创建新的联系人自定义字段(📈 新)

🔧 集成与自动化

  • list_webhooks - 获取所有webhook(🔧 新)
  • create_webhook - 创建新的webhook(🔧 新)
  • upload_file - 将文件上传到Mautic(🔧 新)

安装

先决条件

  • Node.js(v16或更高版本)
  • npm 或 yarn
  • 具有API凭据的Mautic实例访问权限

设置

  1. 克隆仓库:

    git clone https://github.com/Cbrown35/mantic-MCP.git
    cd mantic-MCP
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    cp .env.example .env
    

    编辑.env并填写您的Mautic API凭据:

    MAUTIC_BASE_URL=https://your-mautic-instance.com/api/
    MAUTIC_CLIENT_ID=your_client_id_here
    MAUTIC_CLIENT_SECRET=your_client_secret_here
    MAUTIC_TOKEN_ENDPOINT=https://your-mautic-instance.com/oauth/v2/token
    
  4. 构建服务器:

    npm run build
    
  5. 配置MCP设置: 将服务器添加到您的MCP配置文件中:

    {
      "mcpServers": {
        "mautic-server": {
          "command": "node",
          "args": ["/path/to/mautic-server/build/index.js"],
          "env": {
            "MAUTIC_BASE_URL": "https://your-mautic-instance.com/api/",
            "MAUTIC_CLIENT_ID": "your_client_id",
            "MAUTIC_CLIENT_SECRET": "your_client_secret",
            "MAUTIC_TOKEN_ENDPOINT": "https://your-mautic-instance.com/oauth/v2/token"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

配置

环境变量

服务器需要以下环境变量:

变量描述示例
MAUTIC_BASE_URL您的Mautic API基础URLhttps://your-mautic.com/api/
MAUTIC_CLIENT_IDOAuth2客户端ID1_abc123...
MAUTIC_CLIENT_SECRETOAuth2客户端密钥secret123...
MAUTIC_TOKEN_ENDPOINTOAuth2令牌端点https://your-mautic.com/oauth/v2/token

获取Mautic API凭据

  1. 以管理员身份登录您的Mautic实例
  2. 前往设置 → 配置 → API设置
  3. 启用API访问
  4. 前往设置 → API凭据
  5. 创建一个新的带有OAuth2授权的API凭据
  6. 记下客户端ID和客户端密钥

使用示例

一旦服务器运行,您可以通过MCP工具调用来使用它:

创建联系人

创建一个新联系人,电子邮件为"john@example.com",名字为"John",姓氏为"Doe"

搜索联系人

搜索所有电子邮件地址中包含"gmail"的联系人

发送邮件

将邮件模板ID 5发送给联系人ID 123

获取活动统计

获取活动ID 10的详细信息

列出表单

显示所有已发布的表单及其提交次数

API端点

服务器连接到您的Mautic实例在https://mailer.dzind.com/api/,并使用以下主要端点:

  • /contacts - 联系人管理
  • /campaigns - 活动操作
  • /emails - 邮件管理
  • /forms - 表单操作
  • /segments - 分段管理

错误处理

服务器包括全面的错误处理:

  • 自动OAuth2令牌刷新
  • 来自Mautic API的详细错误消息
  • 对认证失败的优雅处理
  • 对瞬时错误的重试逻辑

安全性

  • 所有凭据都存储为环境变量
  • OAuth2令牌会自动刷新
  • 不记录或暴露任何敏感数据
  • 与Mautic API的安全HTTPS通信

开发

要修改或扩展服务器:

  1. 编辑源代码在src/index.ts
  2. 构建服务器:npm run build
  3. 服务器将自动重新加载您的更改

🚀 部署

生产部署

  1. 克隆并构建:

    git clone https://github.com/Cbrown35/mantic-MCP.git
    cd mantic-MCP
    npm install
    npm run build
    
  2. 在生产环境中设置环境变量

  3. 配置您的MCP客户端指向构建的服务器

  4. 监控日志以查找任何认证或API问题

Docker部署(即将推出)

计划支持Docker以实现更简单的部署和扩展。

🤝 贡献

我们欢迎贡献!这是如何开始的:

开发设置

  1. 在GitHub上分叉仓库

  2. 克隆您的分叉:

    git clone https://github.com/yourusername/mantic-MCP.git
    cd mantic-MCP
    
  3. 创建一个特性分支:

    git checkout -b feature/your-feature-name
    
  4. 安装依赖项:

    npm install
    
  5. 进行更改并彻底测试

  6. 构建和测试:

    npm run build
    # 使用真实的Mautic实例测试您的更改
    
  7. 提交和推送:

    git add .
    git commit -m "添加您的特性描述"
    git push origin feature/your-feature-name
    
  8. 在GitHub上创建一个拉取请求

贡献指南

  • 遵循TypeScript最佳实践
  • 添加全面的错误处理
  • 为新功能更新文档
  • 尽可能使用真实Mautic实例进行测试
  • 维持向后兼容性

报告问题

发现了一个bug或有功能请求?请打开一个问题,包括:

  • 清晰的问题或功能描述
  • 复现步骤(对于bug)
  • 您的环境细节(Node.js版本、Mautic版本等)
  • 预期行为与实际行为

📄 许可证

本项目根据MIT许可证发布 - 查看LICENSE文件了解详情。

🙏 致谢

支持

此服务器提供了与Mautic REST API的全面集成。对于具体的API文档,请参考您的Mautic实例的API文档。

获取帮助