カスタム API + Brevo 連携
カスタム API + Brevo
すべてのプラットフォームに MCP サーバーがあるわけではありません。WooCommerce、BigCommerce、Magento、独自の CRM、あるいは REST API を備えた任意のシステムについては、データを Brevo につなぐコネクタエージェントを構築します。
2 つのアプローチ
アプローチ 1: コミュニティ MCP サーバー
お使いのプラットフォーム向けにコミュニティ製の MCP サーバーが存在するかどうかを確認します。
| プラットフォーム | コミュニティ MCP | ステータス |
|---|---|---|
| WooCommerce | woocommerce-mcp-server | コミュニティによる保守 |
| BigCommerce | MCP サーバーディレクトリ を確認 | 状況により異なります |
| Magento | MCP サーバーディレクトリ を確認 | 状況により異なります |
| Salesforce | 複数の選択肢があります | 活発なコミュニティ |
| Zendesk | Composio/Zapier 経由で利用できます | 活発 |
コミュニティ製のサーバーが存在する場合は、公式のものと同じように利用できます。Brevo MCP と並べて Claude の設定に追加してください。
アプローチ 2: HTTP ツールを使うエージェント
MCP サーバーが存在しないプラットフォームでは、Claude に組み込まれた HTTP 機能を使って REST API を直接呼び出し、その結果を MCP 経由で Brevo に書き込むエージェントを構築します。
カスタムコネクタエージェントの構築
ステップ 1: 接続元 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ステップ 2: エージェントを定義する
---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ステップ 3: 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" } } }}ステップ 4: エージェントを実行する
You: "Sync all WooCommerce customers from the last week to Brevo and add new customers to the Welcome Series list."
Claude: I'll sync your WooCommerce customers to Brevo.
Fetching customers modified in the last 7 days from WooCommerce...[Makes HTTP GET to your-store.com/wp-json/wc/v3/customers?modified_after=...]
Found 67 customers. Syncing to Brevo...[Uses brevo_contacts to create/update contacts][Uses brevo_lists to add 23 new customers to "Welcome Series"]
Sync complete:- 67 customers processed- 44 existing contacts updated- 23 new contacts created → added to Welcome Series- 0 skipped (all had valid emails)テンプレート: 汎用 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 failureMCP サーバーを本格的に構築すべきタイミング
同じプラットフォームに繰り返し接続していることに気づいたら、本格的な MCP サーバーの構築を検討してください。
| エージェントで十分な場合 | MCP サーバーを構築する場合 |
|---|---|
| 単発、または頻度の低い同期 | 本番環境での日次同期 |
| 連携のプロトタイプ作成 | チームや組織をまたいだ共有 |
| 単純な読み取り操作 | 複数ステップにまたがる複雑な操作 |
| 必要な API エンドポイントが 5 個未満 | API 全体のカバレッジが必要 |
カスタム MCP サーバーを構築するには、MCP 仕様 と、OpenAPI 仕様からサーバーを生成する Tajo の Integration Builder を参照してください。
次のステップ
- 連携レイヤーの概要、利用できるすべての連携機能
- Shopify + Brevo、公式 MCP の例
- エージェント仕様、エージェントの markdown 形式
- Brevo MCP サーバー、利用できる Brevo のモジュール