このMCPでできること
Enables management and analysis of live-event marketing campaigns, audiences, email and messaging templates, paid ads, tracking links, and campaign performance.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['collection', 'filters'], 'properties': {'filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field'], 'properties': {'field': {'type': 'string', 'description': 'Field name to get distinct values for'}, 'value': {'description': 'Optional seed value'}, 'operator': {'type': 'string', 'description': 'Optional operator to apply when retrieving values'}}, 'additionalProperties': False}, 'description': 'Fields to get distinct values for'}, 'collection': {'type': 'string', 'description': 'Collection name to get filter values for'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['collection'], 'properties': {'ctes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'collection'], 'properties': {'name': {'type': 'string', 'description': 'Name used to reference this CTE via the sourceTable field'}, 'sort': {'$ref': '#/properties/sort', 'description': 'Sort order for the CTE'}, 'limit': {'type': 'number', 'maximum': 10000, 'description': 'Row limit for the CTE'}, 'filters': {'type': 'array', 'items': {'$ref': '#/properties/filters/items'}, 'description': 'Filters to apply in the CTE'}, 'metrics': {'type': 'array', 'items': {'$ref': '#/properties/metrics/items'}, 'description': 'Metrics to compute in the CTE'}, 'timeRange': {'$ref': '#/properties/timeRange', 'description': 'Time range filter for the CTE'}, 'collection': {'type': 'string', 'description': 'Source collection for this CTE'}, 'dimensions': {'type': 'array', 'items': {'$ref': '#/properties/dimensions/items'}, 'description': 'Dimensions to select in the CTE'}}, 'additionalProperties': False}, 'description': 'CTE (Common Table Expression) sub-queries â\x80\x94 v3.19.0+'}, 'sort': {'anyOf': [{'type': 'object', 'required': ['field', 'order'], 'properties': {'field': {'type': 'string', 'description': 'Field to sort by'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction: asc | desc'}}, 'additionalProperties': False}, {'type': 'array', 'items': {'$ref': '#/properties/sort/anyOf/0'}, 'minItems': 1}], 'description': 'Sort the result rows. Accepts a single { field, order } object or an array for multi-field sorting.'}, 'limit': {'type': 'number', 'default': 100, 'maximum': 1000, 'description': 'Maximum rows to return (max 1000, default 100)'}, 'dryRun': {'type': 'boolean', 'description': 'Dry-run mode: estimate query cost without executing (v3.19.0+). Response includes estimatedBytes in metadata.'}, 'having': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operator'], 'properties': {'field': {'type': 'string', 'description': 'Aggregated field name'}, 'value': {'description': 'HAVING threshold value'}, 'operator': {'type': 'string', 'description': 'Comparison operator (e.g. "gt", "gte")'}}, 'additionalProperties': False}, 'description': 'HAVING clause filters to apply after aggregation'}, 'filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operator'], 'properties': {'field': {'type': 'string', 'description': 'Field name to filter on'}, 'value': {'description': 'Filter value; use array for "in" / "not_in" / "between" operators'}, 'operator': {'type': 'string', 'description': 'Comparison operator. Valid values depend on the field type (nevent_analytics_capabilities lists them): eq | neq | gt | gte | lt | lte | in | nin | contains | not_contains | starts_with | ends_with | regex | regex_i | before | after | between | in_range | not_in_range | is_empty | is_not_empty | exists. BOOLEAN fields: eq or neq with true/false.'}}, 'additionalProperties': False}, 'description': 'WHERE clause filters to apply before aggregation'}, 'groupBy': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Calendar-based group-by fields (v3.19.0+). Known values: dayOfWeek | weekOfYear | hourOfDay | minuteOfHour | month | quarter | year'}, 'metrics': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operation'], 'properties': {'alias': {'type': 'string', 'description': 'Alias for the aggregated column in results'}, 'field': {'type': 'string', 'description': 'Field name to aggregate'}, 'operation': {'type': 'string', 'description': 'Aggregation function. Known values: sum | count | avg | min | max | count_distinct | median | percentile | stddev | variance | date_diff'}}, 'additionalProperties': False}, 'description': 'Aggregated metrics to compute (SUM, COUNT, etc.)'}, 'distinct': {'type': 'boolean', 'description': 'Add SELECT DISTINCT to deduplicate result rows (v3.19.0+)'}, 'timeRange': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'End date in ISO 8601 format, e.g. "2024-12-31"'}, 'start': {'type': 'string', 'description': 'Start date in ISO 8601 format, e.g. "2024-01-01"'}, 'granularity': {'type': 'string', 'description': 'Time bucket granularity (deprecated: use top-level timeGranularity)'}}, 'description': 'Time range filter with optional granularity for trend analysis', 'additionalProperties': False}, 'collection': {'type': 'string', 'description': 'Collection name, e.g. "purchases", "tickets", "campaigns"'}, 'dimensions': {'type': 'array', 'items': {'type': 'object', 'required': ['field'], 'properties': {'alias': {'type': 'string', 'description': 'Alias for the column in results'}, 'field': {'type': 'string', 'description': 'Field name'}}, 'additionalProperties': False}, 'description': 'Fields to group by (SELECT dimensions). Omit for aggregate-only queries.'}, 'sourceTable': {'type': 'string', 'description': 'CTE name to use as source instead of a raw collection â\x80\x94 v3.19.0+'}, 'comparePeriods': {'type': 'object', 'required': ['active', 'current', 'previous'], 'properties': {'active': {'type': 'boolean', 'description': 'Enable period-over-period comparison'}, 'current': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'ISO 8601 end date, e.g. "2024-12-31"'}, 'start': {'type': 'string', 'description': 'ISO 8601 start date, e.g. "2024-01-01"'}}, 'description': 'The reference (current) time period', 'additionalProperties': False}, 'previous': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'$ref': '#/properties/comparePeriods/properties/current/properties/end'}, 'start': {'$ref': '#/properties/comparePeriods/properties/current/properties/start'}}, 'description': 'The baseline (previous) time period to compare against', 'additionalProperties': False}}, 'description': 'Period-over-period comparison (YoY, MoM, etc.) â\x80\x94 v3.19.0+', 'additionalProperties': False}, 'timeGranularity': {'type': 'string', 'description': 'Time granularity for bucketing (v3.19.0+). Known values: day | week | month | quarter | year | hour | minute | fiscalQuarter | fiscalYear'}, 'compareDimensions': {'type': 'object', 'required': ['active', 'dimensions'], 'properties': {'active': {'type': 'boolean', 'description': 'Enable comparative analysis'}, 'dimensions': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'value', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name for the comparison group'}, 'field': {'type': 'string', 'description': 'Dimension field name'}, 'value': {'type': 'string', 'description': 'Dimension field value to compare'}}, 'additionalProperties': False}, 'description': 'Dimension values to compare against each other'}}, 'description': 'Comparative dimension analysis configuration', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['table'], 'properties': {'table': {'type': 'string', 'description': 'Table name to inspect, e.g. "purchases", "tickets"'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['year', 'month'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 2000, 'description': 'Calendar year of the monthly report, e.g. 2026'}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Calendar month of the report, 1 (January) to 12 (December)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id'], 'properties': {'template_id': {'type': 'string', 'minLength': 1, 'description': '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)".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parentShortCode', 'userIds'], 'properties': {'userIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'description': '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. Duplicates are skipped.'}, 'parentShortCode': {'type': 'string', 'pattern': '^[A-Za-z0-9]{6,8}$', 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'channel'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Campaign name (required, max 255 characters)'}, 'channel': {'enum': ['EMAIL_ONLY', 'SMS_ONLY', 'WHATSAPP_ONLY', 'PUSH_ONLY', 'EMAIL_AND_SMS', 'EMAIL_AND_WHATSAPP', 'PUSH_AND_SMS', 'PUSH_AND_WHATSAPP', 'SMS_AND_WHATSAPP', 'ALL_CHANNELS', 'OMNICHANNEL', 'EMAIL', 'SMS', 'WHATSAPP'], 'type': 'string', 'description': '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_AND_WHATSAPP for multi-channel; ALL_CHANNELS or OMNICHANNEL for broad delivery. Legacy values EMAIL/SMS/WHATSAPP are accepted but deprecated.'}, 'message': {'type': 'string', 'description': 'Message text body (required when channel=SMS or WHATSAPP)'}, 'reply_to': {'type': 'string', 'format': 'email', 'maxLength': 254, 'description': "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."}, 'utm_term': {'type': 'string', 'maxLength': 100, 'description': 'UTM term parameter â\x80\x94 paid search keyword. Max 100 chars.'}, 'from_name': {'type': 'string', 'maxLength': 255, 'description': 'Sender display name (optional, defaults to tenant sender name)'}, 'email_body': {'type': 'string', 'description': 'HTML body content of the email (optional, can be set later)'}, 'utm_medium': {'type': 'string', 'maxLength': 100, 'description': 'UTM medium parameter (e.g. "email", "sms"). Max 100 chars. Auto-detected from channel if omitted.'}, 'utm_source': {'type': 'string', 'maxLength': 100, 'description': 'UTM source parameter (e.g. "nevent", "newsletter"). Max 100 chars.'}, 'segment_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of segment IDs to target (optional, can be set later)'}, 'template_id': {'type': 'string', 'description': 'Template ID to pre-populate campaign content (optional)'}, 'utm_content': {'type': 'string', 'maxLength': 100, 'description': 'UTM content parameter â\x80\x94 differentiates links/variants. Max 100 chars.'}, 'preview_text': {'type': 'string', 'maxLength': 500, 'description': 'Inbox preview text (optional, shown in email client summaries)'}, 'utm_campaign': {'type': 'string', 'maxLength': 100, 'description': 'UTM campaign parameter (e.g. "summer-sale-2026"). Max 100 chars. Defaults to slugified campaign name.'}, 'email_subject': {'type': 'string', 'maxLength': 998, 'description': 'Email subject line (required when channel=EMAIL, max 998 chars per RFC 5322)'}, 'utm_custom_params': {'type': 'object', 'description': 'Custom tracking parameters as key-value pairs appended to tracked links (optional).', 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'definition'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Human-readable name for the segment, e.g. "VIP Attendees 2025"'}, 'definition': {'type': 'object', 'required': ['stanzas'], 'properties': {'stanzas': {'type': 'array', 'items': {'type': 'object', 'required': ['criteria'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for the stanza. If omitted, the MCP client auto-generates one before sending to the API. Provide your own only if you need stable references across requests.'}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['criterion_id', 'operator'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for UI/cross-request correlation. If omitted, the MCP client auto-generates one before sending to the API.'}, 'value': {'description': 'Value to match. IMPORTANT rules:\n- ENTITY operators (is/is_not): accepts a single string ID OR an array of string IDs (e.g. "event_123" or ["event_1", "event_2"]).\n- NUMBER: must be a number (not string)\n- BOOLEAN operators (is_true/is_false): no value needed, omit this field.\n- DATE "between": array of 2 ISO date strings [start, end]'}, 'filters': {'type': 'object', 'description': 'Only needed for user_custom_field criterion. Pass { "property_name": "field_name" } to specify which custom field.', 'additionalProperties': {}}, 'operator': {'type': 'string', 'description': 'Comparison operator. Rules by data type:\n- ENTITY: "is" and "is_not" accept a single string ID OR an array of string IDs (valueType=array per API). "is_set", "is_not_set" also supported.\n- TEXT: "eq", "neq", "contains", "starts_with", "ends_with", "is_set", "is_not_set"\n- NUMBER/CURRENCY: "eq", "neq", "gt", "gte", "lt", "lte", "is_set", "is_not_set"\n- BOOLEAN: "is_true", "is_false". NEVER use "eq" with "true"/"false" strings.\n- DATE: "before", "after", "between", "eq", "is_set", "is_not_set"'}, 'modifiers': {'type': 'object', 'properties': {'frequency': {'type': 'object', 'required': ['count', 'operator'], 'properties': {'count': {'type': 'number'}, 'operator': {'type': 'string'}}, 'additionalProperties': False}, 'time_range': {'type': 'object', 'required': ['value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number', 'minimum': 1}}, 'additionalProperties': False}}, 'description': 'ADVANCED: Usually OMIT this field entirely. Only include when the user explicitly asks for:\n- "at least X times" â\x86\x92 { frequency: { count: X, operator: "gte" } }\n- "in the last X days" â\x86\x92 { time_range: { value: X, unit: "days" } } (value MUST be > 0; unit is one of days, weeks, months, years)\nIf not asked for frequency or recency, DO NOT include modifiers.', 'additionalProperties': False}, 'criterion_id': {'type': 'string', 'description': 'Criterion identifier from nevent_segmentation_criteria. Examples: total_spent, attended_event, user_gender, user_age, campaign_opened, nevent_temperature'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined, so a fan must match EVERY stanza.'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Array of stanzas. Stanzas are AND-combined: a fan must match EVERY stanza. Criteria inside one stanza are OR-combined, so a fan matching ANY of them matches that stanza.'}}, 'description': '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 separate stanzas; to accept A OR B, put both in the same stanza. Must have at least one stanza with at least one criterion. Use nevent_segment_preview first to validate the definition.', 'additionalProperties': False}, 'description': {'type': 'string', 'description': "Optional description of the segment's purpose"}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['longUrl'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Tags for categorization and filtering. Example: ["campaign", "summer", "2025"]. Use consistent tag names across campaigns.'}, 'title': {'type': 'string', 'maxLength': 200, 'description': 'Descriptive label for the short URL (max 200 chars). Shown in the admin list view and used for search.'}, 'longUrl': {'type': 'string', 'format': 'uri', 'description': 'The full destination URL to redirect to. Must include protocol (https:// or http://). Example: "https://nevent.es/events/summer-festival-2025".'}, 'metadata': {'type': 'object', 'description': 'Arbitrary key-value metadata. Useful for storing campaignId, eventId, or other business identifiers. Example: {"campaignId": "NEV-123", "eventId": "evt-456"}.', 'additionalProperties': {}}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'description': '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.'}, 'customShortCode': {'type': 'string', 'pattern': '^[A-Za-z0-9]+$', 'maxLength': 8, 'minLength': 6, 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'format'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Human-readable name for the template, e.g. "Event Reminder â\x80\x94 Spring 2026"'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of string tags to categorise the template (e.g. ["promotional", "event", "reminder"]). Omit to create with no tags.'}, 'format': {'enum': ['html', 'mjml'], 'type': 'string', 'description': 'Template format: "html" for raw HTML, "mjml" for MJML source code'}, 'html_body': {'type': 'string', 'description': 'Raw HTML content for the template. Provide this field when format is "html".'}, 'mjml_body': {'type': 'string', 'description': 'MJML source code for the template. Provide this field when format is "mjml".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['urls'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'description': '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.es/resources/tenant123/banner.png"].'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['criterion_id'], 'properties': {'search': {'type': 'string', 'description': 'Optional search string to filter matching values'}, 'criterion_id': {'type': 'string', 'description': 'Criterion ID from nevent_segmentation_criteria, e.g. "country", "event_attended"'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'description': 'The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'description': 'The campaign Identifier. Use nevent_list_campaigns to discover valid campaign IDs.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'minLength': 1, 'description': 'Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'adId'], 'properties': {'adId': {'type': 'string', 'minLength': 1, 'description': 'Ad ID from the provider. Use nevent_list_paid_ads to get valid adId values.'}, 'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'adGroupId'], 'properties': {'to': {'$ref': '#/properties/from', 'description': 'End date for the comparison window (yyyy-MM-dd). Defaults to today when omitted.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date for the comparison window (yyyy-MM-dd). Defaults to 7 days ago when omitted.'}, 'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'adGroupId': {'type': 'string', 'minLength': 1, 'description': 'Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'adGroupId'], 'properties': {'to': {'$ref': '#/properties/from', 'description': 'End date for insights window (yyyy-MM-dd). Defaults to today when omitted.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted.'}, 'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'adGroupId': {'type': 'string', 'minLength': 1, 'description': 'Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'adGroupId'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'adGroupId': {'type': 'string', 'minLength': 1, 'description': 'Ad group (ad set) ID from the provider. Use nevent_list_paid_ad_groups to get valid adGroupId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'campaignId'], 'properties': {'to': {'$ref': '#/properties/from', 'description': 'End date for insights window (yyyy-MM-dd). Defaults to today when omitted.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date for insights window (yyyy-MM-dd). Defaults to 7 days ago when omitted.'}, 'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'campaignId': {'type': 'string', 'minLength': 1, 'description': 'Paid campaign ID from the provider (not a Nevent ObjectId). Use nevent_list_paid_campaigns to get valid campaignId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['segment_id'], 'properties': {'segment_id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'minLength': 1, 'description': 'Identifier of the segment to retrieve. Get valid IDs from nevent_list_segments.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parentShortCode'], 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Number of days to include in metrics. Default: 30.'}, 'topN': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Number of top-performing users to return in topUsersByClicks. Default: 10.'}, 'parentShortCode': {'type': 'string', 'pattern': '^[A-Za-z0-9]{6,8}$', 'description': 'Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of recent click records to return, ordered newest-first. Default: 100. Max: 1000.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".'}, 'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id'], 'properties': {'template_id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'The Identifier of the template to retrieve. Get valid IDs from nevent_list_templates.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['workflows', 'errors', 'tenants', 'analytics', 'segments', 'campaigns', 'templates', 'deliverability', 'paid_media', 'short_urls', 'media'], 'type': 'string', 'description': '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 | media'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'page': {'type': 'integer', 'minimum': 0, 'description': 'Zero-based page number. Default: 0 (first page).'}, 'search': {'type': 'string', 'description': 'Free-text search across recipient name and email address.'}, 'status': {'enum': ['SCHEDULED', 'DELIVERED', 'OPENED', 'CLICKED', 'BOUNCES', 'UNSUBSCRIBES'], 'type': 'string', 'description': '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 from this send. Omit to return every recipient.'}, 'page_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Recipients per page (1-100). Default: 25. Keep this small â\x80\x94 recipient rows contain personal data and large pages waste context.'}, 'segment_id': {'type': 'string', 'description': '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.'}, 'campaign_id': {'type': 'string', 'minLength': 1, 'description': 'Campaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'enum': ['createdAt', 'executedAt', 'name'], 'type': 'string', 'default': 'createdAt', 'description': 'Field to sort by: createdAt (default) | executedAt | name'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of campaigns to return (default 50, max 200)'}, 'status': {'enum': ['EXECUTED', 'DRAFT', 'PAUSED', 'STOPPED', 'SCHEDULED'], 'type': 'string', 'description': 'Filter by campaign status: EXECUTED | DRAFT | PAUSED | STOPPED | SCHEDULED'}, 'channel': {'enum': ['EMAIL', 'SMS', 'WHATSAPP'], 'type': 'string', 'description': 'Filter by channel: EMAIL | SMS | WHATSAPP'}, 'date_to': {'type': 'string', 'format': 'date-time', 'description': 'Filter campaigns created on or before this date (ISO 8601, e.g. "2024-12-31T23:59:59Z")'}, 'date_from': {'type': 'string', 'format': 'date-time', 'description': 'Filter campaigns created on or after this date (ISO 8601, e.g. "2024-01-01T00:00:00Z")'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort direction: asc | desc (default desc)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'campaignId': {'type': 'string', 'minLength': 1, 'description': 'Optional: filter ad groups by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}, 'adGroupId': {'type': 'string', 'minLength': 1, 'description': 'Optional: filter ads by parent ad group ID. Use nevent_list_paid_ad_groups to get valid adGroupId values.'}, 'campaignId': {'type': 'string', 'minLength': 1, 'description': 'Optional: filter ads by parent campaign ID. Use nevent_list_paid_campaigns to get valid campaignId values.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 0, 'description': 'Zero-based page number over destination GROUPS. Default: 0 (first page).'}, 'origin': {'enum': ['ALL', 'MANUAL', 'CAMPAIGN', 'ASSISTANT'], 'type': 'string', 'description': '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 (read-only).'}, 'search': {'type': 'string', 'description': 'Free-text search across destination URL, title, and short code. E.g. "festival" to find every destination for that event.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Number of destination groups per page (1-100). Default: 20.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 0, 'description': 'Zero-based page number for pagination. Default: 0 (first page).'}, 'search': {'type': 'string', 'minLength': 1, 'description': 'Free-text search across short code, title, and target URL. E.g. "summer" to find links tagged or titled with that word.'}, 'isActive': {'type': 'boolean', 'description': 'Filter by active status. true = only active links, false = only inactive/expired links. Omit to return both.'}, 'pageSize': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Number of results per page. Default: 20. Max: 200.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parentShortCode'], 'properties': {'parentShortCode': {'type': 'string', 'pattern': '^[A-Za-z0-9]{6,8}$', 'description': 'Short code of the parent (campaign) short URL (6-8 alphanumeric characters). Obtain from nevent_list_short_urls where isParent=true, field "shortCode".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'enum': ['createdAt', 'modifiedAt', 'name'], 'type': 'string', 'default': 'modifiedAt', 'description': 'Sort field: createdAt | modifiedAt | name (default modifiedAt)'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter templates by tags. Only templates that have ALL specified tags are returned. Omit to return templates regardless of tags.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of templates to return (default 50, max 200)'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort direction: asc | desc (default desc)'}, 'content_nature': {'type': 'string', 'description': 'Filter by AI-assigned content nature classification (e.g. "promotional", "transactional", "newsletter", "event_reminder"). Omit to return templates of all natures.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'provider': {'enum': ['meta', 'google', 'tiktok'], 'type': 'string', 'description': 'Ad provider: meta | google | tiktok'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id'], 'properties': {'subject': {'type': 'string', 'description': 'Optional subject line to preview with merge-tag resolution. Example: "Hola {{name|title}}, tu resumen semanal". Omit to skip subject personalization.'}, 'template_id': {'type': 'string', 'minLength': 1, 'description': 'The ID of the email template to preview. Use nevent_list_templates to discover valid template IDs.'}, 'sample_user_id': {'type': 'string', 'minLength': 1, 'description': "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 return raw merge tags only."}, 'sample_user_email': {'type': 'string', 'format': 'email', 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['channel'], 'properties': {'channel': {'enum': ['EMAIL_ONLY', 'SMS_ONLY', 'WHATSAPP_ONLY', 'PUSH_ONLY', 'EMAIL_AND_SMS', 'EMAIL_AND_WHATSAPP', 'PUSH_AND_SMS', 'PUSH_AND_WHATSAPP', 'SMS_AND_WHATSAPP', 'ALL_CHANNELS', 'OMNICHANNEL', 'EMAIL', 'SMS', 'WHATSAPP'], 'type': 'string', 'description': '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 block.'}, 'segment_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'description': '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': {'type': 'boolean', 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'The new name for the template. Must be between 1 and 255 characters. Duplicate names are allowed by the API.'}, 'template_id': {'type': 'string', 'minLength': 1, 'description': 'The ID of the email template to rename. Use nevent_list_templates to get valid template IDs.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id', 'scheduled_time', 'confirmed'], 'properties': {'confirmed': {'type': 'boolean', 'const': True, 'description': 'Must be the literal value true to proceed. Set confirmed=true to confirm you want to schedule this campaign for sending.'}, 'campaign_id': {'type': 'string', 'minLength': 1, 'description': 'Campaign ID to schedule (must be in DRAFT status)'}, 'scheduled_time': {'type': 'string', 'format': 'date-time', 'description': '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"'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['definition'], 'properties': {'page': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Zero-based page index (default 0)'}, 'page_size': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (max 100, default 20)'}, 'definition': {'type': 'object', 'required': ['stanzas'], 'properties': {'stanzas': {'type': 'array', 'items': {'type': 'object', 'required': ['criteria'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for the stanza. If omitted, the MCP client auto-generates one before sending to the API. Provide your own only if you need stable references across requests.'}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['criterion_id', 'operator'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for UI/cross-request correlation. If omitted, the MCP client auto-generates one before sending to the API.'}, 'value': {'description': 'Value to match. IMPORTANT rules:\n- ENTITY operators (is/is_not): accepts a single string ID OR an array of string IDs (e.g. "event_123" or ["event_1", "event_2"]).\n- NUMBER: must be a number (not string)\n- BOOLEAN operators (is_true/is_false): no value needed, omit this field.\n- DATE "between": array of 2 ISO date strings [start, end]'}, 'filters': {'type': 'object', 'description': 'Only needed for user_custom_field criterion. Pass { "property_name": "field_name" } to specify which custom field.', 'additionalProperties': {}}, 'operator': {'type': 'string', 'description': 'Comparison operator. Rules by data type:\n- ENTITY: "is" and "is_not" accept a single string ID OR an array of string IDs (valueType=array per API). "is_set", "is_not_set" also supported.\n- TEXT: "eq", "neq", "contains", "starts_with", "ends_with", "is_set", "is_not_set"\n- NUMBER/CURRENCY: "eq", "neq", "gt", "gte", "lt", "lte", "is_set", "is_not_set"\n- BOOLEAN: "is_true", "is_false". NEVER use "eq" with "true"/"false" strings.\n- DATE: "before", "after", "between", "eq", "is_set", "is_not_set"'}, 'modifiers': {'type': 'object', 'properties': {'frequency': {'type': 'object', 'required': ['count', 'operator'], 'properties': {'count': {'type': 'number'}, 'operator': {'type': 'string'}}, 'additionalProperties': False}, 'time_range': {'type': 'object', 'required': ['value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number', 'minimum': 1}}, 'additionalProperties': False}}, 'description': 'ADVANCED: Usually OMIT this field entirely. Only include when the user explicitly asks for:\n- "at least X times" â\x86\x92 { frequency: { count: X, operator: "gte" } }\n- "in the last X days" â\x86\x92 { time_range: { value: X, unit: "days" } } (value MUST be > 0; unit is one of days, weeks, months, years)\nIf not asked for frequency or recency, DO NOT include modifiers.', 'additionalProperties': False}, 'criterion_id': {'type': 'string', 'description': 'Criterion identifier from nevent_segmentation_criteria. Examples: total_spent, attended_event, user_gender, user_age, campaign_opened, nevent_temperature'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined, so a fan must match EVERY stanza.'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Array of stanzas. Stanzas are AND-combined: a fan must match EVERY stanza. Criteria inside one stanza are OR-combined, so a fan matching ANY of them matches that stanza.'}}, 'description': '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 separate stanzas; to accept A OR B, put both in the same stanza.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['definition'], 'properties': {'definition': {'type': 'object', 'required': ['stanzas'], 'properties': {'stanzas': {'type': 'array', 'items': {'type': 'object', 'required': ['criteria'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for the stanza. If omitted, the MCP client auto-generates one before sending to the API. Provide your own only if you need stable references across requests.'}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['criterion_id', 'operator'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for UI/cross-request correlation. If omitted, the MCP client auto-generates one before sending to the API.'}, 'value': {'description': 'Value to match. IMPORTANT rules:\n- ENTITY operators (is/is_not): accepts a single string ID OR an array of string IDs (e.g. "event_123" or ["event_1", "event_2"]).\n- NUMBER: must be a number (not string)\n- BOOLEAN operators (is_true/is_false): no value needed, omit this field.\n- DATE "between": array of 2 ISO date strings [start, end]'}, 'filters': {'type': 'object', 'description': 'Only needed for user_custom_field criterion. Pass { "property_name": "field_name" } to specify which custom field.', 'additionalProperties': {}}, 'operator': {'type': 'string', 'description': 'Comparison operator. Rules by data type:\n- ENTITY: "is" and "is_not" accept a single string ID OR an array of string IDs (valueType=array per API). "is_set", "is_not_set" also supported.\n- TEXT: "eq", "neq", "contains", "starts_with", "ends_with", "is_set", "is_not_set"\n- NUMBER/CURRENCY: "eq", "neq", "gt", "gte", "lt", "lte", "is_set", "is_not_set"\n- BOOLEAN: "is_true", "is_false". NEVER use "eq" with "true"/"false" strings.\n- DATE: "before", "after", "between", "eq", "is_set", "is_not_set"'}, 'modifiers': {'type': 'object', 'properties': {'frequency': {'type': 'object', 'required': ['count', 'operator'], 'properties': {'count': {'type': 'number'}, 'operator': {'type': 'string'}}, 'additionalProperties': False}, 'time_range': {'type': 'object', 'required': ['value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number', 'minimum': 1}}, 'additionalProperties': False}}, 'description': 'ADVANCED: Usually OMIT this field entirely. Only include when the user explicitly asks for:\n- "at least X times" â\x86\x92 { frequency: { count: X, operator: "gte" } }\n- "in the last X days" â\x86\x92 { time_range: { value: X, unit: "days" } } (value MUST be > 0; unit is one of days, weeks, months, years)\nIf not asked for frequency or recency, DO NOT include modifiers.', 'additionalProperties': False}, 'criterion_id': {'type': 'string', 'description': 'Criterion identifier from nevent_segmentation_criteria. Examples: total_spent, attended_event, user_gender, user_age, campaign_opened, nevent_temperature'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined, so a fan must match EVERY stanza.'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Array of stanzas. Stanzas are AND-combined: a fan must match EVERY stanza. Criteria inside one stanza are OR-combined, so a fan matching ANY of them matches that stanza.'}}, 'description': '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 separate stanzas; to accept A OR B, put both in the same stanza.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id', 'emails'], 'properties': {'emails': {'type': 'array', 'items': {'type': 'string', 'format': 'email'}, 'maxItems': 10, 'minItems': 1, 'description': '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"].'}, 'subject': {'type': 'string', 'description': 'Optional subject line for the test email. Omit to use the default subject from the template.'}, 'parameters': {'type': 'object', 'description': '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 user profile data for the corresponding tags.', 'additionalProperties': {}}, 'template_id': {'type': 'string', 'minLength': 1, 'description': 'The ID of the email template to send as a test. Use nevent_list_templates to discover valid template IDs.'}, 'sample_user_id': {'type': 'string', 'minLength': 1, 'description': "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."}, 'sample_user_email': {'type': 'string', 'format': 'email', 'description': 'Optional user email within the active tenant for merge-tag personalization. Ignored when sample_user_id is also provided.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tenant_id'], 'properties': {'tenant_id': {'type': 'string', 'description': "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 tenant IDs. SUPERADMIN: this mutates your user record in the database; call nevent_reset_tenant when done. OWNER/ADMIN/STAFF: session-scoped only (can only switch to descendants in your tenant hierarchy)."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['segment_id'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'New human-readable name for the segment. Omit to leave unchanged.'}, 'definition': {'type': 'object', 'required': ['stanzas'], 'properties': {'stanzas': {'type': 'array', 'items': {'type': 'object', 'required': ['criteria'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for the stanza. If omitted, the MCP client auto-generates one before sending to the API. Provide your own only if you need stable references across requests.'}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['criterion_id', 'operator'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable ID for UI/cross-request correlation. If omitted, the MCP client auto-generates one before sending to the API.'}, 'value': {'description': 'Value to match. IMPORTANT rules:\n- ENTITY operators (is/is_not): accepts a single string ID OR an array of string IDs (e.g. "event_123" or ["event_1", "event_2"]).\n- NUMBER: must be a number (not string)\n- BOOLEAN operators (is_true/is_false): no value needed, omit this field.\n- DATE "between": array of 2 ISO date strings [start, end]'}, 'filters': {'type': 'object', 'description': 'Only needed for user_custom_field criterion. Pass { "property_name": "field_name" } to specify which custom field.', 'additionalProperties': {}}, 'operator': {'type': 'string', 'description': 'Comparison operator. Rules by data type:\n- ENTITY: "is" and "is_not" accept a single string ID OR an array of string IDs (valueType=array per API). "is_set", "is_not_set" also supported.\n- TEXT: "eq", "neq", "contains", "starts_with", "ends_with", "is_set", "is_not_set"\n- NUMBER/CURRENCY: "eq", "neq", "gt", "gte", "lt", "lte", "is_set", "is_not_set"\n- BOOLEAN: "is_true", "is_false". NEVER use "eq" with "true"/"false" strings.\n- DATE: "before", "after", "between", "eq", "is_set", "is_not_set"'}, 'modifiers': {'type': 'object', 'properties': {'frequency': {'type': 'object', 'required': ['count', 'operator'], 'properties': {'count': {'type': 'number'}, 'operator': {'type': 'string'}}, 'additionalProperties': False}, 'time_range': {'type': 'object', 'required': ['value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number', 'minimum': 1}}, 'additionalProperties': False}}, 'description': 'ADVANCED: Usually OMIT this field entirely. Only include when the user explicitly asks for:\n- "at least X times" â\x86\x92 { frequency: { count: X, operator: "gte" } }\n- "in the last X days" â\x86\x92 { time_range: { value: X, unit: "days" } } (value MUST be > 0; unit is one of days, weeks, months, years)\nIf not asked for frequency or recency, DO NOT include modifiers.', 'additionalProperties': False}, 'criterion_id': {'type': 'string', 'description': 'Criterion identifier from nevent_segmentation_criteria. Examples: total_spent, attended_event, user_gender, user_age, campaign_opened, nevent_temperature'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Criteria in the same stanza are OR-combined: a fan matches the stanza if ANY criterion matches. Stanzas are AND-combined, so a fan must match EVERY stanza.'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Array of stanzas. Stanzas are AND-combined: a fan must match EVERY stanza. Criteria inside one stanza are OR-combined, so a fan matching ANY of them matches that stanza.'}}, 'description': '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 fan must match EVERY stanza. Omit to leave the existing definition unchanged.', 'additionalProperties': False}, 'segment_id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'minLength': 1, 'description': 'Identifier of the segment to update. Use nevent_list_segments to get valid segment IDs.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'MongoDB ObjectId of the short URL (24 hex characters). Obtain from nevent_list_short_urls response field "id".'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'New tag list. Replaces (not merges) the existing tags.'}, 'title': {'type': 'string', 'maxLength': 200, 'description': 'New descriptive title (max 200 chars). Replaces the existing title.'}, 'longUrl': {'type': 'string', 'format': 'uri', 'description': 'New destination URL. Changes where existing links redirect to â\x80\x94 takes effect immediately.'}, 'isActive': {'type': 'boolean', 'description': 'Activate (true) or deactivate (false) the short URL. Deactivated links stop redirecting immediately.'}, 'metadata': {'type': 'object', 'description': 'New metadata object. Replaces (not merges) the existing metadata.', 'additionalProperties': {}}, 'expiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'description': '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.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template_id'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'New human-readable name for the template. Omit to leave unchanged.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Replacement list of tags. The full tag list is replaced when provided. Omit to leave existing tags unchanged.'}, 'format': {'enum': ['html', 'mjml'], 'type': 'string', 'description': 'New template format: "html" or "mjml". Omit to leave unchanged.'}, 'html_body': {'type': 'string', 'description': 'New raw HTML content for the template. Omit to leave unchanged.'}, 'mjml_body': {'type': 'string', 'description': 'New MJML source code for the template. Omit to leave unchanged.'}, 'template_id': {'type': 'string', 'pattern': '^[a-f0-9]{24}$', 'description': 'Identifier of the template to update. Use nevent_list_templates to get valid template IDs.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source'], 'properties': {'source': {'type': 'string', 'minLength': 1, 'description': 'Base64-encoded image. Two accepted forms:\n1. Data URL: "data:image/png;base64,<base64data>" â\x80\x94 MIME type parsed from prefix.\n2. Raw base64 string â\x80\x94 mimeType parameter required.\nMaximum decoded size: 5 MB. URL sources are not accepted.'}, 'mimeType': {'type': 'string', 'minLength': 1, 'description': '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: image/png | image/jpeg | image/gif | image/webp | image/svg+xml.'}, 'imageName': {'type': 'string', 'minLength': 1, 'description': 'Optional file name for the uploaded resource (e.g. "event-banner.png"). When omitted, a name is generated from the upload timestamp.'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
Rahul D Sarker: Marketing & RevOps Tools
Provides marketing, revenue operations, sales, advertising, SaaS, and conversion calculators, along with article search and consu…
US Brand Intelligence
Transforms supplied US brand evidence and signals into deterministic summaries, action queues, CRM mappings, routing plans, metri…
COS Monitor
Scores and improves marketing and sales communications using messaging, audience, persuasion, quality, and platform-specific anal…
OutSend
Extracts Google Maps business leads, enriches them with contact and social data, verifies emails, and runs recurring lead-monitor…
Lead Intelligence
Provides paid lead-intelligence tools for job discovery, contact verification, lead-list hygiene, permit signals, and website con…
Windsor.ai MCP
Queries and analyzes marketing, sales, and business data from hundreds of platforms.
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
SharksAPI.AI
Provides marketing analytics and actions across GA4, Search Console, Google Ads, social channels, SEO, WordPress, and marketing p…