nevent-dev avatar

Nevent MCP

nevent-dev/mcp-nevent

Connects Claude and ChatGPT to Nevent's live-event CRM platform with 52 tools across campaigns, analytics, audience segmentation, paid ad management, and short URL tracking. You get OAuth 2.1 hosted mode or local stdio with a JWT token. Ask it to pull registration breakdowns by ticket type, filter campaigns by open rate, build segments of VIP buyers who haven't engaged recently, schedule sends, or compare ROAS across Meta campaigns. Includes multi-tenant support and per-user tracking links. Reach for this if you're running events at scale and want your AI assistant to query analytics, manage email campaigns, and orchestrate paid media without switching between dashboards.

GitHub stars
1
tools
64
auth
Secret needed
transport
STDIO, HTTP
env vars
2
last updated
Aug 24, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.nevent.ai/ --name mcp-nevent

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http mcp-nevent https://mcp.nevent.ai/

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 64 tools

Verified live against the running server on Nov 6, 2026.

nevent_analytics_queryQuery event marketing analytics. Supports dimensions, metrics, time ranges, and filters across campaigns, purchases, fans (user_tenants), and more. MANDATORY RULES: (1) ALWAYS call nevent_analytics_table_schema BEFORE querying to discover exact field names. NEVER guess field n...16 params

Query event marketing analytics. Supports dimensions, metrics, time ranges, and filters across campaigns, purchases, fans (user_tenants), and more. MANDATORY RULES: (1) ALWAYS call nevent_analytics_table_schema BEFORE querying to discover exact field names. NEVER guess field n...

Parameters* required
collection*string
Collection name, e.g. "purchases", "tickets", "campaigns"
compareDimensionsobject
Comparative dimension analysis configuration
comparePeriodsobject
Period-over-period comparison (YoY, MoM, etc.) — v3.19.0+
ctesarray
CTE (Common Table Expression) sub-queries — v3.19.0+
dimensionsarray
Fields to group by (SELECT dimensions). Omit for aggregate-only queries.
distinctboolean
Add SELECT DISTINCT to deduplicate result rows (v3.19.0+)
dryRunboolean
Dry-run mode: estimate query cost without executing (v3.19.0+). Response includes estimatedBytes in metadata.
filtersarray
WHERE clause filters to apply before aggregation
groupByarray
Calendar-based group-by fields (v3.19.0+). Known values: dayOfWeek | weekOfYear | hourOfDay | minuteOfHour | month | quarter | year
havingarray
HAVING clause filters to apply after aggregation
limitnumber
Maximum rows to return (max 1000, default 100)default: 100
metricsarray
Aggregated metrics to compute (SUM, COUNT, etc.)
sortvalue
Sort the result rows. Accepts a single { field, order } object or an array for multi-field sorting.
sourceTablestring
CTE name to use as source instead of a raw collection — v3.19.0+
timeGranularitystring
Time granularity for bucketing (v3.19.0+). Known values: day | week | month | quarter | year | hour | minute | fiscalQuarter | fiscalYear
timeRangeobject
Time range filter with optional granularity for trend analysis
nevent_analytics_capabilitiesDiscover available analytics tables and their summary metadata. Call this before nevent_analytics_query, then use nevent_analytics_table_schema to learn valid field names for a selected table.

Discover available analytics tables and their summary metadata. Call this before nevent_analytics_query, then use nevent_analytics_table_schema to learn valid field names for a selected table.

No parameters. Call it with no arguments.

nevent_analytics_table_schemaGet the full column schema for a specific analytics table including column names, types, and descriptions.1 params

Get the full column schema for a specific analytics table including column names, types, and descriptions.

Parameters* required
table*string
Table name to inspect, e.g. "purchases", "tickets"
nevent_analytics_filter_valuesGet distinct values available for a field in an analytics table. Useful for building valid filter values before querying.2 params

Get distinct values available for a field in an analytics table. Useful for building valid filter values before querying.

Parameters* required
collection*string
Collection name to get filter values for
filters*array
Fields to get distinct values for
nevent_campaign_reportGenerate the monthly campaign report of the current brand for a calendar month (year + month). Executes 13 parallel queries in one call: marketing campaign metrics for that month and the previous one, ROI and attribution, revenue, variable costs, 24-month purchase history, tra...2 params

Generate the monthly campaign report of the current brand for a calendar month (year + month). Executes 13 parallel queries in one call: marketing campaign metrics for that month and the previous one, ROI and attribution, revenue, variable costs, 24-month purchase history, tra...

Parameters* required
month*integer
Calendar month of the report, 1 (January) to 12 (December)
year*integer
Calendar year of the monthly report, e.g. 2026
nevent_segmentation_criteriaList all available audience segmentation criteria including their IDs, operators, and value types.

List all available audience segmentation criteria including their IDs, operators, and value types.

No parameters. Call it with no arguments.

nevent_segment_previewPreview estimated audience size for a segment definition without saving it. Returns fan count and sample contacts. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stan...1 params

Preview estimated audience size for a segment definition without saving it. Returns fan count and sample contacts. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stan...

Parameters* required
definition*object
Segment DSL. Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined: a fan must match EVERY stanza. To require A AND B, put them in...
nevent_segment_executeExecute a segment definition and retrieve matching contacts with pagination. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stanza. To require A AND B, put them in se...3 params

Execute a segment definition and retrieve matching contacts with pagination. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stanza. To require A AND B, put them in se...

Parameters* required
definition*object
Segment DSL. Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined: a fan must match EVERY stanza. To require A AND B, put them in...
pagenumber
Zero-based page index (default 0)default: 0
page_sizenumber
Results per page (max 100, default 20)default: 20
nevent_dimension_valuesAutocomplete values for a segmentation criterion. Useful for discovering valid values when building segment definitions.2 params

Autocomplete values for a segmentation criterion. Useful for discovering valid values when building segment definitions.

Parameters* required
criterion_id*string
Criterion ID from nevent_segmentation_criteria, e.g. "country", "event_attended"
searchstring
Optional search string to filter matching values
nevent_helpGet guidance when you are unsure which tool to call or how to handle an error. Returns structured markdown for the requested topic. Call with topic="workflows" for common patterns, topic="errors" for error code meanings, topic="tenants" for multi-tenant guidance, or topic=<cat...1 params

Get guidance when you are unsure which tool to call or how to handle an error. Returns structured markdown for the requested topic. Call with topic="workflows" for common patterns, topic="errors" for error code meanings, topic="tenants" for multi-tenant guidance, or topic=<cat...

Parameters* required
topicstring
Topic to get guidance on. Omit to get an index of all available topics. Values: workflows | errors | tenants | analytics | segments | campaigns | templates | deliverability | paid_media | short_url...one of workflows · errors · tenants · analytics · segments · campaigns
nevent_list_tenantsList all Nevent tenants (clients) accessible to the authenticated user. Returns tenant IDs and names for use with nevent_switch_tenant. SUPERADMIN: returns all tenants in the platform. OWNER/ADMIN: returns only your tenant hierarchy subtree (up to 3 levels).

