Brevo MCP Server
Complete Model Context Protocol (MCP) server for Brevo (formerly SendinBlue) with 55+ tools and 14 interactive apps.
Features
🛠️ 55+ Tools Across 10 Categories
- Contacts (12 tools): List, get, create, update, delete, search, import, export, manage attributes, folders, and lists
- Email Campaigns (9 tools): List, get, create, update, delete, send, schedule, reports, and link tracking
- Transactional (4 tools): Send transactional emails/SMS, event tracking, aggregated reports
- Lists (7 tools): Manage contact lists, add/remove contacts
- Senders (6 tools): List, create, update, delete, validate sender domains
- Templates (6 tools): List, create, update, delete templates, send test emails
- Automations (5 tools): List workflows, activate/deactivate, get stats
- SMS Campaigns (6 tools): List, create, update, send SMS campaigns, reports
- CRM Deals (7 tools): Manage deals, pipelines, and stages
- Webhooks (5 tools): List, create, update, delete webhooks for real-time events
📱 14 Interactive MCP Apps
- contact-dashboard - Overview with key metrics and recent activity
- contact-detail - Full profile view with attributes and timeline
- contact-grid - Searchable, filterable grid view
- campaign-dashboard - Campaign performance metrics
- campaign-builder - Visual campaign creation wizard
- automation-dashboard - Marketing automation workflows
- deal-pipeline - Visual CRM pipeline with drag-and-drop
- transactional-monitor - Real-time transactional event tracking
- email-template-gallery - Browse and manage templates
- sms-dashboard - SMS campaign management
- list-manager - Contact lists and folders organization
- report-dashboard - Comprehensive analytics and insights
- webhook-manager - Configure webhooks for integrations
- import-wizard - Step-by-step contact import
Installation
npm install
npm run build
Configuration
Set your Brevo API key as an environment variable:
export BREVO_API_KEY=your-api-key-here
Get your API key from: https://app.brevo.com/settings/keys/api
Usage
Running the Server
npm start
Or with inline API key:
BREVO_API_KEY=your-api-key-here npm start
MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"brevo": {
"command": "node",
"args": ["/path/to/brevo/dist/main.js"],
"env": {
"BREVO_API_KEY": "your-api-key-here"
}
}
}
}
Tool Examples
Create a Contact
brevo_create_contact({
email: "user@example.com",
attributes: {
FIRSTNAME: "John",
LASTNAME: "Doe",
COMPANY: "Acme Inc"
},
listIds: [123]
})
Send Transactional Email
brevo_send_transactional_email({
to: [{ email: "user@example.com", name: "John Doe" }],
sender: { email: "hello@company.com", name: "Company" },
subject: "Welcome!",
htmlContent: "<h1>Welcome to our service!</h1>",
tags: ["welcome", "onboarding"]
})
Create Email Campaign
brevo_create_email_campaign({
name: "Monthly Newsletter",
subject: "Your Monthly Update",
sender: { name: "Company", email: "newsletter@company.com" },
htmlContent: "<html>...</html>",
recipients: {
listIds: [123],
exclusionListIds: [456]
},
scheduledAt: "2024-02-01T10:00:00Z"
})
List Contacts
brevo_list_contacts({
limit: 50,
offset: 0,
listIds: [123],
sort: "desc"
})
API Reference
Contacts Tools
brevo_list_contacts- List all contacts with filtersbrevo_get_contact- Get contact by email/IDbrevo_create_contact- Create new contactbrevo_update_contact- Update contactbrevo_delete_contact- Delete contactbrevo_search_contacts- Advanced contact searchbrevo_import_contacts- Bulk import from CSVbrevo_export_contacts- Export contactsbrevo_list_contact_attributes- List all attributesbrevo_create_contact_attribute- Create custom attributebrevo_list_contact_folders- List foldersbrevo_list_contact_lists- List all lists
Campaign Tools
brevo_list_email_campaigns- List campaignsbrevo_get_email_campaign- Get campaign detailsbrevo_create_email_campaign- Create campaignbrevo_update_email_campaign- Update campaignbrevo_delete_email_campaign- Delete campaignbrevo_send_email_campaign- Send immediatelybrevo_schedule_email_campaign- Schedule sendbrevo_get_campaign_report- Get performance reportbrevo_list_campaign_links- Get campaign links
Transactional Tools
brevo_send_transactional_email- Send transactional emailbrevo_send_transactional_sms- Send SMSbrevo_list_transactional_events- List eventsbrevo_get_aggregated_report- Get statistics
Lists Tools
brevo_list_lists- List all contact listsbrevo_get_list- Get list detailsbrevo_create_list- Create new listbrevo_update_list- Update listbrevo_delete_list- Delete listbrevo_add_contacts_to_list- Add contactsbrevo_remove_contacts_from_list- Remove contacts
Templates Tools
brevo_list_templates- List templatesbrevo_get_template- Get templatebrevo_create_template- Create templatebrevo_update_template- Update templatebrevo_delete_template- Delete templatebrevo_send_test_template- Send test email
Automation Tools
brevo_list_workflows- List workflowsbrevo_get_workflow- Get workflowbrevo_activate_workflow- Activate workflowbrevo_deactivate_workflow- Deactivate workflowbrevo_get_workflow_stats- Get statistics
SMS Tools
brevo_list_sms_campaigns- List SMS campaignsbrevo_get_sms_campaign- Get campaignbrevo_create_sms_campaign- Create campaignbrevo_update_sms_campaign- Update campaignbrevo_send_sms_campaign- Send SMS campaignbrevo_get_sms_campaign_report- Get report
CRM Deals Tools
brevo_list_deals- List dealsbrevo_get_deal- Get dealbrevo_create_deal- Create dealbrevo_update_deal- Update dealbrevo_delete_deal- Delete dealbrevo_list_pipelines- List pipelinesbrevo_list_deal_stages- List stages
Webhook Tools
brevo_list_webhooks- List webhooksbrevo_get_webhook- Get webhookbrevo_create_webhook- Create webhookbrevo_update_webhook- Update webhookbrevo_delete_webhook- Delete webhook
MCP Apps
All apps are accessible via MCP resources at brevo://app/{app-name}
Contact Apps
contact-dashboard- Metrics and overviewcontact-detail- Full contact profilecontact-grid- Searchable contact table
Campaign Apps
campaign-dashboard- Campaign analyticscampaign-builder- Visual campaign creator
Other Apps
automation-dashboard- Workflow managementtransactional-monitor- Real-time event trackingemail-template-gallery- Template browsersms-dashboard- SMS managementdeal-pipeline- CRM pipeline viewlist-manager- List organizationreport-dashboard- Analytics hubwebhook-manager- Webhook configurationimport-wizard- Contact import tool
Architecture
brevo/
├── src/
│ ├── types/
│ │ ├── index.ts # TypeScript interfaces
│ │ └── api-client.ts # Brevo API client
│ ├── tools/
│ │ ├── contacts-tools.ts # 12 contact tools
│ │ ├── campaigns-tools.ts # 9 campaign tools
│ │ ├── transactional-tools.ts # 4 transactional tools
│ │ ├── lists-tools.ts # 7 list tools
│ │ ├── senders-tools.ts # 6 sender tools
│ │ ├── templates-tools.ts # 6 template tools
│ │ ├── automations-tools.ts # 5 automation tools
│ │ ├── sms-tools.ts # 6 SMS tools
│ │ ├── deals-tools.ts # 7 CRM tools
│ │ └── webhooks-tools.ts # 5 webhook tools
│ ├── apps/
│ │ ├── contact-dashboard.ts
│ │ ├── contact-detail.ts
│ │ ├── contact-grid.ts
│ │ ├── campaign-dashboard.ts
│ │ ├── campaign-builder.ts
│ │ ├── automation-dashboard.ts
│ │ ├── deal-pipeline.ts
│ │ ├── transactional-monitor.ts
│ │ ├── template-gallery.ts
│ │ ├── sms-dashboard.ts
│ │ ├── list-manager.ts
│ │ ├── report-dashboard.ts
│ │ ├── webhook-manager.ts
│ │ └── import-wizard.ts
│ ├── server.ts # MCP server implementation
│ └── main.ts # Entry point
├── package.json
├── tsconfig.json
└── README.md
Development
# Install dependencies
npm install
# Build
npm run build
# Development mode (watch)
npm run dev
# Clean build artifacts
npm run clean
API Documentation
Brevo API v3 Documentation: https://developers.brevo.com/reference
License
MIT
Support
For issues and feature requests, please file an issue in the repository.