滴注MCP服务器
](https://www.npmjs.com/package/@gravitykit/drip-mcp-server)  ](https://nodejs.org) 
一个模型上下文协议(MCP)服务器,提供与 滴落 电子邮件营销自动化平台。该服务器使Claude等人工智能助手能够与Drip的API交互,用于用户管理、活动自动化和分析跟踪。
🌟 特性
核心能力
- 🧑🤝🧑 用户管理 -使用完全自定义字段支持创建、更新、删除和搜索订阅者
- 🏷️ 标签操作 -应用和删除标签以实现分割和自动化
- 📧 活动管理 -列出活动并管理订阅者注册
- 🔄 工作流程自动化 -控制工作流和订阅者参与
- 📊 事件跟踪 -跟踪自定义事件以实现行为自动化
- 💰 电子商务整合 -创纪录的购买和转换
- 📝 表单和广播访问 -检索表格和广播信息
- ⚡ 批量操作 -高效处理批量用户操作
- 🔍 高级搜索 -使用复杂的筛选条件查找订阅者
技术特性
- 🛡️ 自动速率限制 -利用指数退避处理Drip的API限值
- 🔧 智能现场测绘 -自动组织标准和自定义字段
- 🎯 错误处理 -调试的详细错误消息
- 🧪 综合测试 -包括单元和集成测试套件
- 🔍 MCP检查员支持 -内置开发调试界面
📦 安装
先决条件
- Node.js 20.0.0或更高版本
- npm或yarn包管理器
- 具有API访问权限的滴水帐户
- MCP兼容客户端(例如。, 克劳德桌面)
软件包安装
# Using npm
npm install @gravitykit/drip-mcp-server
# Using yarn
yarn add @gravitykit/drip-mcp-server
# For global installation
npm install -g @gravitykit/drip-mcp-server来源
# Clone the repository
git clone https://github.com/GravityKit/drip-mcp-server.git
cd drip-mcp-server
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your credentials🔑 配置
获取API凭据
- API密钥:
- 登录到您的 滴水账户 - 引导到 设置 → 我的用户设置 → API - 复制API密钥 - 直接链接:https://www.getdrip.com/user/edit
- 帐户ID:
- 在中找到 设置 → 基本信息 - 也可以在您的Drip仪表板URL中看到 - 格式:数字ID(例如。, 12345678)
环境变量
创建一个 .env 项目根目录中的文件:
DRIP_API_KEY=your_api_key_here
DRIP_ACCOUNT_ID=your_account_id_hereClaude桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"drip": {
"command": "npx",
"args": ["@gravitykit/drip-mcp-server"],
"env": {
"DRIP_API_KEY": "your_api_key_here",
"DRIP_ACCOUNT_ID": "your_account_id_here"
}
}
}
}替代方案:使用本地安装
{
"mcpServers": {
"drip": {
"command": "node",
"args": ["/path/to/drip-mcp-server/src/index.js"],
"env": {
"DRIP_API_KEY": "your_api_key_here",
"DRIP_ACCOUNT_ID": "your_account_id_here"
}
}
}
}🚀 用法
快速开始
配置后,MCP服务器通过标准化工具公开Drip功能。您的AI助手可以使用自然语言与这些工具进行交互。
AI助手提示示例
"Add john@example.com to my Drip subscribers with the tag 'customer'"
"Find all subscribers tagged as 'vip' who joined this month"
"Track a 'Product Viewed' event for user@example.com with product_id ABC123"
"Start the 'Welcome Series' workflow for new@subscriber.com"
"Show me the last 10 unsubscribes and their reasons"可用工具
用户管理
| 工具 | 说明 |
|---|---|
drip_create_subscriber | 创建或更新订阅者 |
drip_list_subscribers | 按页码列出所有订阅者 |
drip_get_subscriber | 通过ID或电子邮件获取特定订阅者 |
drip_delete_subscriber | 永久删除订阅者 |
drip_search_subscribers | 使用过滤器进行高级搜索 |
drip_batch_create_subscribers | 批量创建/更新(最多1000个) |
标签和细分
| 工具 | 说明 |
|---|---|
drip_tag_subscriber | 将标签应用于订阅者 |
drip_remove_tag | 从订阅者中删除标签 |
活动和工作流程
| 工具 | 说明 |
|---|---|
drip_list_campaigns | 列出所有活动 |
drip_subscribe_to_campaign | 将订阅者添加到活动 |
drip_list_workflows | 列出所有工作流 |
drip_activate_workflow | 激活工作流 |
drip_pause_workflow | 暂停工作流 |
drip_start_workflow | 为订阅者启动工作流 |
drip_remove_from_workflow | 从工作流中删除订阅者 |
分析和跟踪
| 工具 | 说明 |
|---|---|
drip_track_event | 跟踪自定义事件 |
drip_record_conversion | 记录转换 |
drip_record_purchase | 记录购买 |
drip_recent_unsubscribes | 获取最近的取消订阅 |
drip_unsubscribe_stats | 获取取消订阅统计信息 |
表格和广播
| 工具 | 说明 |
|---|---|
drip_list_forms | 列出所有表单 |
drip_get_form | 获取特定表单详细信息 |
drip_list_broadcasts | 列出所有广播 |
drip_get_broadcast | 获取特定的广播详细信息 |
代码示例
创建订阅者
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"tags": ["customer", "newsletter"],
"custom_fields": {
"company": "Acme Corp",
"plan": "premium"
},
"time_zone": "America/New_York",
"eu_consent": "granted"
}跟踪事件
{
"email": "user@example.com",
"action": "Viewed Product",
"properties": {
"product_id": "SKU-12345",
"product_name": "Premium Widget",
"price": 99.99,
"category": "Widgets"
},
"occurred_at": "2024-01-15T10:30:00Z"
}高级搜索
{
"tags": ["vip", "customer"],
"created_after": "2024-01-01T00:00:00Z",
"custom_field_filters": {
"lifetime_value": { "greater_than": 1000 },
"plan": "premium"
},
"status": "active",
"per_page": 100
}🧪 发展
以开发模式运行
# Watch mode with auto-restart
npm run dev
# Standard mode
npm start使用MCP检查器
MCP检查器提供了一个基于web的用户界面,用于测试和调试:
# Launch the inspector
npm run inspect特征:
- 交互式工具测试
- 实时消息监控
- 架构验证
- 请求/响应检查
访问检查员 http://localhost:5173 运行命令后。
测试
# Run all tests
npm run test:all
# Run specific test suites
npm test # Core functionality
npm run test:unit # Unit tests (no network)
npm run test:validation # Input validation
npm run test:names # Field handling
npm run test:unsubscribes # Unsubscribe tracking项目结构
drip-mcp-server/
├── src/
│ ├── index.js # MCP server implementation
│ ├── drip-client.js # Drip API client wrapper
│ └── tests/ # Test suites
│ ├── run.js # Test runner
│ ├── drip-client.test.js
│ ├── server-tools.test.js
│ └── server-e2e.test.js
├── package.json
├── mcp.json # MCP Inspector config
├── .env.example # Environment template
├── LICENSE # MIT license
└── README.md # Documentation🔒 安全最佳实践
- API密钥管理
- 永远不要将API密钥提交到版本控制 - 使用环境变量或安全密钥管理 - 定期旋转API键 - 尽可能使用最少特权的API密钥
- 数据保护
- 根据隐私法规(GDPR、CCPA)处理用户数据 - 实施适当的同意管理 - 仅使用安全连接(HTTPS)
- 速率限制
- 遵守Drip的API限制(3600次请求/小时) - 实现重试的指数回退 - 监控API使用情况以避免违反限制
🐛 故障排除
常见问题
身份验证错误(401)
- 原因:API密钥或帐户ID无效
- 解决方案:验证Drip设置和环境变量中的凭据
权限错误(403)
- 原因:API密钥缺少所需的权限
- 解决方案:检查Drip帐户设置中的API密钥权限
速率限制(429)
- 原因:超过API费率限制
- 解决方案:服务器自动重试并回退;如果持续存在,则降低请求频率
现场测绘问题
- 原因:字段放置不正确(标准与自定义)
- 解决方案:服务器自动处理;检查字段名称是否与滴水配置匹配
调试模式
启用详细日志记录:
DEBUG=* npm start📚 API文档
字段类型
标准字段(根级别)
email(必填)first_namelast_nameuser_idtime_zoneeu_consenteu_consent_message
自定义字段(嵌套)
所有其他字段都会自动放置在 custom_fields:
companyphoneaddress1,address2city,state,zip,country- 任何自定义数据字段
速率限制
| 操作类型 | 限制 | 窗口 |
|---|---|---|
| 个人请求 | 3600 | 每小时 |
| 批量操作 | 50000 | 每小时 |
| 并发请求 | 50 | 同时 |
错误响应
| 状态代码 | 描述 | 所需操作 |
|---|---|---|
| 401 | 未经授权 | 检查API凭据 |
| 403 | 禁止 | 验证权限 |
| 422 | 验证错误 | 修复请求参数 |
| 429 | 速率受限 | 等待并重试 |
| 500 | 服务器错误 | 如果持续存在,请联系支持人员 |
❓ 常见问题
我可以通过API创建广播吗?
不,Drip API提供对广播的只读访问。使用Drip web界面创建广播。
如何处理欧盟同意?
使用 eu_consent 具有值的字段: granted, denied,或 pending.包括 eu_consent_message 用于审计跟踪。
活动和工作流之间有什么区别?
- 活动:定时电子邮件系列
- 工作流:由事件或条件触发的自动序列
我可以批量删除订阅者吗?
不,为了数据安全,Drip需要单独删除。使用 drip_delete_subscriber 对于每个订阅者。
我如何追踪收入?
使用 drip_record_purchase 随着 value 以美分为单位的字段(例如。, 9999 99.99美元)。
🤝 贡献
我们欢迎捐款!请遵循以下指南:
- 分叉存储库 并创建一个特征分支
- 编写测试 对于新功能
- 遵循代码风格 (ESM、异步/等待、明确命名)
- 更新文档 API变更
- 提交拉取请求 描述清晰
开发指南
- 将Node.js 20+与ES模块一起使用
- 保持测试覆盖率在80%以上
- 遵循语义版本控制
- 编写描述性提交消息
- 尽量减少依赖关系
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 支持
对于此MCP服务器
- 📧 电子邮件:support@gravitykit.com
- 🐛 问题:
- 💬 讨论:
用于滴漏API
对于MCP协议
🙏 致谢
- 与 模型上下文协议SDK
- 由...驱动 滴落 电子邮件营销平台
- 由开发 重力 Kit
______________________________________________________________________
由以下材料制成❤️ 通过GravityKit
