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/brevofor 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)
- Configure in Smithery:
brevo-mcp: apiKey: "your-brevo-api-key" # Required defaultSenderEmail: "your@domain.com" # Optional defaultSenderName: "Your Name" # Optional
Option 2: Local Installation
Install:
npm install npm run buildSet 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"Run:
npm start
🛠️ Available Tools
1. contacts - Contact Management
Complete contact database operations with bulk capabilities.
Operations:
get- Retrieve contact by email/IDcreate- Create new contactupdate- Update contact informationdelete- Delete contactbulk_import- Import contacts in bulkexport- Export contactsadd_to_list/remove_from_list- List managementget_lists/create_list- Manage contact listsget_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 emailsend_template- Send using templateget_events- Track email eventsget_templates- List email templatescreate_template/update_template/delete_template- Template managementget_blocked_domains- Check blocked domainsget_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_campaignsend_email_campaign/schedule_email_campaign/delete_email_campaignget_sms_campaigns/create_sms_campaign/update_sms_campaignsend_sms_campaign/schedule_sms_campaign/delete_sms_campaignget_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 SMSsend_batch- Send to multiple recipientsget_events- Track SMS eventsget_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 conversationsget_conversation- Get specific conversationget_messages- Get conversation messagessend_message- Send messageupdate_conversation- Update conversation status
6. webhooks - Event Automation
Manage webhooks for real-time event notifications.
Operations:
get_webhooks/create_webhook/update_webhook/delete_webhookget_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 informationget_senders/create_sender/update_sender/delete_senderget_domains/create_domain/validate_domainget_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_orderget_products/create_product/update_product/delete_productget_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
- 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
Brevo Email Integration
Project Details
- samihalawa/brevo-mcp
- Last Updated: 6/15/2025
Recomended MCP Servers
这是一个基于 MCP (Model Context Protocol) 的项目,集成了智谱 AI 和腾讯地图 API,提供了天气查询、地理编码和网络搜索等功能。
On-premises conversational RAG with configurable containers
MCP server for Rime
😍 use mobx-state-tree gracefully in umijs.
A beginner-friendly MCP server template featuring a PostgreSQL connector with clean, easy-to-understand code. Perfect for developers new to...
MCP server for local git repositories
MCP server to provide Figma layout information to AI coding agents like Cursor
MCP Server implementation for Xcode integration





