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.
README
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 build -
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" -
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.