A 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
npm install -g @bentonow/bento-mcpOr run directly with npx:
npx @bentonow/bento-mcpThe 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
Windows: %APPDATA%\Claude\claude_desktop_config.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:
{
"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:
{
"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 [email protected] 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 [email protected]"
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
isErrorflag 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
# Clone the repository
git clone https://github.com/bentonow/bento-mcp.git
cd bento-mcp
# Install dependencies
npm install
# Build
npm run build
# Lint
npm run lint
# Format
npm run format
# Run locally
BENTO_PUBLISHABLE_KEY=xxx BENTO_SECRET_KEY=xxx BENTO_SITE_UUID=xxx npm startMIT - see LICENSE
- Bento - Email marketing platform
- Bento Node SDK - The underlying SDK
- Model Context Protocol - MCP specification