MCP server for Bento - Email marketing and analytics tools for AI assistants
npm install @bentonow/bento-mcpA Model Context Protocol (MCP) server for Bento - the email marketing and analytics platform. This server enables AI assistants like Claude, Cursor, and others to interact with your Bento account.
- Subscriber Management - Import, update, and lookup subscribers with full custom field support
- Tagging - Create and manage tags
- Event Tracking - Track custom events that can trigger automations
- Field Management - Create and list custom fields
- Broadcasts - Create and list email campaigns
- Automations - View sequences and workflows
- Email Templates - Read and update email template content
- Statistics - Get site-level stats
``bash`
npm install -g @bentonow/bento-mcp
Or run directly with npx:
`bash`
npx @bentonow/bento-mcp
The server requires three environment variables:
| Variable | Description |
|----------|-------------|
| BENTO_PUBLISHABLE_KEY | Your Bento publishable API key |BENTO_SECRET_KEY
| | Your Bento secret API key |BENTO_SITE_UUID
| | Your Bento site UUID |
You can find these in your Bento account settings.
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json
Windows:
`json`
{
"mcpServers": {
"bento": {
"command": "npx",
"args": ["-y", "@bentonow/bento-mcp"],
"env": {
"BENTO_PUBLISHABLE_KEY": "your-publishable-key",
"BENTO_SECRET_KEY": "your-secret-key",
"BENTO_SITE_UUID": "your-site-uuid"
}
}
}
}
Add to your opencode.json:
`json`
{
"mcp": {
"bento": {
"type": "local",
"command": ["npx", "-y", "@bentonow/bento-mcp"],
"environment": {
"BENTO_PUBLISHABLE_KEY": "your-publishable-key",
"BENTO_SECRET_KEY": "your-secret-key",
"BENTO_SITE_UUID": "your-site-uuid"
}
}
}
}
Add to your Cursor MCP settings:
`json`
{
"mcpServers": {
"bento": {
"command": "npx",
"args": ["-y", "@bentonow/bento-mcp"],
"env": {
"BENTO_PUBLISHABLE_KEY": "your-publishable-key",
"BENTO_SECRET_KEY": "your-secret-key",
"BENTO_SITE_UUID": "your-site-uuid"
}
}
}
}
| Tool | Description |
|------|-------------|
| bento_get_subscriber | Look up subscriber details by email or UUID |bento_batch_import_subscribers
| | Import or update up to 1000 subscribers with custom fields and tags |
| Tool | Description |
|------|-------------|
| bento_list_tags | List all tags in your account |bento_create_tag
| | Create a new tag |
| Tool | Description |
|------|-------------|
| bento_list_fields | List all custom fields |bento_create_field
| | Create a new custom field |
| Tool | Description |
|------|-------------|
| bento_track_event | Track a custom event for a subscriber (can trigger automations) |
| Tool | Description |
|------|-------------|
| bento_get_site_stats | Get site statistics including subscriber and broadcast counts |
| Tool | Description |
|------|-------------|
| bento_list_broadcasts | List all broadcasts/campaigns |bento_create_broadcast
| | Create a draft broadcast |
| Tool | Description |
|------|-------------|
| bento_list_automations | List sequences and/or workflows with their templates |
| Tool | Description |
|------|-------------|
| bento_get_email_template | Get email template content by ID |bento_update_email_template
| | Update email template subject and/or content |
Once configured, you can ask your AI assistant things like:
- "Look up the subscriber john@example.com in Bento"
- "Import these 5 subscribers with the 'newsletter' tag"
- "Show me the site statistics from Bento"
- "What are all the tags in my Bento account?"
- "Create a new broadcast for the spring sale"
- "List all my email sequences"
- "Track a 'feature_used' event for user@example.com"
All tool responses are formatted to be informative for both humans and LLMs:
- Success responses include context about the operation performed and structured data
- Error responses include the isError flag and helpful error messages with suggested fixes
- Empty results are clearly indicated (e.g., "No items found")
- Batch operations report both successful and total counts
The server provides helpful error messages for common issues:
- Missing credentials: Clear message about which environment variables are missing
- Authentication failures: Guidance to check API keys
- Rate limiting: Information about waiting before retrying
- Not found errors: Clear indication when resources don't exist
- API errors: Helpful messages for temporary service issues
`bashClone the repository
git clone https://github.com/bentonow/bento-mcp.git
cd bento-mcp
MIT - see LICENSE
- Bento - Email marketing platform
- Bento Node SDK - The underlying SDK
- Model Context Protocol - MCP specification