目录 / Sequenzy
MCP
鉴权未知
未评级
已上架
Sequenzy
AI-agent email marketing automation for subscribers, campaigns, sequences, transactional email, landing pages, inbox replies, webhooks, analytics, and deliverability.
该来源不提供完整文件导出(国内平台多为平台内托管),仅存元数据与原链
模型生成摘要(rules/v1 · 2026-09-27 16:15):AI-agent email marketing automation for subscribers, campaigns, sequences, transactional email, landing pages, inbox rep…
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
接入信息
- 传输形态
- http
- 鉴权方式
- 鉴权未知
- 端点
https://mcp--sequenzy.run.tools
鉴权方式未标注,请核对官方文档后再接入——不要直接使用以下片段
{
"mcpServers": {
"Sequenzy": {
"url": "https://mcp--sequenzy.run.tools"
}
}
}
能力清单
| 工具 | 说明 |
|---|---|
| get_account | Get current account information including available companies. IMPORTANT: If you have access to multiple companies, you MUST either: 1. Call select_company first to choose which company to work with, OR 2. Pass companyId explicitly in each tool call The response shows 'companies' (all available) and 'selectedCompanyId' (currently active). All subsequent operations will use the selected company unless you pass a companyId override. |
| select_company | Select which company to operate on (for user-scoped API keys with access to multiple companies). Use get_account to see available companies. After selecting, all subsequent operations will use this company unless you pass a companyId override. |
| get_app_urls | Generate Sequenzy dashboard URLs for known resource IDs. Use this when the user asks where to review or edit a generated sequence, campaign, template, or company settings. If companyId is omitted, the selected/current company is used when available. |
| create_company | Create a new company/brand. This will parse your website to extract brand information. The tool polls every 20 seconds until the company is fully processed (typically 30-60 seconds). |
| get_company | Get company details, processing status, and effective email localization settings |
| create_api_key | Create a new API key for a company. Use this when setting up Sequenzy integration in a project. The returned key should be saved to the project's .env file as SEQUENZY_API_KEY. The key can only be retrieved once at creation time. |
| list_websites | List all configured sender websites/domains |
| add_website | Add a new sender website. Takes ~30 seconds to process. |
| check_website | Check if a website has been processed and is ready to use |
| get_integration_guide | Get code examples for integrating Sequenzy into your project. CRITICAL - FOR SAAS/SUBSCRIPTION APPS: If the app uses Stripe, Polar, Paddle, Dodo, or Creem - tell the user to connect it in Sequenzy dashboard (Settings → Integrations). The native integration automatically handles all payment events and customer tags - no code needed! CRITICAL - FOR E-COMMERCE STORES: If the store runs on Shopify or WooCommerce - tell the user to connect the native integration in the dashboard instead (it syncs products, orders, and customers automatically). For any other e-commerce stack (custom checkouts, CheckoutChamp, Sticky.io, headless storefronts), use the 'ecommerce' use case to integrate via the Commerce API. Only provide manual event tracking code if the user explicitly asks for it. Use cases: - 'transactional': Sending one-off emails (welcome, password reset, receipts) - 'subscribe_form': Adding subscribers from signup forms - 'event_tracking': Tracking CUSTOM events only (not payment events - those come from the integration) - 'ecommerce': Connecting a custom e-commerce platform via the Commerce API (sync products, push orders/checkouts, power abandoned cart + back-in-stock automations) Before implementing, use create_api_key to generate an API key and save it to .env as SEQUENZY_API_KEY. |
| add_subscriber | Add a new subscriber to your list |
| update_subscriber | Update an existing subscriber's attributes or tags |
| remove_subscriber | Unsubscribe or delete a subscriber |
| get_subscriber | Get the full subscriber profile, including tags, list memberships, sequence enrollments, email stats, and recent activity |
| search_subscribers | Search subscribers by free-text query, tags, list, or segment. If you omit limit, the tool fetches all pages and returns every match. |
| list_products | List synced products (Stripe, Shopify, WooCommerce) including any attached digital delivery file. Useful before attaching a file or building a purchase sequence for a specific product. |
| upsert_products | Create or update products in the catalog (Commerce API, keyed by your productId, stored under the api provider). Use this to add products that are not synced from Stripe/Shopify/WooCommerce, then attach a deliverable file with attach_product_file and build a purchase sequence for them. |
| delete_product | Delete a product previously pushed via upsert_products (Commerce API products only), identified by your productId. |
| attach_product_file | Attach a distributable file to a product, either by public URL or by uploading a local file (filePath, local MCP server only). After a purchase of the product, sequence emails can link to it with {{event.download.url}} and {{event.download.name}}. |
| remove_product_file | Remove the attached distributable file from a product. |
| sync_products | Queue a sync of the Stripe product catalog into the products list. Requires an active Stripe integration. |
| list_tags | List all tags in the account |
| create_tag | Create a new tag definition. The name is normalized to lowercase with hyphens (e.g. 'VIP Customer' becomes 'vip-customer'). Color defaults to gray. |
| update_tag | Update a tag's color. System tags cannot be updated. |
| delete_tag | Permanently delete a tag and remove it from all subscribers. This cannot be undone. System tags and tags used by sequences cannot be deleted. |
| list_lists | List all subscriber lists |
| create_list | Create a new subscriber list |
| update_list | Update a subscriber list's name, description, or privacy. Only the provided fields are changed. |
| delete_list | Permanently delete a subscriber list and remove all of its memberships. Subscribers themselves are kept. This cannot be undone. |
| add_subscribers_to_list | Bulk add existing or new subscribers to a subscriber list from an email array. Existing subscribers are added to the list without requiring a per-subscriber update call. |
| remove_subscribers_from_list | Remove subscribers from a list by email address. Maximum 500 emails per call. Subscribers stay in the account; only the list membership is removed. Returns the removed count plus a notFound array of emails that did not match a subscriber. |
| list_segments | List all segments |
| create_segment | Create a new segment from explicit filter rules. Use `filters` plus `filterJoinOperator` for flat legacy rules, or `root` for nested AND/OR groups such as `{ "kind": "group", "joinOperator": "and", "children": [{ "kind": "filter", "field": "attribute", "operator": "gte", "value": "mrr:50" }, { "kind": "group", "joinOperator": "or", "children": [{ "kind": "filter", "field": "tag", "operator": "contains", "value": "vip" }, { "kind": "filter", "field": "event", "operator": "is_not", "value": "saas.purchase:30d" }] }] }`. Supports `event` and `segment` fields, Stripe product purchase/current/trial/date filters, and campaign-specific engagement filters. |
| update_segment | Update a segment's name and/or filter rules. Use the same `filters` plus `filterJoinOperator` or nested `root` shapes as create_segment; providing `filters` or `root` replaces the segment's existing rules. |
| delete_segment | Permanently delete a segment. This cannot be undone. Subscribers are not affected. |
| get_segment_count | Get the number of subscribers in a segment |
| list_audience_syncs | List Meta custom audience syncs (segment -> ad audience mappings) with their schedule and last sync status. Requires the Meta Ads integration to be connected in the dashboard. |
| list_ad_accounts | List the Meta ad accounts available through the connected Meta Ads integration. Use the returned account id as `adAccountId` when creating an audience sync. |
| create_audience_sync | Push a segment to a Meta custom audience and keep it synced on a schedule. Provide `segmentId` for an existing segment OR `predefinedSegmentId` for a ready-made template (for example "zero-ltv", "no-purchase-1y", "recent-buyers", "high-spenders-ecom", "non-buyers", "engaged") - the template segment is created automatically on first use. The first upload runs immediately. Note: audiences are add-only; subscribers who later leave the segment stay in the Meta audience. |
| update_audience_sync | Update an audience sync's frequency or pause/resume it (`isActive`). |
| delete_audience_sync | Remove an audience sync mapping. The Meta audience itself is kept (running ads are not disrupted) - only future syncs stop. |
| sync_audience_now | Trigger an immediate upload of the segment's subscribers to its Meta custom audience, outside the regular schedule. |
| list_templates | List all email templates, including per-locale localization sync status |
| get_template | Get a template's details, content, and all localized variants with sync status |
| create_template | Create a new email template |
| update_template | Update an existing template. At least one of `name`, `subject`, `html`, `blocks`, or `labels` is required, and only those update fields are accepted. |
| delete_template | Delete a template |
| list_ab_tests | List A/B tests and their variants |
| get_ab_test | Get A/B test details, variants, and per-locale localization sync status |
| get_ab_test_stats | Get A/B test aggregate stats and per-variant stats. Supports period or custom start/end ranges. |
| restart_ab_test | Run another sequence A/B test after a winner is selected. By default the winner becomes the new control; pass sourceVariantId to use another variant as the control email. |
| update_ab_test_variant | Update a draft A/B test variant. Provide at least one of subject, previewText, html, or blocks. Use either html or blocks, not both. |
| create_ab_test | Create a campaign A/B test. Control variant A is created automatically from the campaign's current email; optionally provide extra variants. The campaign must be in draft or rejected status, and each campaign can only have one A/B test. |
| add_ab_test_variant | Add a variant to a draft campaign A/B test. Variants cannot be added after the test has started. |
| delete_ab_test_variant | Permanently delete a variant from a draft campaign A/B test. This cannot be undone. Variant A is the control and cannot be deleted, and the test must keep at least the minimum number of variants. Variants cannot be removed after the test has started. |
| delete_ab_test | Permanently delete a campaign A/B test and all of its variants. This cannot be undone. Running tests (testing or winner_selected) cannot be deleted, and the linked campaign must be in draft or rejected status. |
| list_campaigns | List all campaigns |
| get_campaign | Get campaign details and stats |
| get_email_send | Get a sent email by emailSendId, including the stored HTML body when available and the ClickHouse event timeline. If the short-lived email send row has been cleaned up, returns the retained ClickHouse events and a sparse summary. |
| create_campaign | Create a new campaign (as draft) |
| update_campaign | Update a draft campaign |
| schedule_campaign | Schedule a draft or already scheduled campaign. Returns dashboard edit and preview URLs. |
| send_test_email | Send a test email to a single address |
| cancel_campaign | Cancel a campaign. Stops scheduled and sending campaigns (also works for paused and approval-pending ones). Remaining emails will not be sent and the campaign cannot be restarted - this cannot be undone. |
| pause_campaign | Pause a campaign that is currently sending. Only campaigns in sending status can be paused. Use resume_campaign to continue delivery later. |
| resume_campaign | Resume a paused campaign. Only campaigns in paused status can be resumed. Optionally spread the remaining delivery over a number of hours. |
| delete_campaign | Permanently delete a campaign. This cannot be undone. Sending, scheduled, or paused campaigns must be cancelled with cancel_campaign first. |
| duplicate_campaign | Duplicate a campaign as a new draft. mode 'campaign' (default) copies the campaign and its email, 'ab_test' also duplicates the campaign's A/B test with all variants, and 'variant' copies a single variant's content as the new campaign email (requires variantId). |
| list_landing_pages | List all landing pages for a company |
| get_landing_page | Get landing page details, content, metrics, and URLs |
| create_landing_page | Create a draft landing page. Provide content for an exact page, or a template for generated starter content. |
| update_landing_page | Edit a landing page's name, slug, or full content. Provide at least one update field. |
| delete_landing_page | Delete a landing page |
| publish_landing_page | Publish a landing page. Optional name, slug, or content updates are saved before publishing. |
| unpublish_landing_page | Unpublish a landing page and return it to draft status. Optional name, slug, or content updates are saved first. |
| connect_landing_page_domain | Connect a custom domain for published landing pages. Returns the DNS target and verification records. |
| update_landing_page_domain_settings | Update landing page domain settings. Provide domain to replace the custom domain, verify true to refresh verification, or both. |
| list_sequences | List all email sequences (automations) |
| get_sequence | Get sequence details plus editable step content. The response includes sequence.emails with each step's nodeId, linked emailId, subject, previewText, and blocks. |
| create_sequence | Create a new email sequence. Provide either a goal for AI generation or explicit steps. Explicit steps can include email content and create_discount actions; emails after a discount action can use merge tags such as {{discount.code}} and {{discount.percentOff}}. For AI-generated sequences, the tool polls until emails are generated (typically 30-60 seconds). IMPORTANT GUIDELINES: 1. NEVER ENABLE SEQUENCES AUTOMATICALLY: - Sequences are created in DRAFT/PAUSED state - NEVER call enable_sequence unless the user EXPLICITLY asks to enable/activate - The user must review the AI-generated content before going live - Sequences send real emails to real people - enabling without review is dangerous 2. KEEP IT SIMPLE: Only suggest sequences that are straightforward to implement: - Prefer 3-5 emails per sequence (not 10+) - Use simple, achievable triggers that the app already tracks - Avoid complex multi-step sequences that require extensive app changes 2. MATCH THE BUSINESS MODEL: - If the app has NO trial period, do NOT create trial-related sequences - If the app is FREE (no paid plans), do NOT create upgrade/pricing sequences - If the app is a one-time purchase (not SaaS), do NOT create subscription sequences - Match sequences to events and features that ACTUALLY exist in the app 3. EVENT TRACKING: When you use a custom event (not a built-in event), you MUST: - The event will be auto-created in Sequenzy - The response includes eventTrackingCode showing exactly what code to add to the app - Tell the user what specific user action should trigger each event - Be specific: "Track 'project.created' when user creates their first project" 4. MATCHING FIELD ENROLLMENT: - Use enrollmentMode: "matching_field" only with trigger: "event_received". - Use enrollmentFieldPath for custom event payload fields, for example "order.id" or "product.providerVariantId". - This blocks duplicate active runs for the same subscriber + field value, but still allows separate active runs for different products, variants, orders, or other event-scoped objects. - Leave enrollmentFieldPath empty for Shopify back-in-stock and replenishment events so Sequenzy uses its built-in product/variant matching defaults. 5. SEQUENCE TRIGGER RECIPES - USE THESE EXACT CONFIGURATIONS: TRIAL CONVERSION: - trigger: tag_added, tagName: "trial" - Auto-stops when: user gets "customer" tag - Goal: Convert trial users to paying customers PAYMENT RECOVERY / DUNNING: - trigger: tag_added, tagName: "past-due" - Auto-stops when: user no longer has "past-due" tag (they paid) - Goal: Recover failed payments before churn CANCELLATION RECOVERY / WIN-BACK: - trigger: tag_added, tagName: "cancelled" - Auto-stops when: user gets "customer" tag again - Goal: Win back users who cancelled CHURN RECOVERY: - trigger: tag_added, tagName: "churned" - Auto-stops when: user gets "customer" tag again - Goal: Re-engage churned users UPGRADE / UPSELL: - trigger: tag_added, tagName: "customer" - Auto-stops when: user triggers "saas.upgrade" event - Goal: Encourage customers to upgrade to higher plans ONBOARDING: - trigger: event_received, eventName: "signup.completed" - Auto-stops when: "onboarding.completed" event fires - Goal: Guide new users through product setup PRODUCT / ORDER-SCOPED EVENT SEQUENCE: - trigger: event_received, eventName: "ecommerce.order_placed" - enrollmentMode: "matching_field", enrollmentFieldPath: "order.id" - Goal: Run one active sequence per specific order without duplicate active runs for the same order SINGLE-PRODUCT PURCHASE SEQUENCE (e.g. digital product delivery): - trigger: event_received, eventName: "ecommerce.order_placed", propertyFilters: [{ path: "lineItems[].providerProductId", operator: "equals", value: "<productId>" }] - For Stripe purchases use eventName: "saas.purchase" with propertyFilters: [{ path: "productIds", operator: "equals", value: "prod_XXX" }] - To match any of several products, use operator "one_of" with an array value: [{ path: "lineItems[].providerProductId", operator: "one_of", value: ["<productId1>", "<productId2>"] }] - Goal: Only start the sequence when a specific product was purchased WELCOME SERIES: - trigger: contact_added (optionally with listId) - No auto-stop (runs to completion) - Goal: Introduce new subscribers to your brand SEGMENT ENTRY: - trigger: segment_entered, segmentId: "segment-id" - No auto-stop by default - Goal: Start a sequence when contacts newly qualify for a saved segment RE-ENGAGEMENT: - trigger: inactivity, eventName: "login", inactiveDays: 14 - Auto-stops when: user logs in again - Goal: Bring back inactive users IMPORTANT - PAYMENT PROVIDER INTEGRATION: If the app uses Stripe, Polar, Paddle, Dodo, or Creem - tell the user to connect it in Sequenzy dashboard (Settings → Integrations). Once connected, the native integration automatically handles: - All saas.* events (purchase, cancelled, churn, payment_failed, etc.) - All status tags (customer, trial, cancelled, churned, past-due, etc.) - Subscription attributes (MRR, plan name, billing interval) Only offer manual tracking if the user explicitly asks for it. DISCOUNT ACTION STEPS: - Use explicit steps with { "type": "create_discount", "discount": { "discountType": "percent", "percentOff": 20, "duration": "once", "appliesToAllPlans": true, "maxRedemptions": 1, "codePrefix": "SAVE" } }. - Optionally add "lockToSubscriber": true for Stripe discounts only when the subscriber is expected to have a matching Stripe customer. - Discount actions currently require Stripe; connect Stripe before enabling the sequence. - Put the discount action before the email that references it with {{discount.code}}. CUSTOM EVENTS (these DO require manual tracking): - onboarding.completed - User finished setup wizard - feature.used - User engaged with a key feature - project.created - User created their first project - team.invited - User invited a team member - milestone.reached - User hit a usage milestone For custom events, provide the tracking code snippet from get_integration_guide. BUILT-IN TAGS (auto-applied by payment integrations): - "customer" = PAYING customer with active subscription (use this for upgrade sequences, customer-only content) - "trial" = Currently on free trial (use for trial conversion sequences) - "lead" = Signed up but never paid (use for nurture sequences) - "cancelled" = Cancelled but still has access until period ends (use for win-back sequences) - "churned" = Subscription ended, no longer paying (use for re-engagement) - "past-due" = Payment failed, at risk of churning (use for dunning/recovery sequences) - "refunded" = Received a refund - "saas.monthly" / "saas.yearly" = Billing interval BUILT-IN EVENTS (auto-fired by payment integrations): - saas.purchase, saas.purchase.monthly, saas.purchase.yearly - New subscription - saas.cancelled - User cancelled (still has access) - saas.churn - Subscription ended - saas.payment_failed - Card declined/expired - saas.upgrade, saas.downgrade - Plan changes - saas.trial_started, saas.trial_will_end, saas.trial_ended - Trial lifecycle - saas.refund - Refund issued OTHER BUILT-IN EVENTS: - email.opened, email.clicked, email.replied, email.bounced, email.unsubscribed - contact.subscribed, contact.unsubscribed |
| update_sequence | Update an existing sequence. To target a specific step, use the emailId or nodeId returned in get_sequence.sequence.emails. You can also update enrollmentMode and enrollmentFieldPath for event-triggered matching-field enrollment. When inserting an if/else branch, include steps for every branch arm and elseSteps so the branch is usable immediately. Branch conditions support tags, lists, saved segments, custom events, clicked links, and subscriber field comparisons. |
| enable_sequence | Enable/activate a sequence. IMPORTANT: Only call this when the user EXPLICITLY asks to enable or activate a sequence. Never enable sequences automatically after creation - the user must review the content first. |
| disable_sequence | Disable/pause a sequence |
| enroll_subscribers_in_sequence | Manually enroll subscribers in a sequence by email address or subscriber ID. Maximum 500 total targets per call across emails and subscriberIds. Only active subscribers are enrolled: unknown emails are returned in `notFound`, while inactive, unavailable, and already actively enrolled subscribers are counted in `skipped`. By default enrollment starts at the first step after the trigger; pass targetNodeId to start at a specific step. |
| cancel_sequence_enrollments | Cancel active/waiting enrollments in one sequence. Provide sequenceId and exactly one target: subscriberId for one subscriber, or fieldValues to match stored entry event properties. For fieldValues, fieldPath is optional when the sequence has enrollmentFieldPath configured; otherwise provide a dot path such as order.id. |
| delete_sequence | Delete a sequence |
| list_transactional_emails | List transactional email templates, including their API slugs and linked email IDs |
| get_transactional_email | Get a transactional email by ID or slug, including subject, preview text, blocks, variables, and linked dashboard URLs |
| create_transactional_email | Create a saved transactional email template with an API slug. Provide `prompt` to generate the email with AI, or provide either `html` or Sequenzy `blocks` for the email body. |
| update_transactional_email | Update a transactional email by ID or slug. At least one of `name`, `enabled`, `subject`, `previewText`, `html`, or `blocks` is required. Use `html` or `blocks` to replace the linked email body. |
| send_email | Send a transactional email to a single recipient |
| get_stats | Get overview statistics for a time period |
| get_campaign_stats | Get detailed statistics for a campaign, including attributed conversions and revenue (revenueCents) |
| get_sequence_stats | Get statistics for a sequence, including attributed conversions and revenue (revenueCents) plus per-step failed subscribers and failure reasons |
| get_subscriber_activity | Get recent activity, email stats, and current sequence enrollments for a subscriber |
| list_team_members | List team members for the company, including the owner, members with their roles, and pending or expired invitations. |
| invite_team_member | Invite a team member by email with role admin or viewer. Existing Sequenzy users are added to the team immediately; others receive an email invitation. Billing access (canManageBilling) can only be granted by the company owner. |
| cancel_team_invitation | Cancel a pending team invitation. Invitations that have already been accepted cannot be cancelled. |
| list_conversations | List inbox conversations (email replies from subscribers). Filter by status, free-text search, or unread state, with pagination. |
| get_conversation | Get a conversation with its full message history, subscriber details, and context. |
| reply_to_conversation | Send a reply in a conversation, or add an internal note. type 'outbound' (default) emails the subscriber and requires bodyText or bodyHtml; type 'note' adds a private team-only note. Replying to a closed conversation reopens it. |
| update_conversation_status | Open or close a conversation. |
| mark_conversation_read | Mark all unread inbound messages in a conversation as read. |
| list_webhooks | List outbound webhook endpoints and their subscribed event types. |
| create_webhook | Create an outbound webhook endpoint. IMPORTANT: the response includes a signingSecret that is returned only once - show it to the user immediately so they can store it and verify webhook signatures. If events is omitted, a default set of event types is subscribed. |
| update_webhook | Update an outbound webhook endpoint's name, URL, subscribed events, or status (enabled/disabled). Providing events replaces the existing event list. |
| delete_webhook | Permanently delete an outbound webhook endpoint along with its delivery history. This cannot be undone. To keep the endpoint but stop deliveries, use update_webhook with status disabled instead. |
| test_webhook | Send a test event to an outbound webhook endpoint to verify it is reachable and signatures can be validated. |
| list_webhook_deliveries | List recent delivery attempts for an outbound webhook endpoint, including status and response codes. |
| replay_webhook_delivery | Replay a previous webhook delivery, re-sending the same event payload to the endpoint. |
| generate_email | Generate email blocks from a prompt |
| generate_sequence | [DEPRECATED - Use create_sequence instead] Generate a multi-email sequence from a goal. Note: create_sequence now handles AI generation automatically. |
| generate_subject_lines | Generate A/B test subject line variants |
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。