Skip to main content

AEvent MCP Server and Documentation

Connect Claude, Cursor, n8n, or any MCP agent to your AEvent account to build campaigns, schedule webinars, and manage automation in plain language over MCP.

The AEvent MCP server lets an AI agent (Claude Code, Claude Desktop, Cursor, n8n, or your own code) operate your AEvent webinar account over the Model Context Protocol (MCP). This guide shows you how to get a token, connect your agent, verify the connection, and run your first workflows.

AEvent MCP Server

Connect any MCP-capable agent to your AEvent account and manage it in plain language: build campaigns, schedule webinars, and wire up automation without leaving your assistant.

What your agent can do

📋 List and inspect campaigns

📅 Schedule one-time and recurring webinars

✉️ Build email, SMS, and autochat timelines

🔌 Manage integrations

👤 Look up leads and registrations


What you need

  • An active AEvent account with access to Settings, Developer.

  • An MCP-capable agent or client (Claude Code, Claude Desktop, Cursor, n8n, or your own code using an MCP SDK).

  • A token carrying the mcp:use scope (created in Step 1).


Step 1: Get your MCP token

You authenticate to the MCP endpoint with an HTTP Bearer token. Create one inside the AEvent app:

  1. Go to Settings, Developer.

  2. Click to create a new token and give it a name (for example, mcp).

  3. Check the mcp:use scope.

  4. Click Create, then copy the token immediately. You will not be able to read it again.

Use that token wherever the examples below show <TOKEN>. The token IS your account scope: every call automatically operates only on the account that owns the token, so there is no separate tenant parameter to pass.


Step 2: Connect your agent

Every client connects to the same values:

Transport: streamable HTTP
URL: https://app-api.aevent.com/mcp
Header: Authorization: Bearer <TOKEN>

A recommended connection name in your client is aevent. The server self-identifies as AEvent. Pick the per-client setup below.

Claude Code (CLI)

claude mcp add --transport http aevent https://app-api.aevent.com/mcp --header "Authorization: Bearer <TOKEN>"

Confirm it registered:

claude mcp list

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json). The mcp-remote bridge is the most reliable cross-version path for a header-authenticated remote server:

{
"mcpServers": {
"aevent": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://app-api.aevent.com/mcp",
"--header",
"Authorization: Bearer <TOKEN>"
]
}
}
}

Restart Claude Desktop after saving. If your build supports native custom connectors (Settings, Connectors, Add custom connector), you can instead add the URL https://app-api.aevent.com/mcp directly and supply the Authorization: Bearer <TOKEN> header there.

Cursor

Edit ~/.cursor/mcp.json (or the project-local .cursor/mcp.json):

{
"mcpServers": {
"aevent": {
"url": "https://app-api.aevent.com/mcp",
"headers": {
"Authorization": "Bearer <TOKEN>"
}
}
}
}

n8n (MCP Client node)

Add an MCP Client node and configure:

  • Endpoint / Server URL: https://app-api.aevent.com/mcp

  • Transport: HTTP (streamable)

  • Authentication: a Header Auth credential with header name Authorization and value Bearer <TOKEN>

Once connected, the node lists the AEvent tools; select one and map its parameters from prior nodes.

For the full client matrix (Cline, Roo, Windsurf), raw curl calls, and the Python and TypeScript MCP SDK examples, see the downloadable Connection and Setup Guide linked below.


Step 3: Verify the connection

The cleanest check is to ask your agent: "Call list-campaigns and show me the result." It is read-only and immediately proves auth, account scoping, and tool routing. A healthy response is a JSON object of campaign names keyed by their 15-character campaign ID (wtl):

{
"aaa111bbb222ccc": "My Webinar",
"ddd333eee444fff": "Multi-Day Masterclass",
"ggg555hhh666iii": "Demo Webinar",
"mmm999nnn000ooo": "AStream Demo"
}

If the token is missing, malformed, or expired, the endpoint returns a 401 challenge:

HTTP/1.1 401 Unauthorized
www-authenticate: Bearer realm="mcp", error="invalid_token"

Seeing this 401 means the token is the problem. Re-check Step 1: a valid mcp:use token, the Bearer prefix present, and no stray whitespace.


Step 4: Common workflows

The golden rule for agents is discover before you act: resolve real IDs before any write. Resolve the campaign (list-campaigns), then the integration (list-campaign-integrations), the audience (list-audiences), and confirm token spellings (show-merge-fields). Never construct a wtl or a merge token by hand.

Build and schedule

  1. list-campaigns to resolve the campaign wtl.

  2. show-campaign with section: "general" to read the format (webinarType) and settings.

  3. list-campaign-integrations to get the exact delivery integrationID.

  4. schedule-webinar with the wtl, integrationID, and a UNIX timestamp (add a recurring condition string to set up an evergreen cadence).

Add an SMS reminder

After discovery, add a text message to the timeline. The time string compiles relative to the event (for example, "15 minutes before" or "1 day before at 3:00pm"). For merge tokens, match the name exactly as show-merge-fields returns it (for example {{!subscriber-firstName!}}):

{
"tool": "add-text-message",
"wtl": "<your-campaign-id>",
"message": "{{!subscriber-firstName!}}, we go live in 15 min: {{!subscriber-joinURL!}}",
"audience": "Registrants",
"integrationID": "<your-sms-integration-id>",
"time": "15 minutes before"
}

Add an email reminder

{
"tool": "add-email",
"wtl": "<your-campaign-id>",
"subject": "You're in, {{!subscriber-firstName!}}",
"message": "<p>Your join link: {{!subscriber-joinURL!}}. Add it: {{!add_to_google_calendar!}}</p>",
"audience": "Registrants",
"integrationID": "<your-email-integration-id>",
"time": "1 day before at 9:00am"
}

The audience param accepts the group name or its ID. The default audiences are Registrants, Attendees, and Non-Attendees. A "catch the replay" nudge typically targets Non-Attendees with {{!subscriber-replayURL!}}. Match every merge token name exactly as show-merge-fields returns it (for example {{!add_to_google_calendar!}}); the brace and bang style does not matter, only the name.


Documentation downloads

These three companion files are the deeper, developer-facing references. They are versioned and updated as the MCP services evolve, so always pull the latest version.


Tips and troubleshooting

  • 401 / invalid_token: the token is missing, malformed, or expired, or lacks the mcp:use scope. Re-issue it at Settings, Developer, and re-paste with the Bearer prefix and no trailing whitespace.

  • Wrong host: the MCP endpoint is https://app-api.aevent.com/mcp. Do not point your client at aevent.com (the sales site) or app.aevent.com (the app UI).

  • Tool not found: ask your agent to run tools/list to see exactly what your connection exposes, then use the exact tool name it returns rather than assuming a spelling.

  • Campaign not found: you likely constructed or guessed a wtl, or passed a name instead of the ID. Always resolve it from list-campaigns and pass the exact 15-character key.

  • Wrong merge tokens: a token like {{first_name}} renders literally because there is no first_name token, not because of its braces. The token NAME must match exactly what show-merge-fields returns (for example {{!subscriber-firstName!}}). Always confirm the name with show-merge-fields before drafting copy.


Documentation v2.2 - Updated 2026-06-17.

Did this answer your question?