Skip to main content
Vero’s Model Context Protocol (MCP) server connects your broadcasts and journeys to AI assistants like Notion, ChatGPT and Claude Code, so you can create, review, and manage campaigns in natural language instead of clicking through the UI or writing API calls by hand.
The Vero MCP server is in early access. Contact us for access. The tools listed below reflect what’s shipped to date. Please get in touch to share which tools you’d like to see next: we’ll be prioritising releases based on requests.

Why MCP

  • One integration, many assistants. MCP is an open standard: connect once and use Vero from any MCP-compatible client, not just the ones we document here.
  • Your data stays in Vero. The server calls the same Campaigns API that powers the dashboard, so nothing about your account changes: it’s just a new way to manage it.
  • Built for the workflows you already have. Ask your assistant to draft a broadcast, check a journey’s status, or list what’s scheduled this week, in plain language.

Server

The Vero MCP server is available at:
It authenticates with a Bearer token: the same API secret key used for the Campaigns API. See Authentication for how to generate one.
We previously supported https://api.getvero.com/mcp. This is backwards-compatible for MCP integrations using an API secret key. Integrations using OAuth must use https://mcp.getvero.com/mcp.

Available tools

The MCP server wraps the same Campaigns API endpoints that power broadcasts and journeys in the dashboard.

Read tools

Write tools

Journeys are currently read-only in the Vero MCP: there’s no journey_create or journey_update tool yet. Broadcasts support full read and write.

Get started

ChatGPT

Connect Vero as a custom connector in ChatGPT.

Claude Code

Add Vero as an MCP server in Claude Code.

Notion

Add Vero as a custom MCP connection to a Notion Custom Agent.

Authentication

Learn how to generate an API secret key and authenticate the Vero MCP server.

Broadcast metrics

Use broadcast_metrics_get to retrieve sends, deliveries, opens, clicks, and unsubscribes for one or more broadcasts. It is read-only. This tool returns absolute counts rather than percentage rates. Derive a rate as metric / sends * 100, rounded to two decimal places. A null metric means the count is inconsistent with sends—the UI displays a dash, not zero. Date filters apply to the date a message was sent, not the date of an engagement. A window excluding the send date returns zeroes even when an open or click occurred during the window.

Journey metrics

The journey_metrics_get tool returns lifetime Journey counters (entered, here_now, exited, and messages_sent) plus aggregate per-message engagement metrics (sends, deliveries, opens, clicks, and unsubscribes). Use start_date and end_date for an inclusive reporting window. The date window applies only to engagement metrics and filters by message send date. Not by engagement date. Journey counters remain lifetime totals. Rates are derived from sends. A null metric indicates inconsistent data and should be displayed as unavailable, not zero. The campaign_search tool uses case-insensitive substring matching across broadcast and journey names and message subjects, including active localized subjects. Queries must be 3–200 characters. Results can be filtered by campaign type or status and limited to 1–25 matches per type. Message bodies aren’t searched. Use the relevant content tool to read a matching message’s body. Archived campaigns are excluded unless you explicitly ask to filter for the archived status.

Prefer working with raw docs?

If you’d rather point an LLM at our documentation directly instead of connecting to your Vero data, see Use our docs with AI.