Skip to main content
Glama
samihalawa

Brevo MCP Server

Brevo MCP Server

šŸ“§ 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

Related MCP server: Tembo MCP Server

šŸš€ Quick Start

  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

Variable

Description

Required

BREVO_API_KEY

Your Brevo API key

āœ… Yes

BREVO_DEFAULT_SENDER_EMAIL

Default sender email

āŒ No

BREVO_DEFAULT_SENDER_NAME

Default sender name

āŒ No

DEBUG

Enable 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/samihalawa/brevo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server