List all Nevent tenants (clients) accessible to the authenticated user. Returns tenant IDs and names for use with nevent_switch_tenant. SUPERADMIN: returns all tenants in the platform. OWNER/ADMIN: returns only your tenant hierarchy subtree (up to 3 levels).

No parameters. Call it with no arguments.

nevent_switch_tenantSwitch the active tenant for this session. All subsequent queries (analytics, segments, campaigns, paid media) will use the specified tenant's data. SUPERADMIN: this mutates your user record in the database — the switch PERSISTS. Always call nevent_reset_tenant when cross-tena...1 params

Switch the active tenant for this session. All subsequent queries (analytics, segments, campaigns, paid media) will use the specified tenant's data. SUPERADMIN: this mutates your user record in the database — the switch PERSISTS. Always call nevent_reset_tenant when cross-tena...

Parameters* required
tenant_id*string
The tenant ID to activate for this MCP session. All subsequent analytics, segmentation, campaign, and paid media queries will use this tenant's data. Use nevent_list_tenants to discover available t...
nevent_reset_tenantRestore the original tenant context set at session start. ALWAYS call this after cross-tenant queries (nevent_switch_tenant) to avoid leaving your SUPERADMIN account pointing to another tenant. For SUPERADMIN users, tenant switches PERSIST in the user record in the database —...

Restore the original tenant context set at session start. ALWAYS call this after cross-tenant queries (nevent_switch_tenant) to avoid leaving your SUPERADMIN account pointing to another tenant. For SUPERADMIN users, tenant switches PERSIST in the user record in the database —...

No parameters. Call it with no arguments.

nevent_get_regional_settingsGet the regional settings of the organization you are working in: reporting currency, time zone, operating country and communication language, each with where it comes from (own, inherited, market or platform default). Use them to show amounts and dates the way the organizatio...

Get the regional settings of the organization you are working in: reporting currency, time zone, operating country and communication language, each with where it comes from (own, inherited, market or platform default). Use them to show amounts and dates the way the organizatio...

No parameters. Call it with no arguments.

nevent_list_segmentsCall this FIRST when you need to build or target an audience. Returns all saved segments for the active tenant: id, name, estimated contact count, and last-execution date. Use the returned segment ids to call nevent_get_segment (for the filter definition), nevent_segment_previ...

Call this FIRST when you need to build or target an audience. Returns all saved segments for the active tenant: id, name, estimated contact count, and last-execution date. Use the returned segment ids to call nevent_get_segment (for the filter definition), nevent_segment_previ...

No parameters. Call it with no arguments.

nevent_get_segmentRetrieve the complete filter definition of a specific segment (criteria stanzas, operators, values) along with its estimated contact count and metadata. Call this after nevent_list_segments when you need to inspect, clone, or explain a segment's logic. Next step: nevent_segmen...1 params

Retrieve the complete filter definition of a specific segment (criteria stanzas, operators, values) along with its estimated contact count and metadata. Call this after nevent_list_segments when you need to inspect, clone, or explain a segment's logic. Next step: nevent_segmen...

Parameters* required
segment_id*string
Identifier of the segment to retrieve. Get valid IDs from nevent_list_segments.
nevent_create_segmentCreate and persist a new audience segment from a filter definition. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stanza. To require A AND B, put them in separate st...3 params

Create and persist a new audience segment from a filter definition. SEMANTICS: criteria in the same stanza are OR-combined — a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined — a fan must match EVERY stanza. To require A AND B, put them in separate st...

Parameters* required
definition*object
Segment DSL. Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined: a fan must match EVERY stanza. To require A AND B, put them in...
descriptionstring
Optional description of the segment's purpose
name*string
Human-readable name for the segment, e.g. "VIP Attendees 2025"
nevent_update_segmentModify an existing segment's name and/or filter definition. Call this after nevent_get_segment to inspect the current definition before changing it. At least one of name or definition must be provided. After update, call nevent_segment_preview to confirm the new audience count...3 params

Modify an existing segment's name and/or filter definition. Call this after nevent_get_segment to inspect the current definition before changing it. At least one of name or definition must be provided. After update, call nevent_segment_preview to confirm the new audience count...

Parameters* required
definitionobject
Replacement segment DSL. The full definition is replaced when provided. Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined: a f...
namestring
New human-readable name for the segment. Omit to leave unchanged.
segment_id*string
Identifier of the segment to update. Use nevent_list_segments to get valid segment IDs.
nevent_create_campaignCreate a new campaign draft (email, SMS, WhatsApp, push, or multi-channel). PREREQUISITES: call nevent_list_segments to get the target segment_id, and nevent_list_templates to get the template_id. The campaign is always created in DRAFT status — no messages are sent. After cre...17 params

Create a new campaign draft (email, SMS, WhatsApp, push, or multi-channel). PREREQUISITES: call nevent_list_segments to get the target segment_id, and nevent_list_templates to get the template_id. The campaign is always created in DRAFT status — no messages are sent. After cre...

Parameters* required
channel*string
Delivery channel (nev-api CommunicationChannel enum). Use EMAIL_ONLY, SMS_ONLY, WHATSAPP_ONLY, PUSH_ONLY for single-channel; EMAIL_AND_SMS, EMAIL_AND_WHATSAPP, PUSH_AND_SMS, PUSH_AND_WHATSAPP, SMS_...one of EMAIL_ONLY · SMS_ONLY · WHATSAPP_ONLY · PUSH_ONLY · EMAIL_AND_SMS · EMAIL_AND_WHATSAPP
email_bodystring
HTML body content of the email (optional, can be set later)
email_subjectstring
Email subject line (required when channel=EMAIL, max 998 chars per RFC 5322)
from_namestring
Sender display name (optional, defaults to tenant sender name)
messagestring
Message text body (required when channel=SMS or WHATSAPP)
name*string
Campaign name (required, max 255 characters)
preview_textstring
Inbox preview text (optional, shown in email client summaries)
reply_tostring
Reply-To email address (optional). Recipients' replies go to this address instead of the From address. Must be a valid email, max 254 chars. Only meaningful for email-bearing channels.
segment_idsarray
Array of segment IDs to target (optional, can be set later)
sender_identity_idstring
Sender to send the email campaign with: an identityId from nevent_get_sending_profile → senders.senders[] with selectable=true. Omit it to use the organization's default sender (senders.defaultIden...
template_idstring
Template ID to pre-populate campaign content (optional)
utm_campaignstring
UTM campaign parameter (e.g. "summer-sale-2026"). Max 100 chars. Defaults to slugified campaign name.
utm_contentstring
UTM content parameter — differentiates links/variants. Max 100 chars.
utm_custom_paramsobject
Custom tracking parameters as key-value pairs appended to tracked links (optional).
utm_mediumstring
UTM medium parameter (e.g. "email", "sms"). Max 100 chars. Auto-detected from channel if omitted.
utm_sourcestring
UTM source parameter (e.g. "nevent", "newsletter"). Max 100 chars.
utm_termstring
UTM term parameter — paid search keyword. Max 100 chars.
nevent_schedule_campaignSchedule an existing DRAFT campaign for delivery at a specific ISO-8601 datetime. IMPORTANT: this is a DESTRUCTIVE action — the campaign will be queued for sending to real contacts. You MUST set confirmed=true in the call, which requires explicit user consent. Call nevent_get_...3 params

