JUHE API Marketplace
samihalawa avatar
MCP Server

Brevo MCP Server

A comprehensive MCP server providing Claude with full access to Brevo's marketing automation platform through the official SDK, featuring tools for email operations, contact management, campaigns, SMS, conversations, webhooks, e-commerce, and account management.

1
GitHub Stars
8/18/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

Brevo MCP Server

smithery badge

📧 Complete Brevo API Integration for Claude & Smithery using Official SDK

A comprehensive MCP server that provides Claude with full access to Brevo's marketing automation platform using the official @getbrevo/brevo Node.js SDK. Features 8 organized tools covering all major Brevo functionalities.

✨ Features

  • 🔧 Official Brevo SDK - Built with @getbrevo/brevo for maximum compatibility
  • 📧 Email Operations - Transactional emails, templates, tracking, events
  • 📱 SMS & WhatsApp - Send SMS, manage campaigns, WhatsApp integration
  • 👥 Contact Management - Contacts, lists, attributes, bulk operations
  • 🎯 Campaign Management - Email and SMS campaigns, scheduling, analytics
  • 💬 Conversations - Chat and conversation management
  • 🔗 Webhooks - Event-driven automation and notifications
  • 🛒 E-commerce - Orders, products, categories integration
  • 🏢 Account Management - Senders, domains, folders, account info
  • 🚀 Smithery Compatible - Ready for Smithery deployment
  • 🛡️ Type-Safe - Full TypeScript support

🚀 Quick Start

Option 1: Using Smithery (Recommended)

  1. Configure in Smithery:
    brevo-mcp:
      apiKey: "your-brevo-api-key"           # Required
      defaultSenderEmail: "your@domain.com" # Optional
      defaultSenderName: "Your Name"        # Optional
    

Option 2: Local Installation

  1. Install:

    npm install
    npm run build
    
  2. Set Environment Variables:

    export BREVO_API_KEY="your-brevo-api-key"
    export BREVO_DEFAULT_SENDER_EMAIL="your@domain.com"
    export BREVO_DEFAULT_SENDER_NAME="Your Name"
    
  3. Run:

    npm start
    

🛠️ Available Tools

1. contacts - Contact Management

Complete contact database operations with bulk capabilities.

Operations:

  • get - Retrieve contact by email/ID
  • create - Create new contact
  • update - Update contact information
  • delete - Delete contact
  • bulk_import - Import contacts in bulk
  • export - Export contacts
  • add_to_list / remove_from_list - List management
  • get_lists / create_list - Manage contact lists
  • get_attributes / create_attribute / update_attribute - Custom attributes

Example:

{
  "operation": "bulk_import",
  "contacts": [
    {
      "email": "user1@example.com",
      "attributes": {
        "FIRSTNAME": "John",
        "LASTNAME": "Doe"
      }
    }
  ]
}

2. email - Transactional Emails

Send emails, manage templates, track delivery and events.

Operations:

  • send - Send transactional email
  • send_template - Send using template
  • get_events - Track email events
  • get_templates - List email templates
  • create_template / update_template / delete_template - Template management
  • get_blocked_domains - Check blocked domains
  • get_email_statistics - Email analytics

Example:

{
  "operation": "send",
  "to": [{"email": "recipient@example.com", "name": "John Doe"}],
  "subject": "Welcome to our service",
  "htmlContent": "<h1>Welcome!</h1><p>Thank you for joining us.</p>",
  "sender": {"email": "noreply@yourcompany.com", "name": "Your Company"}
}

3. campaigns - Marketing Campaigns

Create and manage email and SMS marketing campaigns.

Operations:

  • get_email_campaigns / create_email_campaign / update_email_campaign
  • send_email_campaign / schedule_email_campaign / delete_email_campaign
  • get_sms_campaigns / create_sms_campaign / update_sms_campaign
  • send_sms_campaign / schedule_sms_campaign / delete_sms_campaign
  • get_campaign_statistics - Campaign analytics

Example:

{
  "operation": "create_email_campaign",
  "campaignData": {
    "name": "Newsletter Campaign",
    "subject": "Monthly Newsletter",
    "htmlContent": "<h1>Newsletter</h1>",
    "recipients": {"listIds": [1, 2]}
  }
}

4. sms - SMS Operations

Send transactional SMS and manage SMS campaigns.

Operations:

  • send - Send single SMS
  • send_batch - Send to multiple recipients
  • get_events - Track SMS events
  • get_statistics - SMS analytics

Example:

{
  "operation": "send_batch",
  "recipients": ["+1234567890", "+0987654321"],
  "content": "Your order is ready for pickup!",
  "sender": "YourBrand"
}

5. conversations - Chat Management

Handle customer conversations and chat interactions.

Operations:

  • get_conversations - List conversations
  • get_conversation - Get specific conversation
  • get_messages - Get conversation messages
  • send_message - Send message
  • update_conversation - Update conversation status

6. webhooks - Event Automation

Manage webhooks for real-time event notifications.

Operations:

  • get_webhooks / create_webhook / update_webhook / delete_webhook
  • get_webhook - Get specific webhook

Example:

{
  "operation": "create_webhook",
  "url": "https://your-app.com/brevo-webhook",
  "events": ["delivered", "opened", "clicked"],
  "description": "Email tracking webhook",
  "type": "transactional"
}

7. account - Account Management

Manage account settings, senders, domains, and folders.

Operations:

  • get_account - Account information
  • get_senders / create_sender / update_sender / delete_sender
  • get_domains / create_domain / validate_domain
  • get_folders / create_folder / update_folder / delete_folder

8. ecommerce - E-commerce Integration

Manage orders, products, and categories for e-commerce tracking.

Operations:

  • get_orders / create_order / get_order / update_order
  • get_products / create_product / update_product / delete_product
  • get_categories / create_category / update_category / delete_category

Example:

{
  "operation": "create_order",
  "orderData": {
    "id": "order-123",
    "email": "customer@example.com",
    "products": [
      {
        "id": "product-1",
        "name": "Widget",
        "price": 29.99,
        "quantity": 2
      }
    ],
    "total": 59.98
  }
}

📋 Configuration

Environment Variables

VariableDescriptionRequired
BREVO_API_KEYYour Brevo API key✅ Yes
BREVO_DEFAULT_SENDER_EMAILDefault sender email❌ No
BREVO_DEFAULT_SENDER_NAMEDefault sender name❌ No
DEBUGEnable debug logging❌ No

Smithery Configuration

version: 1
startCommand:
  type: stdio
  configSchema:
    type: object
    required: ['apiKey']
    properties:
      apiKey:
        type: string
        description: "Brevo API key for authentication (required)"
      defaultSenderEmail:
        type: string
        description: "Default sender email address"
      defaultSenderName:
        type: string
        description: "Default sender name"
      debug:
        type: boolean
        description: "Enable debug mode"
        default: false

🔧 Development

# Install dependencies
npm install

# Build the project
npm run build

# Run the server
npm start

# Test the server
npm test

# Run with Smithery
npm run smithery

📊 Common Use Cases

Bulk Contact Import

{
  "operation": "bulk_import",
  "contacts": [
    {
      "email": "user1@example.com",
      "attributes": {
        "FIRSTNAME": "John",
        "LASTNAME": "Doe",
        "COMPANY": "Acme Corp"
      }
    }
  ]
}

Email Campaign with Tracking

{
  "operation": "create_email_campaign",
  "campaignData": {
    "name": "Product Launch",
    "subject": "Introducing Our New Product",
    "htmlContent": "<h1>New Product Launch</h1>",
    "recipients": {"listIds": [1]},
    "scheduler": {
      "sendAt": "2024-01-01T10:00:00Z"
    }
  }
}

E-commerce Order Tracking

{
  "operation": "create_order",
  "orderData": {
    "id": "order-456",
    "email": "customer@example.com",
    "products": [
      {"id": "prod-1", "name": "T-Shirt", "price": 25.00, "quantity": 1}
    ],
    "total": 25.00,
    "status": "pending"
  }
}

🔒 Security

  • API keys are securely handled through environment variables
  • All communications use HTTPS through official Brevo SDK
  • Input validation on all tool parameters
  • Error handling prevents information leakage

📄 License

MIT License

🆘 Support


Built with ❤️ using the official Brevo Node.js SDK for maximum reliability and features

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source