Braze MCP server
Braze in any MCP client, through Memtro: Braze does not publish this server. Memtro's Braze connector reads Braze through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Braze customer engagement: campaigns and Canvases with status, schedule, channels, tags and message subjects, their sends, opens, clicks, conversions and revenue over a period, segments, custom event names, email templates and Content Blocks. When you ask, can create or update an email template or a Content Block, send an API-triggered campaign or Canvas to named users, and subscribe or unsubscribe named users from a subscription group. User profiles are never read.
Reads
braze_list_campaignsBraze campaigns: name, API id, whether API-triggered, tags and last edit time.braze_get_campaignOne Braze campaign: description, status (enabled, draft, archived), schedule type, channels, first and last sent, tags, teams, its messages (channel…braze_list_canvasesBraze Canvases (multi-step journeys): name, API id, status (active, stopped, draft, archived), tags and last edit.braze_get_canvasOne Braze Canvas: description, enabled or draft, schedule type, first and last entry, channels, variants, its steps (name, type…braze_list_segmentsBraze segments: name, API id, tags and whether analytics tracking is on; with segment_id, that segment's description of its filters, tags…braze_list_custom_eventsThe names of the custom events the Braze workspace records (alphabetical), for knowing what a campaign or Canvas can be triggered on or measured by.braze_list_templatesBraze email templates (not those built in the drag-and-drop editor, which the API omits) or Content Blocks: id, name, tags, dates…braze_get_templateOne Braze email template (subject, preheader, description, body as text, tags) or Content Block (content, description, type, Liquid tag…
Acts, when you ask
These change something in Braze. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
braze_create_content_blockCreates a Braze Content Block (reusable HTML or text included in messages by its Liquid tag).braze_update_content_blockUpdates a Braze Content Block's name, content, description or tags.braze_create_email_templateCreates an email template in Braze's template library (HTML body up to 400 KB).braze_update_email_templateUpdates a Braze email template's name, subject, body, plain-text body, preheader or tags; only the fields given change.braze_trigger_campaignSends an API-triggered Braze campaign now to the users named by external user id…braze_trigger_canvasEnters the users named by external user id (1 to 50) into an API-triggered Braze Canvas now…braze_set_subscription_statusSubscribes or unsubscribes the users named by external user id (1 to 50) in one Braze email or SMS subscription group…
Connect it
First connect Braze on Dashboard → Connections, then add Memtro to your client once. The Braze tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Braze connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How has the onboarding Canvas performed this week?
- › Which campaigns are enabled and sending email?
- › What is the subject line of the win-back campaign?
- › Which custom events can a campaign be triggered on?
- › Update the footer Content Block with our new address.
Questions
- Is this an official Braze MCP server?
- No. It is Memtro's MCP server with Memtro's Braze connector behind it: the connector reads Braze through its API with the credentials you connect on Dashboard → Connections, and Braze publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Braze?
- Only when you ask, and only what it has been granted: create a Content Block (as a draft unless told otherwise); update a Content Block; create an email template; update an email template; send an API-triggered campaign to named users; send an API-triggered Canvas to named users; subscribe or unsubscribe named users from a subscription group. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.