Schedule an existing DRAFT campaign for delivery at a specific ISO-8601 datetime. IMPORTANT: this is a DESTRUCTIVE action — the campaign will be queued for sending to real contacts. You MUST set confirmed=true in the call, which requires explicit user consent. Call nevent_get_...

Parameters* required
campaign_id*string
Campaign ID to schedule (must be in DRAFT status)
confirmed*boolean
Must be the literal value true to proceed. Set confirmed=true to confirm you want to schedule this campaign for sending.
scheduled_time*string
ISO 8601 datetime for scheduled send (must be in the future). Example: "2026-05-01T10:00:00Z" or "2026-05-01T10:00:00+02:00"
nevent_quote_campaignEstimate the credit cost and eligible audience of a campaign BEFORE sending it. Read-only pre-flight check against nev-api POST /campaigns/quote — it never debits credits and never sends. Call this after nevent_create_campaign and before nevent_schedule_campaign: scheduling a...3 params

Estimate the credit cost and eligible audience of a campaign BEFORE sending it. Read-only pre-flight check against nev-api POST /campaigns/quote — it never debits credits and never sends. Call this after nevent_create_campaign and before nevent_schedule_campaign: scheduling a...

Parameters* required
channel*string
Delivery channel to quote (nev-api CommunicationChannel enum). Legacy values EMAIL/SMS/WHATSAPP are accepted and mapped to the _ONLY variants. WHATSAPP_ONLY returns a WhatsApp-specific audience est...one of EMAIL_ONLY · SMS_ONLY · WHATSAPP_ONLY · PUSH_ONLY · EMAIL_AND_SMS · EMAIL_AND_WHATSAPP
segment_idsarray
Segment IDs to quote (optional, max 20). Omit to quote the full addressable audience for the channel. More than 20 segments makes the backend skip the audience estimate.
transactionalboolean
Whether this is a transactional campaign (default false). Transactional uses the TRANSACTIONAL consent mode for the audience estimate, which reaches recipients who have opted out of marketing.
nevent_get_campaign_metricsGet the delivery and engagement counters nev-api holds for one campaign: totalRecipients, totalSent, totalDelivered, totalBounces, totalComplaints, totalOpens, uniqueOpens, totalClicks, uniqueClicks, unsubscribes, the derived rates (openRate, clickRate, clickToOpenRate, bounce...1 params

Get the delivery and engagement counters nev-api holds for one campaign: totalRecipients, totalSent, totalDelivered, totalBounces, totalComplaints, totalOpens, uniqueOpens, totalClicks, uniqueClicks, unsubscribes, the derived rates (openRate, clickRate, clickToOpenRate, bounce...

Parameters* required
campaign_id*string
Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign.
nevent_list_campaign_recipientsList the individual recipients of a campaign and what happened to each message. Use this to put names behind the aggregate numbers from nevent_get_campaign_metrics: who bounced, who clicked, who unsubscribed. Filter with status (SCHEDULED, DELIVERED, OPENED, CLICKED, BOUNCES,...6 params

List the individual recipients of a campaign and what happened to each message. Use this to put names behind the aggregate numbers from nevent_get_campaign_metrics: who bounced, who clicked, who unsubscribed. Filter with status (SCHEDULED, DELIVERED, OPENED, CLICKED, BOUNCES,...

Parameters* required
campaign_id*string
Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign.
pageinteger
Zero-based page number. Default: 0 (first page).
page_sizeinteger
Recipients per page (1-100). Default: 25. Keep this small — recipient rows contain personal data and large pages waste context.
searchstring
Free-text search across recipient name and email address.
segment_idstring
Restrict the listing to recipients that came from one segment. Useful on multi-segment campaigns to compare which segment engaged. Get segment IDs from nevent_list_segments.
statusstring
Filter recipients by delivery state. SCHEDULED = queued but not sent; DELIVERED = accepted by the receiving server; OPENED / CLICKED = engaged; BOUNCES = delivery failed; UNSUBSCRIBES = opted out f...one of SCHEDULED · DELIVERED · OPENED · CLICKED · BOUNCES · UNSUBSCRIBES
nevent_list_eventsList the events of the active tenant, one page at a time (nev-api GET /events). Use it to find an event ID before reading its sales with nevent_event_sales_provenance, or to look an event up by name. By default it returns upcoming events ordered by start date; pass future=fals...8 params

List the events of the active tenant, one page at a time (nev-api GET /events). Use it to find an event ID before reading its sales with nevent_event_sales_provenance, or to look an event up by name. By default it returns upcoming events ordered by start date; pass future=fals...

Parameters* required
active_onlyboolean
true returns only active events.
futureboolean
true (default) lists upcoming events; false lists past events. Use false to look up the event of a past campaign or sales period.
naturestring
Filter by event nature: TICKETED (ticket sales), WAITLIST, REGISTRATION (free sign-up) or UNKNOWN. Sales provenance only makes sense for TICKETED events.one of TICKETED · WAITLIST · REGISTRATION · UNKNOWN
orderstring
Sort direction. Default asc.one of asc · desc
pageinteger
Zero-based page number. Default 0.
page_sizeinteger
Events per page (1-100). Default 25.
searchstring
Free-text search on the event name.
sortstring
Field to sort by. Default venue.startDate. description.name sorts by event name. Any other value is not accepted (nev-api would silently fall back to venue.startDate).one of venue.startDate · venue.endDate · description.name · venue.location.name · ticketsAvailable · ticketsSold
nevent_event_sales_provenanceWhere the ticket sales of ONE event come from (nev-data-api, analytics warehouse). Pick the event with nevent_list_events (TICKETED events), then choose a view. summary (default): sales grouped by dimension — provider, distribution channel, purchase channel, promo code or mark...12 params

Where the ticket sales of ONE event come from (nev-data-api, analytics warehouse). Pick the event with nevent_list_events (TICKETED events), then choose a view. summary (default): sales grouped by dimension — provider, distribution channel, purchase channel, promo code or mark...

Parameters* required
currencystring
ISO 4217 currency (EUR). NONE selects purchases without currency. Omit to get one block per currency: amounts of different currencies are never added together.
dimensionstring
Grouping dimension. summary: provider | distribution | purchaseChannel | promoCode | marketing (default marketing). daily: provider | distribution | purchaseChannel | promoCode (default distributio...one of provider · distribution · purchaseChannel · promoCode · marketing
event_id*string
Event ID (24-char hex). Get it from nevent_list_events.
from*string
First purchase day, YYYY-MM-DD (local day of tz). Required by every view.
levelstring
summary with dimension=marketing only: source (default), medium or campaign. medium and campaign need parent.one of source · medium · campaign
parentstring
summary with dimension=marketing and level=medium|campaign: the key of the group one level up, copied verbatim from a previous summary response.
populationstring
Which purchases to count. SETTLED_SALES (default): settled sales. REFUNDED_FULL: fully refunded. REFUNDED_UNREPRESENTABLE: other refunds (may be partial, refunded amount unknown). ALL_REPORTED: all...one of SETTLED_SALES · REFUNDED_FULL · REFUNDED_UNREPRESENTABLE · ALL_REPORTED
searchstring
summary only: filter groups by text (max 100 chars).
to*string
Last purchase day, YYYY-MM-DD, inclusive. Max range 3660 days.
topinteger
Groups to list before collapsing the rest into «Otros». summary: 1-50, default 20. daily: 1-10, default 4.
tzstring
IANA time zone that defines the purchase days. Default Europe/Madrid.
viewstring
What to return. summary (default): sales grouped by provider / distribution / purchase channel / promo code / marketing (UTM). daily: dense day-by-day series stacked by one distribution dimension....one of overview · summary · daily · campaigns
nevent_get_campaign_deliverabilityEmail deliverability of ONE campaign (nev-api, the "Entregabilidad" tab of the campaign). view=summary (default): sent, delivered, soft bounces, hard bounces and complaints, plus a warning when something is off. view=bounce_reasons: why messages bounced, grouped by SES bounce...3 params

Email deliverability of ONE campaign (nev-api, the "Entregabilidad" tab of the campaign). view=summary (default): sent, delivered, soft bounces, hard bounces and complaints, plus a warning when something is off. view=bounce_reasons: why messages bounced, grouped by SES bounce...

Parameters* required
bounce_typestring
Required when view=bounce_reasons: the bounce family, soft or hard.one of soft · hard
campaign_id*string
Campaign ID. Get it from nevent_list_campaigns.
viewstring
summary (default): sent, delivered, soft/hard bounces, complaints and an optional warning. bounce_reasons: bounce reasons grouped by SES bounce subtype; needs bounce_type. segment_breakdown: delive...one of summary · bounce_reasons · segment_breakdown
nevent_get_campaign_unsubscribesUnsubscribes and spam complaints of ONE campaign (nev-api). view=summary (default): number of unsubscribes, unsubscribe rate, spam complaints and complaint rate. view=reasons: the reasons people gave when unsubscribing, grouped into canonical buckets. view=segment_breakdown: u...2 params

Unsubscribes and spam complaints of ONE campaign (nev-api). view=summary (default): number of unsubscribes, unsubscribe rate, spam complaints and complaint rate. view=reasons: the reasons people gave when unsubscribing, grouped into canonical buckets. view=segment_breakdown: u...

Parameters* required
campaign_id*string
Campaign ID. Get it from nevent_list_campaigns.
viewstring
summary (default): unsubscribes, unsubscribe rate, spam complaints and complaint rate. reasons: voluntary unsubscribe reasons grouped into canonical buckets. segment_breakdown: unsubscribes and com...one of summary · reasons · segment_breakdown
nevent_list_campaignsCall this to discover existing campaigns before reporting on performance or scheduling new sends. Returns campaigns for the active tenant with status, channel, send date, and top-level engagement metrics (sent, open rate, click rate). Filter by status (DRAFT/SCHEDULED/SENT/FAI...7 params

Call this to discover existing campaigns before reporting on performance or scheduling new sends. Returns campaigns for the active tenant with status, channel, send date, and top-level engagement metrics (sent, open rate, click rate). Filter by status (DRAFT/SCHEDULED/SENT/FAI...

Parameters* required
channelstring
Filter by channel: EMAIL | SMS | WHATSAPPone of EMAIL · SMS · WHATSAPP
date_fromstring
Filter campaigns created on or after this date (ISO 8601, e.g. "2024-01-01T00:00:00Z")
date_tostring
Filter campaigns created on or before this date (ISO 8601, e.g. "2024-12-31T23:59:59Z")
limitinteger
Maximum number of campaigns to return (default 50, max 200)default: 50
sortstring
Field to sort by: createdAt (default) | executedAt | nameone of createdAt · executedAt · namedefault: createdAt
sort_orderstring
Sort direction: asc | desc (default desc)one of asc · descdefault: desc
statusstring
Filter by campaign status: EXECUTED | DRAFT | PAUSED | STOPPED | SCHEDULEDone of EXECUTED · DRAFT · PAUSED · STOPPED · SCHEDULED
nevent_get_campaignRetrieve the complete record of a campaign: email subject and body HTML, sending profile, all delivery and engagement metrics (sent, delivered, opens, clicks, unsubscribes, bounces), and tracked links with click counts. Call this after nevent_list_campaigns to drill into a spe...1 params

Retrieve the complete record of a campaign: email subject and body HTML, sending profile, all delivery and engagement metrics (sent, delivered, opens, clicks, unsubscribes, bounces), and tracked links with click counts. Call this after nevent_list_campaigns to drill into a spe...

Parameters* required
campaign_id*string
The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs.
nevent_get_campaign_insightsGet pre-computed AI analysis for a specific campaign: performance summary, detected anomalies (e.g. unusually high bounce rate), and improvement recommendations. Call this after nevent_get_campaign when the user asks "how did this campaign perform?" or "what could be improved?...1 params

Get pre-computed AI analysis for a specific campaign: performance summary, detected anomalies (e.g. unusually high bounce rate), and improvement recommendations. Call this after nevent_get_campaign when the user asks "how did this campaign perform?" or "what could be improved?...

Parameters* required
campaign_id*string
The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs.
nevent_list_templatesCall this to discover available email templates before creating a campaign. Returns templates for the active tenant: id, name, tags, and whether they use MJML or HTML. Use the returned template id in nevent_create_campaign. Call nevent_get_template to inspect the full HTML/MJM...5 params

Call this to discover available email templates before creating a campaign. Returns templates for the active tenant: id, name, tags, and whether they use MJML or HTML. Use the returned template id in nevent_create_campaign. Call nevent_get_template to inspect the full HTML/MJM...

Parameters* required
content_naturestring
Filter by AI-assigned content nature classification (e.g. "promotional", "transactional", "newsletter", "event_reminder"). Omit to return templates of all natures.
limitinteger
Maximum number of templates to return (default 50, max 200)default: 50
sortstring
Sort field: createdAt | modifiedAt | name (default modifiedAt)one of createdAt · modifiedAt · namedefault: modifiedAt
sort_orderstring
Sort direction: asc | desc (default desc)one of asc · descdefault: desc
tagsarray
Filter templates by tags. Only templates that have ALL specified tags are returned. Omit to return templates regardless of tags.
nevent_get_templateRetrieve the full content of an email template: MJML source, rendered HTML, tags, and usage metrics (how many campaigns used this template). Call this after nevent_list_templates when the user wants to inspect, copy, or modify a template. Next step: nevent_update_template to c...1 params

Retrieve the full content of an email template: MJML source, rendered HTML, tags, and usage metrics (how many campaigns used this template). Call this after nevent_list_templates when the user wants to inspect, copy, or modify a template. Next step: nevent_update_template to c...

Parameters* required
template_id*string
The Identifier of the template to retrieve. Get valid IDs from nevent_list_templates.
nevent_create_templateCreate and persist a new email template with MJML or raw HTML content. Prefer MJML for responsive email (set format="MJML"). The template is saved and available for reuse across campaigns. After creation, call nevent_create_campaign with the returned template id to send it to...5 params

Create and persist a new email template with MJML or raw HTML content. Prefer MJML for responsive email (set format="MJML"). The template is saved and available for reuse across campaigns. After creation, call nevent_create_campaign with the returned template id to send it to...

Parameters* required
format*string
Template format: "html" for raw HTML, "mjml" for MJML source codeone of html · mjml
html_bodystring
Raw HTML content for the template. Provide this field when format is "html".
mjml_bodystring
MJML source code for the template. Provide this field when format is "mjml".
name*string
Human-readable name for the template, e.g. "Event Reminder — Spring 2026"
tagsarray
List of string tags to categorise the template (e.g. ["promotional", "event", "reminder"]). Omit to create with no tags.
nevent_update_templateUpdate an existing email template: change the name, MJML/HTML content, or tags. Call nevent_get_template first to inspect the current version before modifying. At least one of name, content, or tags must be provided. Note: updating a template does NOT retroactively change camp...6 params

Update an existing email template: change the name, MJML/HTML content, or tags. Call nevent_get_template first to inspect the current version before modifying. At least one of name, content, or tags must be provided. Note: updating a template does NOT retroactively change camp...

Parameters* required
formatstring
New template format: "html" or "mjml". Omit to leave unchanged.one of html · mjml
html_bodystring
New raw HTML content for the template. Omit to leave unchanged.
mjml_bodystring
New MJML source code for the template. Omit to leave unchanged.
namestring
New human-readable name for the template. Omit to leave unchanged.
tagsarray
Replacement list of tags. The full tag list is replaced when provided. Omit to leave existing tags unchanged.
template_id*string
Identifier of the template to update. Use nevent_list_templates to get valid template IDs.
nevent_clone_templateClone an existing email template to create a duplicate as a starting point for a new campaign. Use after nevent_list_templates to pick a template to duplicate. Returns the new cloned template (id, name with "(Copy)" suffix, format, tags). Typically follow with nevent_rename_te...1 params

Clone an existing email template to create a duplicate as a starting point for a new campaign. Use after nevent_list_templates to pick a template to duplicate. Returns the new cloned template (id, name with "(Copy)" suffix, format, tags). Typically follow with nevent_rename_te...

Parameters* required
template_id*string
The ID of the email template to clone. Use nevent_list_templates to discover valid template IDs. The clone will have a new unique ID and its name will be suffixed with "(Copy)".
nevent_rename_templateRename an email template without modifying its content (lightweight — no re-render triggered). Use after nevent_clone_template to give the clone a proper name, or to reorganize existing templates. Returns the updated template with the new name. Next step: nevent_update_templat...2 params

Rename an email template without modifying its content (lightweight — no re-render triggered). Use after nevent_clone_template to give the clone a proper name, or to reorganize existing templates. Returns the updated template with the new name. Next step: nevent_update_templat...

Parameters* required
name*string
The new name for the template. Must be between 1 and 255 characters. Duplicate names are allowed by the API.
template_id*string
The ID of the email template to rename. Use nevent_list_templates to get valid template IDs.
nevent_preview_templatePreview a template with merge tags resolved against a sample user's profile. Returns originalBody (raw {{tags}}) and personalizedBody (tags replaced with user data), plus detectedMergeTags (all unique tags found). Always call before nevent_send_test_template to validate render...4 params

Preview a template with merge tags resolved against a sample user's profile. Returns originalBody (raw {{tags}}) and personalizedBody (tags replaced with user data), plus detectedMergeTags (all unique tags found). Always call before nevent_send_test_template to validate render...

Parameters* required
sample_user_emailstring
Optional user email to look up within the active tenant for merge-tag personalization. Ignored when sample_user_id is also provided. Omit to return raw merge tags only.
sample_user_idstring
Optional MongoDB user ID for merge-tag personalization. When provided, {{name}}, {{email}} and custom fields are resolved from this user's profile. Takes priority over sample_user_email. Omit to re...
subjectstring
Optional subject line to preview with merge-tag resolution. Example: "Hola {{name|title}}, tu resumen semanal". Omit to skip subject personalization.
template_id*string
The ID of the email template to preview. Use nevent_list_templates to discover valid template IDs.
nevent_send_test_templateSend a test email of the template to one or more email addresses via SES. Use after nevent_preview_template validates rendering. Test emails carry test indicators in headers and are sent via AWS SES. This call may take up to 60 seconds due to SES delivery. Returns success stat...7 params

Send a test email of the template to one or more email addresses via SES. Use after nevent_preview_template validates rendering. Test emails carry test indicators in headers and are sent via AWS SES. This call may take up to 60 seconds due to SES delivery. Returns success stat...

Parameters* required
campaign_idstring
Optional campaign ID: send the test as that campaign will be sent (its sender, its own sender name and reply-to address). Omit to send it with the organization's default sender.
emails*array
List of email addresses to send the test email to. Each entry must be a valid email address. Minimum 1, maximum 10 recipients. Example: ["qa@example.com", "dev@company.com"].
parametersobject
Optional custom parameters for merge-tag substitution in the test email. Key-value pairs where keys match merge tag names. Example: {name: "Juan", city: "Madrid"}. When provided, overrides sample u...
sample_user_emailstring
Optional user email within the active tenant for merge-tag personalization. Ignored when sample_user_id is also provided.
sample_user_idstring
Optional user ID for merge-tag personalization in the test email. When provided, {{name}}, {{email}} and custom fields are resolved from this user's profile. Takes priority over sample_user_email.
subjectstring
Optional subject line for the test email. Omit to use the default subject from the template.
template_id*string
The ID of the email template to send as a test. Use nevent_list_templates to discover valid template IDs.
nevent_get_sending_profileCall this before creating a campaign to verify the tenant is ready to send email. Returns: sender domain(s) and their validation status, warm-up phase (cold/warming/warmed), daily send rate cap, throttle settings, and senders: the senders an email campaign can be sent with (id...

Call this before creating a campaign to verify the tenant is ready to send email. Returns: sender domain(s) and their validation status, warm-up phase (cold/warming/warmed), daily send rate cap, throttle settings, and senders: the senders an email campaign can be sent with (id...

No parameters. Call it with no arguments.

nevent_get_suppressions_summaryGet a deliverability health snapshot for the active tenant: total suppressed emails (hard bounces + complaints + manual unsubscribes), 30-day trend, and breakdown by suppression reason. Call this when the user asks about list health, unsubscribe rates, or bounce issues. A supp...

Get a deliverability health snapshot for the active tenant: total suppressed emails (hard bounces + complaints + manual unsubscribes), 30-day trend, and breakdown by suppression reason. Call this when the user asks about list health, unsubscribe rates, or bounce issues. A supp...

No parameters. Call it with no arguments.

nevent_paid_ads_statusCheck if a paid ads provider account (meta, google, or tiktok) is connected to this tenant and when data was last synced. Call this first before any ads queries to confirm the integration is active. Returns: connected (bool), accountId, accountName, lastSyncAt.1 params

Check if a paid ads provider account (meta, google, or tiktok) is connected to this tenant and when data was last synced. Call this first before any ads queries to confirm the integration is active. Returns: connected (bool), accountId, accountName, lastSyncAt.

Parameters* required
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_paid_ads_healthGet operational health signals for a paid ads provider. Always call this before claiming "no data" to the user — it surfaces throttle state, feature gate enrollment, stale syncs, and tier. Key fields: throttle.isThrottled (API throttled), throttle.nextAttemptAt (next retry), f...1 params

Get operational health signals for a paid ads provider. Always call this before claiming "no data" to the user — it surfaces throttle state, feature gate enrollment, stale syncs, and tier. Key fields: throttle.isThrottled (API throttled), throttle.nextAttemptAt (next retry), f...

Parameters* required
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_list_paid_campaignsList all paid campaigns synced from a provider (meta, google, or tiktok). Call this to discover campaignId values — you need a campaignId to call insights or ad group tools. Returns campaign IDs, names, statuses, objectives, and budgets. Use the returned campaignId values with...1 params

List all paid campaigns synced from a provider (meta, google, or tiktok). Call this to discover campaignId values — you need a campaignId to call insights or ad group tools. Returns campaign IDs, names, statuses, objectives, and budgets. Use the returned campaignId values with...

Parameters* required
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_get_paid_campaign_insightsGet daily performance metrics for a specific paid campaign. Use after nevent_list_paid_campaigns to get a valid campaignId. Date range defaults to the last 7 days when from/to are omitted. Returns daily rows with: spend, impressions, reach, frequency, clicks, CTR, CPM, CPC, RO...4 params

Get daily performance metrics for a specific paid campaign. Use after nevent_list_paid_campaigns to get a valid campaignId. Date range defaults to the last 7 days when from/to are omitted. Returns daily rows with: spend, impressions, reach, frequency, clicks, CTR, CPM, CPC, RO...

Parameters* required
campaignId*string
Paid campaign ID from the provider (not a Nevent ObjectId). Use nevent_list_paid_campaigns to get valid campaignId values.
fromstring
Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
tovalue
End date for insights window (yyyy-MM-dd). Defaults to today when omitted.
nevent_paid_attributionGet the most business-focused view of paid ads: links campaigns to actual ticket sales and revenue via UTM matching. Returns per-campaign: ticketsSold, revenue, budget, utmCampaigns (matched UTM values), status. Use this when the user asks about ROI, conversion, or revenue fro...1 params

Get the most business-focused view of paid ads: links campaigns to actual ticket sales and revenue via UTM matching. Returns per-campaign: ticketsSold, revenue, budget, utmCampaigns (matched UTM values), status. Use this when the user asks about ROI, conversion, or revenue fro...

Parameters* required
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_list_paid_ad_groupsList ad groups (ad sets) for a paid ads provider, optionally filtered by campaign. Use after nevent_list_paid_campaigns to drill down into a campaign's ad sets. Returns ad group IDs, names, statuses, and lastSyncedAt. Use the returned adGroupId values with the ad group insight...2 params

List ad groups (ad sets) for a paid ads provider, optionally filtered by campaign. Use after nevent_list_paid_campaigns to drill down into a campaign's ad sets. Returns ad group IDs, names, statuses, and lastSyncedAt. Use the returned adGroupId values with the ad group insight...

Parameters* required
campaignIdstring
Optional: filter ad groups by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_get_paid_ad_group_insightsGet daily performance metrics for a specific ad group (ad set). Use after nevent_list_paid_ad_groups to get a valid adGroupId. Date range defaults to the last 7 days when from/to are omitted. Returns daily rows with: spend, impressions, reach, frequency, clicks, CTR, CPM, CPC,...4 params

Get daily performance metrics for a specific ad group (ad set). Use after nevent_list_paid_ad_groups to get a valid adGroupId. Date range defaults to the last 7 days when from/to are omitted. Returns daily rows with: spend, impressions, reach, frequency, clicks, CTR, CPM, CPC,...

Parameters* required
adGroupId*string
Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.
fromstring
Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
tovalue
End date for insights window (yyyy-MM-dd). Defaults to today when omitted.
nevent_get_paid_ad_group_comparative_statsCompare an ad group's performance metrics against the mean of its campaign sibling ad groups. Use to detect underperforming ad sets — each metric (costPerResult, CPM, frequency, CTR) is returned with its campaign sibling mean and ratioVsMean (1.0 = on par). For cost metrics (c...4 params

Compare an ad group's performance metrics against the mean of its campaign sibling ad groups. Use to detect underperforming ad sets — each metric (costPerResult, CPM, frequency, CTR) is returned with its campaign sibling mean and ratioVsMean (1.0 = on par). For cost metrics (c...

Parameters* required
adGroupId*string
Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.
fromstring
Start date for the comparison window (yyyy-MM-dd). Defaults to 7 days ago when omitted.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
tovalue
End date for the comparison window (yyyy-MM-dd). Defaults to today when omitted.
nevent_get_paid_ad_group_targetingGet the full audience targeting configuration for an ad group. Use after nevent_list_paid_ad_groups to get a valid adGroupId. Returns: ageRange, genders, geoSummary (countries/cities/regions), topInterests, topBehaviors, placements, Advantage+ flags (automaticPlacements, expan...2 params

Get the full audience targeting configuration for an ad group. Use after nevent_list_paid_ad_groups to get a valid adGroupId. Returns: ageRange, genders, geoSummary (countries/cities/regions), topInterests, topBehaviors, placements, Advantage+ flags (automaticPlacements, expan...

Parameters* required
adGroupId*string
Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_list_paid_adsList individual ads for a paid ads provider, optionally filtered by campaign and/or ad group. Use after nevent_list_paid_campaigns or nevent_list_paid_ad_groups to drill down to ad level. Returns ad IDs, names, statuses, UTM fields (utmSource, utmMedium, utmCampaign, utmContai...3 params

List individual ads for a paid ads provider, optionally filtered by campaign and/or ad group. Use after nevent_list_paid_campaigns or nevent_list_paid_ad_groups to drill down to ad level. Returns ad IDs, names, statuses, UTM fields (utmSource, utmMedium, utmCampaign, utmContai...

Parameters* required
adGroupIdstring
Optional: filter ads by parent ad group ID. Use nevent_list_paid_ad_groups to get valid adGroupId values.
campaignIdstring
Optional: filter ads by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_get_paid_ad_creativeGet the creative content of a specific ad: copy (body, title, description, CTA), click URL, UTM params, and pre-signed S3 image/video URLs (TTL ~1 hour). Use after nevent_list_paid_ads to get a valid adId. Null imageUrl/videoUrl means the asset mirror job has not run yet — ret...2 params

Get the creative content of a specific ad: copy (body, title, description, CTA), click URL, UTM params, and pre-signed S3 image/video URLs (TTL ~1 hour). Use after nevent_list_paid_ads to get a valid adId. Null imageUrl/videoUrl means the asset mirror job has not run yet — ret...

Parameters* required
adId*string
Ad ID from the provider. Use nevent_list_paid_ads to get valid adId values.
provider*string
Ad provider: meta | google | tiktokone of meta · google · tiktok
nevent_list_short_urlsList all short URLs for the current tenant with their tracking metrics (click count, last clicked). Use to discover existing campaign links or to audit active tracking URLs. Returns items (array of ShortUrlDTO), total, page, pageSize, totalPages. Key fields per item: id (use w...4 params

List all short URLs for the current tenant with their tracking metrics (click count, last clicked). Use to discover existing campaign links or to audit active tracking URLs. Returns items (array of ShortUrlDTO), total, page, pageSize, totalPages. Key fields per item: id (use w...

Parameters* required
isActiveboolean
Filter by active status. true = only active links, false = only inactive/expired links. Omit to return both.
pageinteger
Zero-based page number for pagination. Default: 0 (first page).
pageSizeinteger
Number of results per page. Default: 20. Max: 200.
searchstring
Free-text search across short code, title, and target URL. E.g. "summer" to find links tagged or titled with that word.
nevent_get_short_urlGet complete details of a specific short URL including target URL, metadata, creation date, expiration, tags, and current click count. Use after nevent_list_short_urls to get the `id`. Key fields returned: id, shortCode, shortUrl, longUrl, title, tags, metadata, clickCount, la...1 params

Get complete details of a specific short URL including target URL, metadata, creation date, expiration, tags, and current click count. Use after nevent_list_short_urls to get the `id`. Key fields returned: id, shortCode, shortUrl, longUrl, title, tags, metadata, clickCount, la...

Parameters* required
id*string
MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".
nevent_get_short_url_metricsGet aggregated click analytics for a specific short URL over a time window (default 30 days). Use after nevent_list_short_urls to get the `id`. Returns: totalClicks, uniqueVisitors, firstClickAt, lastClickAt, clicksByDay (date → count), clicksByCountry, clicksByDevice (mobile/...2 params

Get aggregated click analytics for a specific short URL over a time window (default 30 days). Use after nevent_list_short_urls to get the `id`. Returns: totalClicks, uniqueVisitors, firstClickAt, lastClickAt, clicksByDay (date → count), clicksByCountry, clicksByDevice (mobile/...

Parameters* required
daysinteger
Number of days to include in metrics calculation. Default: 30. Max: 365. Use 7 for last week, 30 for last month, 90 for last quarter.
id*string
MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".
nevent_get_short_url_campaign_metricsGet aggregated click metrics across a parent short URL and all its per-user variants. Use when a marketing campaign was sent with per-user tracking links (created via nevent_create_bulk_user_short_urls) to see total reach and CTR. Requires the `parentShortCode` from nevent_lis...3 params

Get aggregated click metrics across a parent short URL and all its per-user variants. Use when a marketing campaign was sent with per-user tracking links (created via nevent_create_bulk_user_short_urls) to see total reach and CTR. Requires the `parentShortCode` from nevent_lis...

Parameters* required
daysinteger
Number of days to include in metrics. Default: 30.
parentShortCode*string
Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode".
topNinteger
Number of top-performing users to return in topUsersByClicks. Default: 10.
nevent_get_short_url_clicksGet individual click event records for a specific short URL, ordered by most recent first. Use after nevent_list_short_urls to get the `id`. Each click record includes: clickedAt, ipAddress, userAgent, referer, country, city, device, browser, os, utmSource, utmCampaign, fbclid...2 params

Get individual click event records for a specific short URL, ordered by most recent first. Use after nevent_list_short_urls to get the `id`. Each click record includes: clickedAt, ipAddress, userAgent, referer, country, city, device, browser, os, utmSource, utmCampaign, fbclid...

Parameters* required
id*string
MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".
limitinteger
Maximum number of recent click records to return, ordered newest-first. Default: 100. Max: 1000.
nevent_list_short_url_user_linksList all per-user short URL variants created under a parent (campaign) short URL. Use after nevent_create_bulk_user_short_urls to inspect the generated links, or to audit which users have a tracking link for a campaign. Requires the `parentShortCode` from nevent_list_short_url...1 params

List all per-user short URL variants created under a parent (campaign) short URL. Use after nevent_create_bulk_user_short_urls to inspect the generated links, or to audit which users have a tracking link for a campaign. Requires the `parentShortCode` from nevent_list_short_url...

Parameters* required
parentShortCode*string
Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode".
nevent_create_short_urlCreate a new short URL that redirects to the specified destination. Persists immediately — the short code is active as soon as the call returns. Requires at minimum a valid longUrl. All other fields are optional. Returns the created ShortUrlDTO with: id, shortCode, shortUrl (f...6 params

Create a new short URL that redirects to the specified destination. Persists immediately — the short code is active as soon as the call returns. Requires at minimum a valid longUrl. All other fields are optional. Returns the created ShortUrlDTO with: id, shortCode, shortUrl (f...

Parameters* required
customShortCodestring
Custom short code (6-8 alphanumeric characters). If omitted, a unique code is auto-generated. Example: "SUMMER". Use nevent_validate_short_code (if available) to check availability first.
expiresAtstring
Expiration date/time in ISO 8601 format, e.g. "2025-12-31T23:59:59.000Z". After this date the short URL stops redirecting. Omit for a permanent link.
longUrl*string
The full destination URL to redirect to. Must include protocol (https:// or http://). Example: "https://nevent.es/events/summer-festival-2025".
metadataobject
Arbitrary key-value metadata. Useful for storing campaignId, eventId, or other business identifiers. Example: {"campaignId": "NEV-123", "eventId": "evt-456"}.
tagsarray
Tags for categorization and filtering. Example: ["campaign", "summer", "2025"]. Use consistent tag names across campaigns.
titlestring
Descriptive label for the short URL (max 200 chars). Shown in the admin list view and used for search.
nevent_update_short_urlUpdate an existing short URL's configuration. Only provided fields are changed — omitted fields remain unchanged. Changes apply immediately. Use after nevent_list_short_urls to get the `id`. Supported updates: title, expiresAt (pass null to remove expiration), isActive (true/f...7 params

Update an existing short URL's configuration. Only provided fields are changed — omitted fields remain unchanged. Changes apply immediately. Use after nevent_list_short_urls to get the `id`. Supported updates: title, expiresAt (pass null to remove expiration), isActive (true/f...

Parameters* required
expiresAtvalue
New expiration date/time (ISO 8601). Pass null to remove an existing expiration and make the link permanent. Omit this field entirely to leave expiration unchanged.
id*string
MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".
isActiveboolean
Activate (true) or deactivate (false) the short URL. Deactivated links stop redirecting immediately.
longUrlstring
New destination URL. Changes where existing links redirect to — takes effect immediately.
metadataobject
New metadata object. Replaces (not merges) the existing metadata.
tagsarray
New tag list. Replaces (not merges) the existing tags.
titlestring
New descriptive title (max 200 chars). Replaces the existing title.
nevent_create_bulk_user_short_urlsGenerate per-user short URL variants for an existing parent short URL. Each user receives their own unique short link that resolves to the same destination as the parent, but identifies the user on click — used for fan-level click attribution in email/SMS campaigns. The parent...2 params

Generate per-user short URL variants for an existing parent short URL. Each user receives their own unique short link that resolves to the same destination as the parent, but identifies the user on click — used for fan-level click attribution in email/SMS campaigns. The parent...

Parameters* required
parentShortCode*string
Short code of the parent (campaign) short URL (6-8 alphanumeric characters) under which user links will be created. Must already exist. Obtain from nevent_list_short_urls where isParent=true.
userIds*array
List of user IDs (MongoDB ObjectIds or Nevent user identifiers) to create individual tracking links for. Each user gets a unique short code that resolves to the same destination as the parent. Dupl...
nevent_list_short_url_destinationsList short links grouped by DESTINATION URL — one row per destination instead of one per link. Use this to answer "how much traffic is this landing page getting across all my campaigns?", which nevent_list_short_urls cannot answer because every campaign send creates its own pa...4 params

List short links grouped by DESTINATION URL — one row per destination instead of one per link. Use this to answer "how much traffic is this landing page getting across all my campaigns?", which nevent_list_short_urls cannot answer because every campaign send creates its own pa...

Parameters* required
originstring
Filter by where the links came from. ALL (default) = every origin; MANUAL = links a human created; CAMPAIGN = links generated by campaign sends; ASSISTANT = system-managed links the chatbot pushed...one of ALL · MANUAL · CAMPAIGN · ASSISTANT
pageinteger
Zero-based page number over destination GROUPS. Default: 0 (first page).
pageSizeinteger
Number of destination groups per page (1-100). Default: 20.
searchstring
Free-text search across destination URL, title, and short code. E.g. "festival" to find every destination for that event.
nevent_upload_imageUpload an image to the Nevent media library and get a CDN URL. Accepts base64-encoded images as a data URL (data:image/png;base64,...) or as raw base64 with an explicit mimeType. Returns a destinationUrl (CloudFront CDN URL) that can be used directly in <img src="..."> inside...3 params

Upload an image to the Nevent media library and get a CDN URL. Accepts base64-encoded images as a data URL (data:image/png;base64,...) or as raw base64 with an explicit mimeType. Returns a destinationUrl (CloudFront CDN URL) that can be used directly in <img src="..."> inside...

Parameters* required
imageNamestring
Optional file name for the uploaded resource (e.g. "event-banner.png"). When omitted, a name is generated from the upload timestamp.
mimeTypestring
MIME type of the image, e.g. "image/png" or "image/jpeg". Required when source is raw base64 (no data URL prefix). Ignored when source is a data URL (MIME type parsed from prefix). Common values: i...
source*string
Base64-encoded image. Two accepted forms: 1. Data URL: "data:image/png;base64,<base64data>" — MIME type parsed from prefix. 2. Raw base64 string — mimeType parameter required. Maximum decoded size:...
nevent_list_imagesList all images stored in the Nevent media library for the current tenant. Returns each image's CDN URL (src), file name, MIME type, and size in bytes. Use the src value in <img src="..."> in email template HTML, or pass it to nevent_delete_image to remove it.

List all images stored in the Nevent media library for the current tenant. Returns each image's CDN URL (src), file name, MIME type, and size in bytes. Use the src value in <img src="..."> in email template HTML, or pass it to nevent_delete_image to remove it.

No parameters. Call it with no arguments.

nevent_delete_imagePermanently delete one or more images from the Nevent media library. Provide the CDN URLs (src / destinationUrl) from nevent_list_images or nevent_upload_image. The operation is irreversible. Any email template HTML that references the deleted URLs will show broken images. Req...1 params

Permanently delete one or more images from the Nevent media library. Provide the CDN URLs (src / destinationUrl) from nevent_list_images or nevent_upload_image. The operation is irreversible. Any email template HTML that references the deleted URLs will show broken images. Req...

Parameters* required
urls*array
Array of CDN image URLs to delete. Use the src/destinationUrl values from nevent_list_images or nevent_upload_image. Minimum 1 URL required. The operation is permanent. Example: ["https://cdn.neven...

Sponsors

Configuration

NEVENT_JWT_TOKEN*secret

Nevent JWT access token for authenticating with the Nevent API

NEVENT_OPERATION_MODEdefault: READ_ONLY

Tool operation mode: READ_ONLY (default), STANDARD, or FULL

Readme

Nevent MCP

Talk to your live-events CRM (campaigns, analytics, paid ads, segments, short URLs) in Claude and ChatGPT.

License: MIT npm Help Center smithery badge

Official MCP server for Nevent — the marketing platform for live event promoters. 63 tools across 10 groups (analytics, segmentation, campaigns, templates, deliverability, paid media, short URLs, media library, multi-tenant, and help/discovery) over OAuth 2.1 (hosted) or stdio (local).

📚 Full documentation: https://help.nevent.ai/en/nevent-ai/


Install

Hosted (recommended — no install needed)

Add https://mcp.nevent.ai/ as a remote MCP server in your client. Works with Claude.ai, ChatGPT, Cursor, Cline, Continue and any compatible MCP client.


View the full README on GitHub

Details

Repository
github.com/nevent-dev/mcp-nevent
Website
nevent.ai/en/features/nevent-ai
Categories
Sales & Marketing, Monitoring & Observability, Finance & Commerce
Package
mcp-nevent
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Sales & Marketing MCP servers

View all
1pagelens-ai avatarPageLens AIpagelens-ai/pagelensai-mcp-serverAI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.1stars
2prodpoke avatarProdPokeprodpoke/prodpoke-mcpAI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.1stars
31145-am avatarSyracuse Company News1145-am/syracuse-mcp-serverStructured company & industry news for AI agents: typed, dated, source-linked events.0stars
4capaxelabs avatarBeeficapaxelabs/beefi-ai-mcpUS public company data from SEC EDGAR: financials, insider trades, 13F holdings, filings and macro.0stars
5krtr avatarKrtrai.krtr/krtrPre-diligence AI for founders, investors, and firms — multi-agent pitch analysis and deal flow.0stars
6aj-ua avatarWordPress Headlessaj-ua/wp-headless-mcpRead WordPress content, ACF fields, and Yoast SEO data, and safely edit drafts.0stars