自定义 API + Brevo 集成
自定义 API + Brevo
并非每个平台都有 MCP 服务器。对于 WooCommerce、BigCommerce、Magento、专有 CRM,或任何具有 REST API 的系统, 构建一个连接代理,将您的数据桥接到 Brevo。
两种方式
方式一:社区 MCP 服务器
查看是否存在适用于您平台的社区 MCP 服务器:
| 平台 | 社区 MCP | 状态 |
|---|---|---|
| WooCommerce | woocommerce-mcp-server | 社区维护 |
| BigCommerce | 查看 MCP 服务器目录 | 不定 |
| Magento | 查看 MCP 服务器目录 | 不定 |
| Salesforce | 多个选项可用 | 活跃社区 |
| Zendesk | 通过 Composio/Zapier 可用 | 活跃 |
如果存在社区服务器,与官方服务器同样使用, 将其与 Brevo MCP 一起添加到 Claude 配置中。
方式二:带 HTTP 工具的代理
对于没有 MCP 服务器的平台,构建一个代理,使用 Claude 内置的 HTTP 功能直接调用 REST API,然后通过 MCP 写入 Brevo。
构建自定义连接代理
第一步:了解源 API
记录代理所需的关键端点:
# Example: WooCommerce REST APIsource_api: base_url: "https://your-store.com/wp-json/wc/v3" auth: Basic (consumer_key:consumer_secret) endpoints: - GET /customers # List customers - GET /customers/{id} # Get customer details - GET /orders # List orders - GET /orders/{id} # Get order details - GET /products # List products - GET /coupons # List coupons第二步:定义代理
---name: woocommerce-brevo-syncdescription: Sync WooCommerce customers and orders to Brevoversion: 1.0.0temperature: 0.1tools: - brevo_contacts - brevo_attributes - brevo_lists - brevo_email_campaign_managementtriggers: - schedule: "0 */6 * * *" - webhook: /agents/woocommerce/sync method: POST---
# WooCommerce → Brevo Sync Agent
Connect WooCommerce store data to Brevo for engagement campaigns.
## Source API
- **Base URL**: https://your-store.com/wp-json/wc/v3- **Authentication**: Basic Auth with consumer key/secret- **Key endpoints**: /customers, /orders, /products
## Sync Strategy
### Customer Sync1. GET /customers?modified_after={last_sync_time}2. For each customer: - Map WooCommerce fields to Brevo attributes - Create or update Brevo contact - Add to appropriate list based on order history
### Order Event Sync1. GET /orders?after={last_sync_time}&status=completed2. For each order: - Track "order_completed" event in Brevo - Update contact attributes (order_count, total_spent) - Trigger post-purchase campaign if applicable
## Field Mapping
| WooCommerce | Brevo Attribute ||-------------|-----------------|| email | EMAIL || first_name | FIRSTNAME || last_name | LASTNAME || billing.phone | SMS || orders_count | ORDER_COUNT || total_spent | TOTAL_SPENT || date_created | CUSTOMER_SINCE || role | CUSTOMER_TYPE |
## API Call Pattern
For each sync operation, the agent should:1. Call WooCommerce REST API to fetch data2. Transform the response to Brevo's expected format3. Call Brevo MCP tools to create/update contacts4. Log sync results for monitoring
## Rules- Respect WooCommerce API rate limits (default: 25 req/10 seconds)- ONLY sync customers with valid email addresses- Implement incremental sync using modified_after parameter- Store last sync timestamp for next run第三步:配置 Brevo MCP
仅连接代理所需的 Brevo 模块:
{ "mcpServers": { "brevo_contacts": { "url": "https://mcp.brevo.com/v1/brevo_contacts/mcp", "headers": { "Authorization": "Bearer your-brevo-token" } }, "brevo_email": { "url": "https://mcp.brevo.com/v1/brevo_email_campaign_management/mcp", "headers": { "Authorization": "Bearer your-brevo-token" } }, "brevo_lists": { "url": "https://mcp.brevo.com/v1/brevo_lists/mcp", "headers": { "Authorization": "Bearer your-brevo-token" } } }}第四步:运行代理
您:"将过去一周的所有 WooCommerce 客户同步到 Brevo, 并将新客户加入 Welcome Series 列表。"
Claude:我将把您的 WooCommerce 客户同步到 Brevo。
正在从 WooCommerce 获取过去 7 天内修改的客户...[向 your-store.com/wp-json/wc/v3/customers?modified_after=... 发送 HTTP GET 请求]
找到 67 名客户。正在同步到 Brevo...[使用 brevo_contacts 创建/更新联系人][使用 brevo_lists 将 23 名新客户加入"Welcome Series"]
同步完成:- 67 名客户已处理- 44 个现有联系人已更新- 23 个新联系人已创建 → 加入 Welcome Series- 0 个已跳过(所有客户均有有效邮箱)模板:通用 REST API 连接器
对任何 REST API 使用此模板:
---name: {platform}-brevo-connectordescription: Sync {platform} data to Brevo for engagementversion: 1.0.0temperature: 0.1tools: - brevo_contacts - brevo_attributes - brevo_liststriggers: - schedule: "0 */6 * * *"---
# {Platform} → Brevo Connector
## Source API Configuration- **Base URL**: {api_base_url}- **Auth**: {auth_method} ({details})- **Rate Limit**: {rate_limit}
## Data to Sync
### Contacts- Source endpoint: {endpoint}- Brevo mapping: {field_map}- Sync frequency: Every 6 hours- Incremental: Use modified_after / updated_since parameter
### Events- Source endpoint: {endpoint}- Brevo event name: {event_name}- Trigger: When {condition}
## Sync Logic1. Fetch changed records from source since last sync2. Transform to Brevo format3. Upsert contacts via brevo_contacts4. Track events for campaign triggers5. Log results and update sync cursor
## Error Handling- Retry failed API calls 3 times with exponential backoff- Skip individual records that fail validation- Report errors in sync summary- NEVER stop entire sync for single record failure何时构建完整的 MCP 服务器
如果您发现自己反复连接同一个平台,请考虑构建专用的 MCP 服务器:
| 仅使用代理 | 构建 MCP 服务器 |
|---|---|
| 一次性或不频繁的同步 | 每日生产同步 |
| 原型化集成 | 团队/组织共享 |
| 简单读取操作 | 复杂多步骤操作 |
| 需要少于 5 个 API 端点 | 需要完整 API 覆盖 |
要构建自定义 MCP 服务器,请参阅 MCP 规范 和 Tajo 的 Integration Builder。
后续步骤
- 集成层概述, 所有可用集成
- Shopify + Brevo, 官方 MCP 示例
- 代理规范, 代理 markdown 格式
- Brevo MCP 服务器, 可用的 Brevo 模块