Custom API + Brevo Integration
Custom API + Brevo
Not every platform has an MCP server. For WooCommerce, BigCommerce, Magento, proprietary CRMs, or any system with a REST API, build a connector agent that bridges your data to Brevo.
Two Approaches
Approach 1: Community MCP Server
Check if a community MCP server exists for your platform:
| Platform | Community MCP | Status |
|---|---|---|
| WooCommerce | woocommerce-mcp-server | Community maintained |
| BigCommerce | Check MCP server directory | Varies |
| Magento | Check MCP server directory | Varies |
| Salesforce | Multiple options available | Active community |
| Zendesk | Available via Composio/Zapier | Active |
If a community server exists, use it the same way as official ones, add to your Claude config alongside Brevo MCP.
Approach 2: Agent with HTTP Tools
For platforms without MCP servers, build an agent that uses Claude’s built-in HTTP capabilities to call REST APIs directly, then writes to Brevo via MCP.
Building a Custom Connector Agent
Step 1: Understand the Source API
Document the key endpoints your agent needs:
# 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 couponsStep 2: Define the Agent
---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 runStep 3: Configure Brevo MCP
Connect only the Brevo modules your agent needs:
{ "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" } } }}Step 4: Run the Agent
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)Template: Generic REST API Connector
Use this template for any 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 failureWhen to Build a Full MCP Server
If you find yourself repeatedly connecting the same platform, consider building a proper MCP server:
| Just Use Agent | Build MCP Server |
|---|---|
| One-off or infrequent syncs | Daily production sync |
| Prototyping the integration | Shared across team/org |
| Simple read operations | Complex multi-step operations |
| < 5 API endpoints needed | Full API coverage needed |
To build a custom MCP server, see the MCP specification and Tajo’s Integration Builder for generating servers from OpenAPI specs.
Next Steps
- Integration Layer Overview, All available integrations
- Shopify + Brevo, Official MCP example
- Agent Specification, Agent markdown format
- Brevo MCP Server, Available Brevo modules