brevo-mcp
Multi-Channel Platform (MCP) for Brevo API integration with Claude
Documentation
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
🚀 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" # OptionalOption 2: Local Installation
1. Install:
npm install
npm run build2. 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": "Welcome!Thank you for joining us.",
"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": "Newsletter",
"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": "New Product Launch",
"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
- Issues: Report on GitHub
- Brevo API Docs: https://developers.brevo.com/
- Official SDK: https://github.com/getbrevo/brevo-node
Built with ❤️ using the official Brevo Node.js SDK for maximum reliability and features
Frequently asked questions
What is brevo-mcp?
brevo-mcp is Multi-Channel Platform (MCP) for Brevo API integration with Claude
How do I install brevo-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is brevo-mcp open source?
Yes — it is hosted on GitHub at https://github.com/samihalawa/brevo-mcp and has 1 stars.
Related MCP tools
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Fay是一个帮助数字人(2.5d、3d、移动、pc、网页)或大语言模型(openai兼容、deepseek)连通业务系统的mcp框架。 JavaScript-based implementation. Trusted by 12000+ developers.
CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP