Braze MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Braze MCP or direct API to manage user profiles, send campaigns, create templates, and query campaign analytics through natural language.

Braze logoBraze
Api Key

Braze is a customer engagement platform for managing user data, messaging, campaigns, and analytics. Use it to deliver targeted, multi-channel messaging and analyze campaign performance.

119 Tools

Try Braze now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Braze
Try asking
TOOLS

Supported Tools

Every Braze action and event your agent gets out of the box.

Blocklist Emails

HIGH IMPACT: globally unsubscribe and mark as hard bounced one to 50 exact email addresses.

Cancel Segment Exports

Ask Braze to cancel all ongoing exports for a segment.

Schedule Campaign Trigger

HIGH IMPACT: schedule one durable API-triggered campaign dispatch.

Schedule Canvas Trigger

HIGH IMPACT: schedule one durable API-triggered Canvas entry.

Create Catalog

Create one persistent catalog in the connected Braze workspace.

Create Catalog Fields

Asynchronously create up to 50 fields in one Braze catalog.

Create Catalog Item

Synchronously create one Braze catalog item by exact item ID.

Create Multiple Catalog Items

Asynchronously create up to 50 Braze catalog items.

Create Catalog Selection

Asynchronously create one Braze catalog selection.

Create Content Block

Persist a reusable HTML or text Content Block in the connected Braze workspace.

Create Email Template

Persist an HTML email template on Braze's Templates & Media page.

Create Media Library Asset

Upload one asset to Braze from a public HTTP(S) URL or local file.

Create Message Schedule

HIGH IMPACT: schedule API-only channel messages for future processing.

Create Preference Center

HIGH IMPACT: durably create and optionally activate a Braze-hosted preference center.

Create SDK Authentication Key

HIGH IMPACT SECURITY OPERATION: create an SDK Authentication key from an RSA public key for one exact app.

Create Send ID

Create or assign a send ID for programmatic message-performance tracking.

Create User Aliases

Add up to 50 Braze aliases to existing external-ID users or create alias-only profiles.

Delete Campaign Trigger Schedule

HIGH IMPACT: durably cancel a scheduled API-triggered campaign before send time.

Delete Canvas Trigger Schedule

HIGH IMPACT: durably cancel a scheduled API-triggered Canvas before entry time.

Delete Catalog

Permanently delete one Braze catalog and all of its contents by exact catalog name through DELETE /catalogs/{catalog_name}.

Delete Catalog Field

Asynchronously request deletion of one field by exact catalog and field name.

Delete Catalog Item

Request deletion of one catalog item by exact catalog name and item ID.

Delete Multiple Catalog Items

Asynchronously request deletion of up to 50 catalog items by exact IDs.

Delete Catalog Selection

Asynchronously request deletion of a selection by exact catalog and selection name.

Delete Message Schedule

HIGH IMPACT: durably cancel an API-only message schedule before it is sent.

Delete SDK Authentication Key

HIGH IMPACT SECURITY OPERATION: permanently delete one exact non-primary SDK Authentication key from one exact app.

Delete Users

Permanently queue deletion of up to 50 users using exactly one identifier type.

Duplicate Campaign

HIGH IMPACT: request an asynchronous, durable duplicate of a Braze campaign.

Duplicate Canvas

HIGH IMPACT: request an asynchronous, durable duplicate of a Braze Canvas.

End Live Activity

IRREVERSIBLE: end an SDK-registered iOS Live Activity with a final ContentState.

Export Global Control Group Users

Start an asynchronous export of all current Global Control Group users.

Export Segment Users

Start an asynchronous newline-delimited JSON export for one segment.

Export Users by Identifiers

Return user profiles matching one or more Braze, external, alias, device, email, or phone identifiers; this reads profiles and does not track events or consume data points.

Generate Preference Center URL

Generate a user-specific URL for an API-created or drag-and-drop Braze preference center.

Get Campaign

Return configuration and delivery details for one campaign identified by its Braze campaign ID.

Get Campaign Analytics

Get up to 100 daily campaign analytics points.

Get Campaign Translation Source

Read the default source values inside translation tags for one campaign message variation.

Get Canvas

Return configuration and step details for one Canvas identified by its Braze Canvas ID.

Get Canvas Analytics

Export Canvas daily time-series analytics with optional variant, step, and deleted-step breakdowns.

Get Canvas Analytics Summary

Export Canvas analytics rollups with optional variant, step, and deleted-step breakdowns.

Get Canvas Translation Source

Read default source values inside translation tags for one Canvas step message variation.

Get Catalog Item

Return one Braze catalog item by exact catalog name and item ID.

Get Content Block

Return one persisted Braze Content Block by API identifier, optionally with its current campaign and Canvas inclusion records.

Get Content Block Translation Source

Read default source values inside one Content Block's translation tags.

Get Custom Event Analytics

Get 1 to 100 daily or hourly occurrence counts for one custom event, optionally filtered by app and analytics-enabled segment.

Get Email Template

Return one stored HTML email template by API identifier.

Get Email Template Translation Source

Read default source values inside an email template's translation tags.

Get Preference Center

Get persisted HTML, state, options, identifiers, and timestamps for one Braze preference center.

Get Purchase Series

Get 1 to 100 daily or hourly purchase quantity or revenue points, optionally filtered by app and product.

Get Segment

Return Braze's documented configuration details for one segment identified by its segment API identifier.

Get Segment Analytics

Get up to 100 daily estimated segment-size points.

Get Send Analytics

Get up to 100 daily analytics points for a tracked send from an API campaign.

Get Session Analytics

Get 1 to 100 daily or hourly session-count points, optionally filtered by app and analytics-enabled segment.

Get Subscription Group Status

Get saved membership status for up to 50 users in one exact subscription group.

Get User KPI Series

Get 1 to 100 points for one user KPI: daily active users, rolling 30-day monthly active users, daily new users, or daily uninstalls.

Get Webhook Template Translation Source

Read default source values inside a webhook template's translation tags.

Identify Users

Assign external IDs to alias-only, email-only, or phone-only Braze profiles, merging into an existing identified profile when applicable.

List Campaigns

Return one page of Braze campaigns for discovery, optionally including archived campaigns and filtering by last edit time.

List Campaign Translations

View every configured locale translation map for one campaign message variation, or filter by locale.

List Canvases

Return one fixed provider page of up to 100 Braze Canvases for discovery, optionally including archived Canvases and filtering by last edit time.

List Canvas Translations

Preview configured locale translations for one Canvas step message variation.

List Catalog Items

Return one fixed provider page of up to 50 items from a Braze catalog, preserving arbitrary item attributes and exposing Braze Link-header pagination.

List Catalogs

Return all catalogs in the connected Braze workspace.

List Cloud Data Ingestion Integrations

Return one 10-item page of configured Cloud Data Ingestion integrations.

List Cloud Data Ingestion Sync Statuses

Return one 10-item page of sync statuses for a Cloud Data Ingestion integration.

List Content Blocks

Return one offset-based page of persisted Braze Content Blocks.

List Content Block Translations

View every configured locale translation map for one Content Block, or filter by locale.

List Custom Attributes

Return one fixed provider page of up to 50 alphabetically sorted custom-attribute definitions and a Link-header continuation cursor.

List Custom Event Names

Return one fixed provider page of up to 250 alphabetically sorted custom event names.

List Custom Events

Return one fixed provider page of up to 50 alphabetically sorted custom-event definitions and a Link-header continuation cursor.

List Email Template Locale Translations

View email template translations, optionally filtered to one locale.

List Email Templates

Return one offset-based page of stored HTML email templates.

List Email Template Translations

View all configured translations and locales for one email template.

List Hard Bounced Emails

Return one newest-first offset page of hard-bounced emails.

List Invalid Phone Numbers

Return one newest-first offset page of invalid SMS numbers by UTC date range, or check exact E.

List Preference Centers

List all available Braze preference centers and their IDs and timestamps.

List Purchase Products

Return every product ID from an optional caller-selected provider page.

List Scheduled Broadcasts

List dashboard and API scheduled campaigns and Canvas entries through an ISO 8601 end date.

List SDK Authentication Keys

HIGH IMPACT SECURITY READ: list all SDK Authentication public keys, IDs, descriptions, and primary status for one exact app.

List Segments

Return one fixed provider page of up to 100 Braze segments and their IDs for audience discovery.

List Unsubscribed Emails

Return one offset page of latest unsubscribe records for a UTC date range or exact email.

List User Subscription Groups

Return one offset page of subscription groups that have status history for users selected by exactly one email or phone identifier type.

List Webhook Template Translations

View configured translations for one webhook template, optionally filtered by locale.

Merge Users

Asynchronously merge up to 50 Braze source profiles into retained target profiles.

Remove Deprecated External IDs

Permanently remove up to 50 deprecated Braze external IDs.

Remove Hard Bounced Emails

HIGH IMPACT: remove one to 50 exact addresses from both the Braze bounce list and the email provider's bounce list, potentially making them deliverable again.

Remove Invalid Phone Numbers

HIGH IMPACT: remove one to 50 exact E.

Remove Emails From Spam List

HIGH IMPACT: remove one to 50 exact addresses from both the Braze spam list and the email provider's spam list, potentially making them deliverable again.

Rename External IDs

Rename up to 50 primary Braze external IDs, preserving each old ID as deprecated.

Replace Catalog Item

Synchronously replace a Braze catalog item, creating it if item_id does not exist.

Replace Multiple Catalog Items

Asynchronously replace or create up to 50 Braze catalog items by id.

Replace Media Library Asset File

HIGH IMPACT: request replacement of the file associated with one exact Braze media-library asset ID using a public HTTP(S) URL.

Send Campaign Trigger

HIGH IMPACT: immediately request an API-triggered campaign send.

Send Canvas Trigger

HIGH IMPACT: immediately request entry into an API-triggered Canvas.

Send API-Only Messages

HIGH IMPACT: immediately request API-only messages to existing Braze users.

Send Transactional Campaign

HIGH IMPACT: send one immediate transactional email from a Braze Transactional Email campaign to exactly one external-ID or alias recipient; an accepted send cannot be retracted.

Set Global Email Subscription Status

HIGH IMPACT: set the global email subscription state for one to 50 exact addresses, including addresses not yet attached to a profile.

Set Primary SDK Authentication Key

HIGH IMPACT SECURITY OPERATION: make one exact existing SDK Authentication key the primary key for one exact app.

Set Subscription Group Status

HIGH IMPACT: batch subscribe or unsubscribe up to 50 users in one exact group.

Set Subscription Group Statuses

HIGH IMPACT: batch subscribe or unsubscribe users across multiple groups.

Start Live Activity

HIGH IMPACT: remotely request an iOS Live Activity start for exactly one target mode: up to 50 external users, one Connected Audience, or one segment.

Create and Update Users

Asynchronously ingest Braze attributes, custom events, or purchases, up to 75 combined objects per portable request.

Trigger Cloud Data Ingestion Sync

HIGH IMPACT: enqueue a sync for an existing Cloud Data Ingestion integration.

Update Campaign Translations

Submit a durable update request with translation-tag string values for one campaign message locale.

Update Campaign Trigger Schedule

HIGH IMPACT: durably replace the full schedule for a previously scheduled API-triggered campaign.

Update Canvas Translations

Submit a durable update request with translation-tag string values for one Canvas step message locale.

Update Canvas Trigger Schedule

HIGH IMPACT: durably replace the full schedule for a previously scheduled API-triggered Canvas.

Update Catalog Item

Synchronously patch one existing Braze catalog item.

Update Multiple Catalog Items

Asynchronously patch up to 50 existing Braze catalog items.

Update Content Block

Persist changes to one existing Braze Content Block by API identifier.

Update Content Block Translations

Submit a durable update request with translation-tag string values for one Content Block locale.

Update Email Template

Persist one or more changes to an existing Braze email template by API identifier.

Update Email Template Translations

Submit a durable update request with translation-tag string values for one email template locale.

Update Live Activity

Update an SDK-registered iOS Live Activity without ending it.

Update Message Schedule

HIGH IMPACT: durably update the schedule, documented channel message objects, or both for an API-only scheduled message.

Update Preference Center

HIGH IMPACT: durably update a Braze preference center's required page HTML and confirmation HTML, plus an optional title, state, or options configuration.

Update Push Credentials

HIGH IMPACT: replace one app's push credentials for exactly one platform.

Update User Aliases

Asynchronously request renaming of up to 50 existing Braze aliases.

Update Webhook Template Translations

Submit a durable update request with translation-tag string values for one webhook template locale.

SETUP GUIDE

Connect Braze MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
Install the Composio SDK for Python or TypeScript
2

Initialize Client and Create Tool Router Session

typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
Import and initialize the Composio client, then create a Tool Router session for Braze
3

Connect to AI Agent

typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
Use the MCP server with your AI agent (Anthropic Claude or Mastra)
SETUP GUIDE

Connect Braze API Tool with your Agent

1

Install Composio

typescript
npm install @composio/openai
Install the Composio SDK
2

Initialize Composio and Create Tool Router Session

typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
Import and initialize Composio client, then create a Tool Router session
3

Execute Braze Tools via Tool Router with Your Agent

typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
Get tools from Tool Router session and execute Braze actions with your Agent

Why Use Composio?

AI Native Braze Integration

  • Supports both Braze MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Braze data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Braze access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Braze
  • Scoped, least privilege access to Braze resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Braze requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Braze connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Create the key in your Braze account settings, then paste it once on Composio's connection page. Composio stores it encrypted and uses it only for the Braze actions your agent runs. Nobody else in your workspace can read it, and you can revoke it inside Braze at any time.

When you connect a Braze account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Braze as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Braze. If Braze lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Braze at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Braze connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

The connection stops working the moment Braze rejects the old key. Create a new key in Braze and reconnect the account from the Composio dashboard or by asking your agent to reconnect Braze. Nothing else changes.

Composio's free plan includes 100,000 tool calls per month with no credit card, which covers most personal Braze use. Paid plans add higher limits and team features. Your Braze plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Braze accounts).

With Composio, you connect Braze once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Braze.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Braze tool your agent needs.Free to start.

Start building