Nevent MCP
REMOTE · MCP.NEVENT.AI · 2 COMPONENTS · SCANNED SEP 20
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (nevent_update_segment). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 12704 tokens (~215/item across 59 items; 59 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety92
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 2 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "nevent_segment_execute" implies "execute" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 60 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Nevent MCP server?
Nevent MCP is a hosted endpoint at https://mcp.nevent.ai/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.nevent.ai
claude mcp add --transport http nevent-dev-mcp-nevent 'https://mcp.nevent.ai/'
{
"mcpServers": {
"nevent-dev-mcp-nevent": {
"url": "https://mcp.nevent.ai/"
}
}
} {
"servers": {
"nevent-dev-mcp-nevent": {
"type": "http",
"url": "https://mcp.nevent.ai/"
}
}
} [mcp_servers.nevent-dev-mcp-nevent] url = "https://mcp.nevent.ai/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"nevent-dev-mcp-nevent": {
"type": "remote",
"url": "https://mcp.nevent.ai/",
"enabled": true
}
}
} openclaw mcp add nevent-dev-mcp-nevent --url 'https://mcp.nevent.ai/' --transport streamable-http
mcp_servers:
nevent-dev-mcp-nevent:
url: "https://mcp.nevent.ai/" {
"McpServers": {
"nevent-dev-mcp-nevent": {
"Transport": "http",
"Url": "https://mcp.nevent.ai/"
}
}
} assistant mcp add nevent-dev-mcp-nevent -t streamable-http -u 'https://mcp.nevent.ai/'
{
"mcpServers": {
"nevent-dev-mcp-nevent": {
"type": "http",
"url": "https://mcp.nevent.ai/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “nevent_segment_execute” rewrote its description, which is the text the model reads security
- Tool “nevent_segment_preview” rewrote its description, which is the text the model reads security
- Tool “nevent_create_segment” rewrote its description, which is the text the model reads security
- “nevent_create_segment” reworded the description of “definition” cosmetic
- “nevent_segment_execute” reworded the description of “definition” cosmetic
- “nevent_segment_preview” reworded the description of “definition” cosmetic
- “nevent_update_segment” reworded the description of “definition” cosmetic
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 7 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://mcp.nevent.ai/
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.nevent.ai | CN=Amazon RSA 2048 M04,O=Amazon,C=US | 21 Aug 2026 | 6 Mar 2027 | RSA 2048 | SHA256-RSA | e35681722decc1b7209ba6e4ecddf69 |
| SANs: *.nevent.ai, nevent.ai | ||||||
| CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 773124f2a952e3ed18a58bdb85d1bc0ce5f27 |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.nevent.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| nevent.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self';script-src 'self';style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;font-src 'self' https://fonts.gstatic.com;img-src 'self' data: https://admin.nevent.es https://avatars.slack-edge.com https://upload.wikimedia.org;connect-src 'self';frame-ancestors 'none';form-action *;base-uri 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.nevent.ai/ | Verified | 200 | |
| http (plaintext) | http://mcp.nevent.ai/ | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
nevent_analytics_capabilities ~48
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_analytics_filter_values ~60
Get distinct values available for a field in an analytics table. Useful for building valid filter values before querying.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | yes | Collection name to get filter values for |
| filters | array | yes | Fields to get distinct values for |
No output schema declared.
No examples provided.
nevent_analytics_query ~544
Query event marketing analytics. Supports dimensions, metrics, time ranges, and filters across campaigns, purchases, users, and more. MANDATORY RULES: (1) ALWAYS call nevent_analytics_table_schema BEFORE querying to discover exact field names. NEVER guess field names. (2) For BOOLEAN fields, use operator "is_true" or "is_false". NEVER use "eq" with string "true"/"false". (3) For enum fields (state, status), check the field description for valid values. Common values: purchases.state = SUCCEEDED|COMPLETE|PENDING|FAILED; campaigns.status = EXECUTED|DRAFT|PAUSED|STOPPED.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | yes | Collection name, e.g. "purchases", "tickets", "campaigns" |
| compareDimensions | object | – | Comparative dimension analysis configuration |
| comparePeriods | object | – | Period-over-period comparison (YoY, MoM, etc.) — v3.19.0+ |
| ctes | array | – | CTE (Common Table Expression) sub-queries — v3.19.0+ |
| dimensions | array | – | Fields to group by (SELECT dimensions). Omit for aggregate-only queries. |
| distinct | boolean | – | Add SELECT DISTINCT to deduplicate result rows (v3.19.0+) |
| dryRun | boolean | – | Dry-run mode: estimate query cost without executing (v3.19.0+). Response includes estimatedBytes in metadata. |
| filters | array | – | WHERE clause filters to apply before aggregation |
| groupBy | array | – | Calendar-based group-by fields (v3.19.0+). Known values: dayOfWeek | weekOfYear | hourOfDay | minuteOfHour | month | quarter | year |
| having | array | – | HAVING clause filters to apply after aggregation |
| limit | number | – | Maximum rows to return (max 1000, default 100) |
| metrics | array | – | Aggregated metrics to compute (SUM, COUNT, etc.) |
| sort | – | – | Sort the result rows. Accepts a single { field, order } object or an array for multi-field sorting. |
| sourceTable | string | – | CTE name to use as source instead of a raw collection — v3.19.0+ |
| timeGranularity | string | – | Time granularity for bucketing (v3.19.0+). Known values: day | week | month | quarter | year | hour | minute | fiscalQuarter | fiscalYear |
| timeRange | object | – | Time range filter with optional granularity for trend analysis |
No output schema declared.
No examples provided.
nevent_analytics_table_schema ~52
Get the full column schema for a specific analytics table including column names, types, and descriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| table | string | yes | Table name to inspect, e.g. "purchases", "tickets" |
No output schema declared.
No examples provided.
nevent_campaign_report ~99
Generate a comprehensive analytics report for a single campaign. Executes 13 parallel queries in one call returning opens, clicks, bounces, unsubscribes, conversions, revenue, and other key performance metrics. Use nevent_list_campaigns to get valid campaign IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Campaign ID to generate the analytics report for |
| timeRange | object | – | Optional time range to restrict report data. Defaults to full campaign lifetime. |
No output schema declared.
No examples provided.
nevent_clone_template ~125
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_template and nevent_update_template to customize the clone.
| Name | Type | Req | Description |
|---|---|---|---|
| template_id | string | yes | 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)". |
No output schema declared.
No examples provided.
nevent_create_bulk_user_short_urls ~305
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 short URL must already exist (create it first with nevent_create_short_url). Requires: parentShortCode (from nevent_list_short_urls) and userIds (list of user IDs). Returns: parentShortCode, totalRequested, totalCreated, createdLinks (array of ShortUrlDTO with userId, shortCode, shortUrl per user). Use nevent_get_short_url_campaign_metrics afterwards to track aggregate CTR. WRITE operation — requires STANDARD or FULL operation mode. In READ_ONLY mode this tool returns an operation_not_permitted error immediately without making any API call. Note: parentShortCode is sent in both the URL path and request body — they must match (validated server-side).
| Name | Type | Req | Description |
|---|---|---|---|
| parentShortCode | string | yes | 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 | yes | 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. Duplic… |
No output schema declared.
No examples provided.
nevent_create_campaign ~645
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 creation, call nevent_schedule_campaign to schedule delivery. For EMAIL_ONLY (and email multi-channel): email_subject is required. For SMS_ONLY/WHATSAPP_ONLY/PUSH_ONLY and multi-channel involving those: message is required. Optional fields: from_name, preview_text, template_id, segment_ids, utm_source/medium/campaign/content/term/custom_params, reply_to (email address for reply routing — useful when replies should go to a different mailbox than the From address). Always confirm the segment audience count with the user before scheduling.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | 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_AN… |
| email_body | string | – | HTML body content of the email (optional, can be set later) |
| email_subject | string | – | Email subject line (required when channel=EMAIL, max 998 chars per RFC 5322) |
| from_name | string | – | Sender display name (optional, defaults to tenant sender name) |
| message | string | – | Message text body (required when channel=SMS or WHATSAPP) |
| name | string | yes | Campaign name (required, max 255 characters) |
| preview_text | string | – | Inbox preview text (optional, shown in email client summaries) |
| reply_to | string | – | 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_ids | array | – | Array of segment IDs to target (optional, can be set later) |
| template_id | string | – | Template ID to pre-populate campaign content (optional) |
| utm_campaign | string | – | UTM campaign parameter (e.g. "summer-sale-2026"). Max 100 chars. Defaults to slugified campaign name. |
| utm_content | string | – | UTM content parameter — differentiates links/variants. Max 100 chars. |
| utm_custom_params | object | – | Custom tracking parameters as key-value pairs appended to tracked links (optional). |
| utm_medium | string | – | UTM medium parameter (e.g. "email", "sms"). Max 100 chars. Auto-detected from channel if omitted. |
| utm_source | string | – | UTM source parameter (e.g. "nevent", "newsletter"). Max 100 chars. |
| utm_term | string | – | UTM term parameter — paid search keyword. Max 100 chars. |
No output schema declared.
No examples provided.
nevent_create_segment ~423
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 stanzas; to accept A OR B, put both in the same stanza. PREREQUISITE: call nevent_segmentation_criteria first to discover valid criterion_ids and operators. MANDATORY RULES: (1) ENTITY operators (is/is_not) accept a single string OR an array of strings — e.g. value: "EVENT_ID" or value: ["E1","E2"]. (2) Omit modifiers unless the user explicitly requests frequency/recency filtering; if included, time_range.value MUST be > 0. (3) Criteria fields: only criterion_id, operator, value — omit id, timeframe, type. (4) KNOWN LIMITATION: do NOT mix attendance criteria (attended_event, ticket_type) with spending criteria (total_spent, ticket_spent, cashless_recharge_amount) in the same stanza — put them in separate stanzas. Separate stanzas are AND-combined, so a fan must match both. After creation, call nevent_segment_preview to count the audience, then nevent_create_campaign to send to this segment.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | 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 s… |
| description | string | – | Optional description of the segment's purpose |
| name | string | yes | Human-readable name for the segment, e.g. "VIP Attendees 2025" |
No output schema declared.
No examples provided.
nevent_create_short_url ~390
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 (full redirect URL), longUrl, title, tags, isActive. Use the returned shortCode with nevent_create_bulk_user_short_urls to generate per-user variants. WRITE operation — requires STANDARD or FULL operation mode. In READ_ONLY mode this tool returns an operation_not_permitted error immediately without making any API call.
| Name | Type | Req | Description |
|---|---|---|---|
| customShortCode | string | – | 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. |
| expiresAt | string | – | 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 | yes | The full destination URL to redirect to. Must include protocol (https:// or http://). Example: "https://nevent.es/events/summer-festival-2025". |
| metadata | object | – | Arbitrary key-value metadata. Useful for storing campaignId, eventId, or other business identifiers. Example: {"campaignId": "NEV-123", "eventId": "evt-456"}. |
| tags | array | – | Tags for categorization and filtering. Example: ["campaign", "summer", "2025"]. Use consistent tag names across campaigns. |
| title | string | – | Descriptive label for the short URL (max 200 chars). Shown in the admin list view and used for search. |
No output schema declared.
No examples provided.
nevent_create_template ~207
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 a segment.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | Template format: "html" for raw HTML, "mjml" for MJML source code |
| html_body | string | – | Raw HTML content for the template. Provide this field when format is "html". |
| mjml_body | string | – | MJML source code for the template. Provide this field when format is "mjml". |
| name | string | yes | Human-readable name for the template, e.g. "Event Reminder — Spring 2026" |
| tags | array | – | List of string tags to categorise the template (e.g. ["promotional", "event", "reminder"]). Omit to create with no tags. |
No output schema declared.
No examples provided.
nevent_delete_image ~146
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. Requires FULL operation mode (NEVENT_OPERATION_MODE=FULL) and ADMIN, SUPERADMIN, or OWNER role.
| Name | Type | Req | Description |
|---|---|---|---|
| urls | array | yes | 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.nevent.… |
No output schema declared.
No examples provided.
nevent_dimension_values ~70
Autocomplete values for a segmentation criterion. Useful for discovering valid values when building segment definitions.
| Name | Type | Req | Description |
|---|---|---|---|
| criterion_id | string | yes | Criterion ID from nevent_segmentation_criteria, e.g. "country", "event_attended" |
| search | string | – | Optional search string to filter matching values |
No output schema declared.
No examples provided.
nevent_get_campaign ~118
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 specific campaign. Next step: nevent_get_campaign_insights for AI-generated recommendations, or nevent_campaign_report for a full analytics query.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs. |
No output schema declared.
No examples provided.
nevent_get_campaign_insights ~102
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?". Complements raw metrics from nevent_get_campaign with narrative insights.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs. |
No output schema declared.
No examples provided.
nevent_get_campaign_metrics ~231
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, bounceRate, unsubscribeRate) and the conversion counters (carts, purchases, revenue). This is the OPERATIONAL source of truth, read straight from nev-api — use it right after a send, and prefer it over nevent_campaign_report when the two disagree, because the report reads the analytics warehouse and lags behind by the data pipeline. Use nevent_campaign_report instead when you need to compare many campaigns, slice by dimension, or join against other analytics. Get campaign_id from nevent_list_campaigns. Follow up with nevent_list_campaign_recipients to see who is behind a number (for example which recipients bounced).
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign. |
No output schema declared.
No examples provided.
nevent_get_paid_ad_creative ~175
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 — retry in ~5 minutes. For Dynamic Creative Ads (hasDca: true), the dca field contains multiple creative variants. A 404 may mean this tenant is not enrolled in the insights pilot — call nevent_paid_ads_health to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| adId | string | yes | Ad ID from the provider. Use nevent_list_paid_ads to get valid adId values. |
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_get_paid_ad_group_comparative_stats ~257
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 (costPerResult, CPM, frequency): ratio > 1.0 means WORSE than siblings (higher cost). For CTR: ratio > 1.0 means BETTER than siblings (higher CTR is better). Use after nevent_list_paid_ad_groups to get a valid adGroupId. A 404 may mean this tenant is not enrolled in the insights pilot — call nevent_paid_ads_health to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| adGroupId | string | yes | Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values. |
| from | string | – | Start date for the comparison window (yyyy-MM-dd). Defaults to 7 days ago when omitted. |
| provider | string | yes | Ad provider: meta | google | tiktok |
| to | – | – | End date for the comparison window (yyyy-MM-dd). Defaults to today when omitted. |
No output schema declared.
No examples provided.
nevent_get_paid_ad_group_insights ~237
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, ROAS, engagement rate, video metrics. Each row.date is an ISO 8601 UTC timestamp (e.g. "2026-05-10T00:00:00Z"). A 404 may mean this tenant is not enrolled in the insights pilot — call nevent_paid_ads_health to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| adGroupId | string | yes | Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values. |
| from | string | – | Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted. |
| provider | string | yes | Ad provider: meta | google | tiktok |
| to | – | – | End date for insights window (yyyy-MM-dd). Defaults to today when omitted. |
No output schema declared.
No examples provided.
nevent_get_paid_ad_group_targeting ~166
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, expandAge, expandGender), custom and excluded audiences, bidStrategy, promotedObject. A 404 may mean this tenant is not enrolled in the insights pilot — call nevent_paid_ads_health to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| adGroupId | string | yes | Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values. |
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_get_paid_campaign_insights ~233
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, ROAS, engagement rate, video metrics. Each row.date is an ISO 8601 UTC timestamp (e.g. "2026-05-10T00:00:00Z"). A 404 may mean this tenant is not enrolled in the insights pilot — call nevent_paid_ads_health to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Paid campaign ID from the provider (not a Nevent ObjectId). Use nevent_list_paid_campaigns to get valid campaignId values. |
| from | string | – | Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted. |
| provider | string | yes | Ad provider: meta | google | tiktok |
| to | – | – | End date for insights window (yyyy-MM-dd). Defaults to today when omitted. |
No output schema declared.
No examples provided.
nevent_get_segment ~104
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_segment_preview to count the audience, or nevent_update_segment to modify the definition.
| Name | Type | Req | Description |
|---|---|---|---|
| segment_id | string | yes | Identifier of the segment to retrieve. Get valid IDs from nevent_list_segments. |
No output schema declared.
No examples provided.
nevent_get_sending_profile ~97
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, and throttle settings. If the sending profile is not validated or still in warm-up, warn the user before scheduling a large campaign. Combine with nevent_get_suppressions_summary for a full deliverability health check.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_get_short_url ~145
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, lastClickedAt, isActive, isExpired, isParent, parentShortCode, userId, userLinksCount. Use the returned id with nevent_get_short_url_metrics for time-series analytics.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id". |
No output schema declared.
No examples provided.
nevent_get_short_url_campaign_metrics ~251
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_list_short_urls (where isParent=true). Returns: totalChildUrls, totalClicks, urlsWithClicks, avgClicksPerUrl, clickThroughRate (%), topUsersByClicks (userId, shortCode, clickCount, lastClickedAt), clicksByDay, clicksByDevice, clicksByBrowser, clicksByCountry. This tool aggregates across ALL child user links — use nevent_get_short_url_metrics(id) when you need per-link breakdown for a single URL.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Number of days to include in metrics. Default: 30. |
| parentShortCode | string | yes | Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode". |
| topN | integer | – | Number of top-performing users to return in topUsersByClicks. Default: 10. |
No output schema declared.
No examples provided.
nevent_get_short_url_clicks ~177
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, gclid, isPaidTraffic. Use for detailed click attribution, fraud detection, or per-user behavior analysis. Default returns 100 most recent clicks; use limit to adjust.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id". |
| limit | integer | – | Maximum number of recent click records to return, ordered newest-first. Default: 100. Max: 1000. |
No output schema declared.
No examples provided.
nevent_get_short_url_metrics ~197
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/desktop/tablet), clicksByBrowser, clicksByOs, topReferers. Use for performance analysis of individual tracking links. For campaign-wide aggregation across all user links, use nevent_get_short_url_campaign_metrics instead.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | 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 | yes | MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id". |
No output schema declared.
No examples provided.
nevent_get_suppressions_summary ~90
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 suppression rate above 2% indicates deliverability risk — surface this as a warning before scheduling a large campaign.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_get_template ~110
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 change the content, or nevent_create_campaign to use this template in a new campaign.
| Name | Type | Req | Description |
|---|---|---|---|
| template_id | string | yes | The Identifier of the template to retrieve. Get valid IDs from nevent_list_templates. |
No output schema declared.
No examples provided.
nevent_help ~145
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=<category> like "paid_media" / "analytics" / "segments". Omit topic to get an index of all available topics.
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | – | 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_urls… |
No output schema declared.
No examples provided.
nevent_list_campaign_recipients ~366
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, UNSUBSCRIBES), narrow to one audience with segment_id when the campaign targeted several segments, or find one person with search (matches name and email). Returns a paginated envelope — content (the recipient rows), page, size, totalElements, totalPages. Rows contain personal data: request the smallest page that answers the question, filter rather than paginate through everything, and do not dump full recipient lists into a summary.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign. |
| page | integer | – | Zero-based page number. Default: 0 (first page). |
| page_size | integer | – | Recipients per page (1-100). Default: 25. Keep this small — recipient rows contain personal data and large pages waste context. |
| search | string | – | Free-text search across recipient name and email address. |
| segment_id | string | – | 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. |
| status | string | – | 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 fro… |
No output schema declared.
No examples provided.
nevent_list_campaigns ~290
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/FAILED), channel (EMAIL/SMS), or date range. Use the returned campaign id to call nevent_get_campaign (full content + metrics) or nevent_get_campaign_insights (AI analysis).
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Filter by channel: EMAIL | SMS | WHATSAPP |
| date_from | string | – | Filter campaigns created on or after this date (ISO 8601, e.g. "2024-01-01T00:00:00Z") |
| date_to | string | – | Filter campaigns created on or before this date (ISO 8601, e.g. "2024-12-31T23:59:59Z") |
| limit | integer | – | Maximum number of campaigns to return (default 50, max 200) |
| sort | string | – | Field to sort by: createdAt (default) | executedAt | name |
| sort_order | string | – | Sort direction: asc | desc (default desc) |
| status | string | – | Filter by campaign status: EXECUTED | DRAFT | PAUSED | STOPPED | SCHEDULED |
No output schema declared.
No examples provided.
nevent_list_images ~73
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_list_paid_ad_groups ~130
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 insights, targeting, and comparative stats tools.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | – | Optional: filter ad groups by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values. |
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_list_paid_ads ~179
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, utmContainsMacros), and lastSyncedAt. Use the returned adId values with nevent_get_paid_ad_creative.
| Name | Type | Req | Description |
|---|---|---|---|
| adGroupId | string | – | Optional: filter ads by parent ad group ID. Use nevent_list_paid_ad_groups to get valid adGroupId values. |
| campaignId | string | – | Optional: filter ads by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values. |
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_list_paid_campaigns ~101
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 nevent_get_paid_campaign_insights and nevent_list_paid_ad_groups.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_list_segments ~87
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_preview (to verify the audience), or nevent_create_campaign (to send a campaign to that segment).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_list_short_url_destinations ~351
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 parent link. Campaign parents pointing at the same canonical destination collapse into a single row with aggregated totalClicks, linksCount (how many links form the group) and campaignsCount (how many distinct campaigns used it). Unlike nevent_list_short_urls, this INCLUDES system-managed assistant links (the ones the chatbot pushes), flagged readOnly=true — never try to edit or delete those. Filter with origin: MANUAL (human-created), CAMPAIGN (generated by sends), ASSISTANT (chatbot), or ALL (default). Each row carries canonicalId and members[] (id + shortCode) — pass those ids to nevent_get_short_url or nevent_get_short_url_metrics to drill into a specific link. Pagination is over GROUPS, not documents.
| Name | Type | Req | Description |
|---|---|---|---|
| origin | string | – | 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 (r… |
| page | integer | – | Zero-based page number over destination GROUPS. Default: 0 (first page). |
| pageSize | integer | – | Number of destination groups per page (1-100). Default: 20. |
| search | string | – | Free-text search across destination URL, title, and short code. E.g. "festival" to find every destination for that event. |
No output schema declared.
No examples provided.
nevent_list_short_url_user_links ~161
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_urls (where isParent=true). Returns an array of ShortUrlDTO — each with userId, shortCode, shortUrl, clickCount. Use the returned `id` values with nevent_get_short_url_metrics for per-user analytics.
| Name | Type | Req | Description |
|---|---|---|---|
| parentShortCode | string | yes | Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode". |
No output schema declared.
No examples provided.
nevent_list_short_urls ~256
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 with nevent_get_short_url_metrics or nevent_get_short_url_clicks), shortCode (use with nevent_get_short_url_campaign_metrics or nevent_list_short_url_user_links), shortUrl, longUrl, title, tags, clickCount, isActive, isParent. Filter by isActive=true for active links only. Use search to filter by title or URL.
| Name | Type | Req | Description |
|---|---|---|---|
| isActive | boolean | – | Filter by active status. true = only active links, false = only inactive/expired links. Omit to return both. |
| page | integer | – | Zero-based page number for pagination. Default: 0 (first page). |
| pageSize | integer | – | Number of results per page. Default: 20. Max: 200. |
| search | string | – | Free-text search across short code, title, and target URL. E.g. "summer" to find links tagged or titled with that word. |
No output schema declared.
No examples provided.
nevent_list_templates ~209
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/MJML source of a specific template.
| Name | Type | Req | Description |
|---|---|---|---|
| content_nature | string | – | Filter by AI-assigned content nature classification (e.g. "promotional", "transactional", "newsletter", "event_reminder"). Omit to return templates of all natures. |
| limit | integer | – | Maximum number of templates to return (default 50, max 200) |
| sort | string | – | Sort field: createdAt | modifiedAt | name (default modifiedAt) |
| sort_order | string | – | Sort direction: asc | desc (default desc) |
| tags | array | – | Filter templates by tags. Only templates that have ALL specified tags are returned. Omit to return templates regardless of tags. |
No output schema declared.
No examples provided.
nevent_list_tenants ~66
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).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_paid_ads_health ~130
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), featureGate.isInTenantAllowlist (pilot access), lastSuccessfulSyncAt, lastSuccessfulInsightsAt, backfillEnabled. A 404 here means this tenant is not enrolled in the insights pilot for this provider.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_paid_ads_status ~85
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.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_paid_attribution ~105
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 from paid ads. Use after nevent_list_paid_campaigns to cross-reference campaign IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Ad provider: meta | google | tiktok |
No output schema declared.
No examples provided.
nevent_preview_template ~243
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 rendering. Provide sample_user_id or sample_user_email to see real personalization; omit both to see raw tags only.
| Name | Type | Req | Description |
|---|---|---|---|
| sample_user_email | string | – | 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_id | string | – | 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 retu… |
| subject | string | – | Optional subject line to preview with merge-tag resolution. Example: "Hola {{name|title}}, tu resumen semanal". Omit to skip subject personalization. |
| template_id | string | yes | The ID of the email template to preview. Use nevent_list_templates to discover valid template IDs. |
No output schema declared.
No examples provided.
nevent_quote_campaign ~372
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 campaign the tenant cannot afford fails at send time with a 402. Returns cost (credits required), available (credits in the pool), missing (shortfall), recipientCount, affordable (boolean — the gate to check), blocked, unlimited, and an audience block with uniqueAudience, estimatedEligible per channel, eligibleAnyChannel and emailExclusions (no_email / invalid_email / opt_out / unknown). The audience block is null when the estimate could not be computed: any channel mix touching WhatsApp, more than 20 segments, or a data-api timeout — cost and recipientCount are still valid in that case. Use segment_ids from nevent_list_segments; omit them to quote the full addressable audience. Set transactional=true only for genuinely transactional sends (order confirmations, ticket delivery) — it estimates against the TRANSACTIONAL consent mode, which reaches recipients who opted out of marketing.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | Delivery channel to quote (nev-api CommunicationChannel enum). Legacy values EMAIL/SMS/WHATSAPP are accepted and mapped to the _ONLY variants. Channel mixes involving WhatsApp return a null audience… |
| segment_ids | array | – | 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. |
| transactional | boolean | – | 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. |
No output schema declared.
No examples provided.
nevent_rename_template ~136
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_template to change content, or nevent_preview_template to validate rendering.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The new name for the template. Must be between 1 and 255 characters. Duplicate names are allowed by the API. |
| template_id | string | yes | The ID of the email template to rename. Use nevent_list_templates to get valid template IDs. |
No output schema declared.
No examples provided.
nevent_reset_tenant ~93
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 — this tool reverses that. For OWNER/ADMIN/STAFF users, this resets to the session's home tenant. No parameters needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nevent_schedule_campaign ~229
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_campaign first to verify the draft content and recipient segment. scheduled_time must be in the future (ISO-8601, e.g. 2025-06-01T10:00:00Z). The campaign transitions from DRAFT to SCHEDULED status on success.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID to schedule (must be in DRAFT status) |
| confirmed | boolean | yes | Must be the literal value true to proceed. Set confirmed=true to confirm you want to schedule this campaign for sending. |
| scheduled_time | string | yes | 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" |
No output schema declared.
No examples provided.
What is the Nevent MCP server?
Nevent MCP is listed in the public MCP registry as io.github.nevent-dev/mcp-nevent. Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT. This page covers its hosted endpoint (https://mcp.nevent.ai/).
Is the Nevent MCP server safe to use?
Nevent MCP scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Nevent MCP server expose?
Nevent MCP exposes 59 tools: nevent_analytics_query, nevent_analytics_capabilities, nevent_analytics_table_schema, nevent_analytics_filter_values, nevent_campaign_report, and 54 more. Their descriptions and schemas cost roughly 11,700 tokens of context every time the server is loaded.
Does the Nevent MCP server require authentication?
No. We connected to Nevent MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Nevent MCP server still maintained?
Nevent MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.