# 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
1. **contact-dashboard** - Overview with key metrics and recent activity
2. **contact-detail** - Full profile view with attributes and timeline
3. **contact-grid** - Searchable, filterable grid view
4. **campaign-dashboard** - Campaign performance metrics
5. **campaign-builder** - Visual campaign creation wizard
6. **automation-dashboard** - Marketing automation workflows
7. **deal-pipeline** - Visual CRM pipeline with drag-and-drop
8. **transactional-monitor** - Real-time transactional event tracking
9. **email-template-gallery** - Browse and manage templates
10. **sms-dashboard** - SMS campaign management
11. **list-manager** - Contact lists and folders organization
12. **report-dashboard** - Comprehensive analytics and insights
13. **webhook-manager** - Configure webhooks for integrations
14. **import-wizard** - Step-by-step contact import
## Installation
```bash
npm install
npm run build
```
## Configuration
Set your Brevo API key as an environment variable:
```bash
export BREVO_API_KEY=your-api-key-here
```
Get your API key from: https://app.brevo.com/settings/keys/api
## Usage
### Running the Server
```bash
npm start
```
Or with inline API key:
```bash
BREVO_API_KEY=your-api-key-here npm start
```
### MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
```json
{
"mcpServers": {
"brevo": {
"command": "node",
"args": ["/path/to/brevo/dist/main.js"],
"env": {
"BREVO_API_KEY": "your-api-key-here"
}
}
}
}
```
## Tool Examples
### Create a Contact
```typescript
brevo_create_contact({
email: "user@example.com",
attributes: {
FIRSTNAME: "John",
LASTNAME: "Doe",
COMPANY: "Acme Inc"
},
listIds: [123]
})
```
### Send Transactional Email
```typescript
brevo_send_transactional_email({
to: [{ email: "user@example.com", name: "John Doe" }],
sender: { email: "hello@company.com", name: "Company" },
subject: "Welcome!",
htmlContent: "
Welcome to our service!
",
tags: ["welcome", "onboarding"]
})
```
### Create Email Campaign
```typescript
brevo_create_email_campaign({
name: "Monthly Newsletter",
subject: "Your Monthly Update",
sender: { name: "Company", email: "newsletter@company.com" },
htmlContent: "...",
recipients: {
listIds: [123],
exclusionListIds: [456]
},
scheduledAt: "2024-02-01T10:00:00Z"
})
```
### List Contacts
```typescript
brevo_list_contacts({
limit: 50,
offset: 0,
listIds: [123],
sort: "desc"
})
```
## API Reference
### Contacts Tools
- `brevo_list_contacts` - List all contacts with filters
- `brevo_get_contact` - Get contact by email/ID
- `brevo_create_contact` - Create new contact
- `brevo_update_contact` - Update contact
- `brevo_delete_contact` - Delete contact
- `brevo_search_contacts` - Advanced contact search
- `brevo_import_contacts` - Bulk import from CSV
- `brevo_export_contacts` - Export contacts
- `brevo_list_contact_attributes` - List all attributes
- `brevo_create_contact_attribute` - Create custom attribute
- `brevo_list_contact_folders` - List folders
- `brevo_list_contact_lists` - List all lists
### Campaign Tools
- `brevo_list_email_campaigns` - List campaigns
- `brevo_get_email_campaign` - Get campaign details
- `brevo_create_email_campaign` - Create campaign
- `brevo_update_email_campaign` - Update campaign
- `brevo_delete_email_campaign` - Delete campaign
- `brevo_send_email_campaign` - Send immediately
- `brevo_schedule_email_campaign` - Schedule send
- `brevo_get_campaign_report` - Get performance report
- `brevo_list_campaign_links` - Get campaign links
### Transactional Tools
- `brevo_send_transactional_email` - Send transactional email
- `brevo_send_transactional_sms` - Send SMS
- `brevo_list_transactional_events` - List events
- `brevo_get_aggregated_report` - Get statistics
### Lists Tools
- `brevo_list_lists` - List all contact lists
- `brevo_get_list` - Get list details
- `brevo_create_list` - Create new list
- `brevo_update_list` - Update list
- `brevo_delete_list` - Delete list
- `brevo_add_contacts_to_list` - Add contacts
- `brevo_remove_contacts_from_list` - Remove contacts
### Templates Tools
- `brevo_list_templates` - List templates
- `brevo_get_template` - Get template
- `brevo_create_template` - Create template
- `brevo_update_template` - Update template
- `brevo_delete_template` - Delete template
- `brevo_send_test_template` - Send test email
### Automation Tools
- `brevo_list_workflows` - List workflows
- `brevo_get_workflow` - Get workflow
- `brevo_activate_workflow` - Activate workflow
- `brevo_deactivate_workflow` - Deactivate workflow
- `brevo_get_workflow_stats` - Get statistics
### SMS Tools
- `brevo_list_sms_campaigns` - List SMS campaigns
- `brevo_get_sms_campaign` - Get campaign
- `brevo_create_sms_campaign` - Create campaign
- `brevo_update_sms_campaign` - Update campaign
- `brevo_send_sms_campaign` - Send SMS campaign
- `brevo_get_sms_campaign_report` - Get report
### CRM Deals Tools
- `brevo_list_deals` - List deals
- `brevo_get_deal` - Get deal
- `brevo_create_deal` - Create deal
- `brevo_update_deal` - Update deal
- `brevo_delete_deal` - Delete deal
- `brevo_list_pipelines` - List pipelines
- `brevo_list_deal_stages` - List stages
### Webhook Tools
- `brevo_list_webhooks` - List webhooks
- `brevo_get_webhook` - Get webhook
- `brevo_create_webhook` - Create webhook
- `brevo_update_webhook` - Update webhook
- `brevo_delete_webhook` - Delete webhook
## MCP Apps
All apps are accessible via MCP resources at `brevo://app/{app-name}`
### Contact Apps
- `contact-dashboard` - Metrics and overview
- `contact-detail` - Full contact profile
- `contact-grid` - Searchable contact table
### Campaign Apps
- `campaign-dashboard` - Campaign analytics
- `campaign-builder` - Visual campaign creator
### Other Apps
- `automation-dashboard` - Workflow management
- `transactional-monitor` - Real-time event tracking
- `email-template-gallery` - Template browser
- `sms-dashboard` - SMS management
- `deal-pipeline` - CRM pipeline view
- `list-manager` - List organization
- `report-dashboard` - Analytics hub
- `webhook-manager` - Webhook configuration
- `import-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
```bash
# 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.
## Related Projects
- [Brevo API Documentation](https://developers.brevo.com/)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)