Skip to main content
Vero’s Model Context Protocol (MCP) server connects your broadcasts and journeys to AI assistants like Notion, ChatGPT, Claude, Claude Code and Gemini Enterprise, 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:
Connect with the setup guide for your client. For how sign-in works, and what to do if you set up an integration with an API key, see Authentication.

Available tools

The MCP server wraps the same Campaigns API endpoints that power broadcasts, journeys, topics, and customer data 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.
event_track writes to the same event stream as the tracking API, so an event can start a journey or trigger a campaign and send real messages to real customers. Events are processed asynchronously, so they won’t appear on the profile straight away.
Both event_track and profile_update need a customer profile that already exists, identified by the identifier it was tracked under: neither creates one. profile_update can’t change an email address or subscription state, and topics can’t be deleted. Reading broadcast metrics requires a permission with read access to campaigns.

Get started

ChatGPT

Connect Vero as a custom connector in ChatGPT.

Claude

Add Vero as a custom connector in Claude.

Claude Code

Add Vero as an MCP server in Claude Code.

Gemini Enterprise

Add Vero as a custom MCP data source in Gemini Enterprise.

Notion

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

Authentication

Learn how the Vero MCP server authenticates.

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.