Connects Sequenzy to AI clients to manage email marketing operations, sequences, and campaigns through structured tools.
Also known as Sequenzy/mcp, mcp, @sequenzy/mcp
- Stars
- 3
- Tools
- 200
- Downloads, 30 days
- —
- Latest version
- 0.0.255
- Last commit
- Nov 13, 2026
- License
- MIT
What is Sequenzy MCP?
Sequenzy connects Sequenzy to AI clients to manage email marketing operations, sequences, and campaigns through structured tools. It exposes 200 tools, such as get_account, select_company, get_app_urls.
Summary generated from the project's README
About Sequenzy MCP server
Sequenzy MCP connects the Sequenzy email marketing platform to AI assistants like Claude Desktop, Cursor, and Windsurf. It allows developers and marketers to manage email operations, sequences, and campaigns using structured tools instead of manual API calls. The server enables users to perform complex tasks such as drafting campaigns for up to 100,000 contacts, managing subscriber tags, and syncing segments to Meta custom audiences.
Users can interact with their marketing workflows through visual previews that render emails for desktop and mobile views. The server supports advanced sequence management, including viewing triggers, delays, and branches via a connected diagram. Setup is simplified through a command-line wizard that handles browser login, API key creation, and client configuration. While the server provides rich visual widgets for compatible clients, it also returns structured HTML and data for clients without specialized app support.
What you can do with it
- 1Preview email renderingShow how a specific email template will look on both desktop and mobile devices.
- 2Visualize automation flowsExamine the logic of a marketing sequence including its branches and delays.
- 3Manage large contact groupsCreate a new campaign draft for a specific audience segment.
- 4Monitor data importsTrack the progress and success rate of a subscriber import task.
Written from the project's README. Every use case is checked against a quote from it.
How to install Sequenzy MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Sequenzy MCP in Claude Code
$ claude mcp add --env 'SEQUENZY_API_KEY=<YOUR_SEQUENZY_API_KEY>' mcp -- npx -y @sequenzy/mcpInstall Sequenzy MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@sequenzy/mcp"
],
"env": {
"SEQUENZY_API_KEY": "<YOUR_SEQUENZY_API_KEY>"
}
}
}
}Install Sequenzy MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sequenzy/mcp"
],
"env": {
"SEQUENZY_API_KEY": "<YOUR_SEQUENZY_API_KEY>"
}
}
}
}Install Sequenzy MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"stdio","command":"npx","args":["-y","@sequenzy/mcp"],"env":{"SEQUENZY_API_KEY":"<YOUR_SEQUENZY_API_KEY>"}}'Install Sequenzy MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@sequenzy/mcp"
],
"env": {
"SEQUENZY_API_KEY": "<YOUR_SEQUENZY_API_KEY>"
}
}
}
}Install Sequenzy MCP in Codex
$ codex mcp add mcp --env 'SEQUENZY_API_KEY=<YOUR_SEQUENZY_API_KEY>' -- npx -y @sequenzy/mcpInstall Sequenzy MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "@sequenzy/mcp"] [mcp_servers.mcp.env] SEQUENZY_API_KEY = "<YOUR_SEQUENZY_API_KEY>"
Install Sequenzy MCP in Gemini CLI
$ gemini mcp add -s user -e 'SEQUENZY_API_KEY=<YOUR_SEQUENZY_API_KEY>' mcp npx -- -y @sequenzy/mcpInstall Sequenzy MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@sequenzy/mcp"
],
"env": {
"SEQUENZY_API_KEY": "<YOUR_SEQUENZY_API_KEY>"
}
}
}
}Sequenzy MCP tools 200
Detected from the READMEget_accountselect_companyget_app_urlscreate_companyget_companyupdate_companyget_design_mdupdate_design_mdget_sync_rulesupdate_sync_rulesget_shopify_automation_settingsupdate_shopify_automation_settings
| get_account | — | |
| select_company | — | |
| get_app_urls | — | |
| create_company | — | |
| get_company | — | |
| update_company | — | |
| get_design_md | — | |
| update_design_md | — | |
| get_sync_rules | — | |
| update_sync_rules | — | |
| get_shopify_automation_settings | — | |
| update_shopify_automation_settings | — |
Show all 200 toolsShow fewer tools
create_api_keyrequest_api_key_handofflist_api_keysupdate_api_keyrevoke_api_keydelete_api_keylist_websitesadd_sending_domainadd_websitecheck_websiteverify_sending_domainupgrade_sending_domain_dnsconfigure_sending_domainget_tracking_domainset_tracking_domainverify_tracking_domainremove_tracking_domainlist_integrationsget_sending_statusresume_sendingget_tracking_settingsupdate_tracking_settingsget_frequency_capset_frequency_capclear_frequency_capget_account_healthupdate_account_health_settingsrun_account_health_checkupdate_account_health_insightsubmit_account_health_feedbackcreate_account_health_fixget_integration_guideget_integrationlist_integration_capabilitieslist_integration_suggestionsconnect_integrationget_event_schemalist_integration_activityset_integration_sync_enabledset_integration_list_targetingdisconnect_integrationupdate_amplitude_settingssync_integrationget_integration_pixelactivate_integration_pixellist_web_tracking_keysget_web_tracking_keycreate_web_tracking_keyupdate_web_tracking_keydelete_web_tracking_keylist_sender_profilesupdate_sender_profiledelete_sender_profileget_notification_preferencesupdate_notification_preferencesrender_emailcheck_emailadd_subscribercreate_subscriber_importget_subscriber_importupdate_subscriberremove_subscriberget_subscriberlist_subscriber_attributessearch_subscriberstrigger_subscriber_eventtrigger_subscriber_eventsimport_subscriber_eventsbulk_add_subscriber_tagsbulk_remove_subscriber_tagslist_accountsget_account_by_external_idupsert_accountdelete_accountlist_account_memberslist_account_suggestionsaccept_account_suggestionsdetect_account_organization_idspreview_accounts_from_organization_idcreate_accounts_from_organization_idget_account_organization_id_joblist_productsupsert_productsdelete_productattach_product_fileremove_product_filesync_productsupload_image_assetcrop_image_assetlist_tagscreate_tagupdate_tagdelete_taglist_listscreate_listupdate_listdelete_listadd_subscribers_to_listremove_subscribers_from_listlist_segmentscreate_segmentupdate_segmentdelete_segmentget_segment_countphonephoneCountrytagemailaddedattributeemailBouncedstripeProductcommerceProductlist_audience_syncslist_ad_accountscreate_audience_syncupdate_audience_syncdelete_audience_syncsync_audience_nowlist_warehouse_connectionsget_warehouse_connectioncreate_warehouse_connectionupdate_warehouse_connectiondelete_warehouse_connectiontest_warehouse_connectionpreview_warehouse_querylist_warehouse_syncsget_warehouse_synccreate_warehouse_syncupdate_warehouse_syncdelete_warehouse_syncrun_warehouse_synclist_warehouse_sync_runslist_data_exportsget_data_exportcreate_data_exportupdate_data_exportdelete_data_exporttest_data_exportrun_data_exportlist_data_export_runslist_templatesget_templatecreate_templateupdate_templatecreate_template_from_examplepreview_template_from_examplelist_email_referenceslist_gallery_brand_requestsrequest_gallery_brandremove_gallery_brand_requestlist_watched_brandswatch_brandunwatch_brandlist_watched_brand_emailsset_template_localizationsync_template_localizationsget_template_localization_coveragetranslate_missing_template_localizationsdelete_templatelist_email_componentsget_email_componentget_default_email_componentpreview_default_email_componentset_default_email_componentcreate_email_componentupdate_email_componentduplicate_email_componentdelete_email_componentlist_ab_testsget_ab_testget_ab_test_statsrestart_ab_testselect_ab_test_winnerresume_ab_testupdate_ab_testupdate_ab_test_variantcreate_ab_testadd_ab_test_variantdelete_ab_test_variantdelete_ab_testlist_campaignsget_campaignget_campaign_audiencelist_campaign_goalscreate_campaign_goalupdate_campaign_goaldelete_campaign_goal
| create_api_key | — | |
| request_api_key_handoff | — | |
| list_api_keys | — | |
| update_api_key | — | |
| revoke_api_key | — | |
| delete_api_key | — | |
| list_websites | — | |
| add_sending_domain | — | |
| add_website | — | |
| check_website | — | |
| verify_sending_domain | — | |
| upgrade_sending_domain_dns | — | |
| configure_sending_domain | — | |
| get_tracking_domain | — | |
| set_tracking_domain | — | |
| verify_tracking_domain | — | |
| remove_tracking_domain | — | |
| list_integrations | — | |
| get_sending_status | — | |
| resume_sending | — | |
| get_tracking_settings | — | |
| update_tracking_settings | — | |
| get_frequency_cap | — | |
| set_frequency_cap | — | |
| clear_frequency_cap | — | |
| get_account_health | — | |
| update_account_health_settings | — | |
| run_account_health_check | — | |
| update_account_health_insight | — | |
| submit_account_health_feedback | — | |
| create_account_health_fix | — | |
| get_integration_guide | — | |
| get_integration | — | |
| list_integration_capabilities | — | |
| list_integration_suggestions | — | |
| connect_integration | — | |
| get_event_schema | — | |
| list_integration_activity | — | |
| set_integration_sync_enabled | — | |
| set_integration_list_targeting | — | |
| disconnect_integration | — | |
| update_amplitude_settings | — | |
| sync_integration | — | |
| get_integration_pixel | — | |
| activate_integration_pixel | — | |
| list_web_tracking_keys | — | |
| get_web_tracking_key | — | |
| create_web_tracking_key | — | |
| update_web_tracking_key | — | |
| delete_web_tracking_key | — | |
| list_sender_profiles | — | |
| update_sender_profile | — | |
| delete_sender_profile | — | |
| get_notification_preferences | — | |
| update_notification_preferences | — | |
| render_email | — | |
| check_email | — | |
| add_subscriber | — | |
| create_subscriber_import | — | |
| get_subscriber_import | — | |
| update_subscriber | — | |
| remove_subscriber | — | |
| get_subscriber | — | |
| list_subscriber_attributes | — | |
| search_subscribers | — | |
| trigger_subscriber_event | — | |
| trigger_subscriber_events | — | |
| import_subscriber_events | — | |
| bulk_add_subscriber_tags | — | |
| bulk_remove_subscriber_tags | — | |
| list_accounts | — | |
| get_account_by_external_id | — | |
| upsert_account | — | |
| delete_account | — | |
| list_account_members | — | |
| list_account_suggestions | — | |
| accept_account_suggestions | — | |
| detect_account_organization_ids | — | |
| preview_accounts_from_organization_id | — | |
| create_accounts_from_organization_id | — | |
| get_account_organization_id_job | — | |
| list_products | — | |
| upsert_products | — | |
| delete_product | — | |
| attach_product_file | — | |
| remove_product_file | — | |
| sync_products | — | |
| upload_image_asset | — | |
| crop_image_asset | — | |
| list_tags | — | |
| create_tag | — | |
| update_tag | — | |
| delete_tag | — | |
| list_lists | — | |
| create_list | — | |
| update_list | — | |
| delete_list | — | |
| add_subscribers_to_list | — | |
| remove_subscribers_from_list | — | |
| list_segments | — | |
| create_segment | — | |
| update_segment | — | |
| delete_segment | — | |
| get_segment_count | — | |
| phone | — | |
| phoneCountry | — | |
| tag | — | |
| — | ||
| added | — | |
| attribute | — | |
| emailBounced | — | |
| stripeProduct | — | |
| commerceProduct | — | |
| list_audience_syncs | — | |
| list_ad_accounts | — | |
| create_audience_sync | — | |
| update_audience_sync | — | |
| delete_audience_sync | — | |
| sync_audience_now | — | |
| list_warehouse_connections | — | |
| get_warehouse_connection | — | |
| create_warehouse_connection | — | |
| update_warehouse_connection | — | |
| delete_warehouse_connection | — | |
| test_warehouse_connection | — | |
| preview_warehouse_query | — | |
| list_warehouse_syncs | — | |
| get_warehouse_sync | — | |
| create_warehouse_sync | — | |
| update_warehouse_sync | — | |
| delete_warehouse_sync | — | |
| run_warehouse_sync | — | |
| list_warehouse_sync_runs | — | |
| list_data_exports | — | |
| get_data_export | — | |
| create_data_export | — | |
| update_data_export | — | |
| delete_data_export | — | |
| test_data_export | — | |
| run_data_export | — | |
| list_data_export_runs | — | |
| list_templates | — | |
| get_template | — | |
| create_template | — | |
| update_template | — | |
| create_template_from_example | — | |
| preview_template_from_example | — | |
| list_email_references | — | |
| list_gallery_brand_requests | — | |
| request_gallery_brand | — | |
| remove_gallery_brand_request | — | |
| list_watched_brands | — | |
| watch_brand | — | |
| unwatch_brand | — | |
| list_watched_brand_emails | — | |
| set_template_localization | — | |
| sync_template_localizations | — | |
| get_template_localization_coverage | — | |
| translate_missing_template_localizations | — | |
| delete_template | — | |
| list_email_components | — | |
| get_email_component | — | |
| get_default_email_component | — | |
| preview_default_email_component | — | |
| set_default_email_component | — | |
| create_email_component | — | |
| update_email_component | — | |
| duplicate_email_component | — | |
| delete_email_component | — | |
| list_ab_tests | — | |
| get_ab_test | — | |
| get_ab_test_stats | — | |
| restart_ab_test | — | |
| select_ab_test_winner | — | |
| resume_ab_test | — | |
| update_ab_test | — | |
| update_ab_test_variant | — | |
| create_ab_test | — | |
| add_ab_test_variant | — | |
| delete_ab_test_variant | — | |
| delete_ab_test | — | |
| list_campaigns | — | |
| get_campaign | — | |
| get_campaign_audience | — | |
| list_campaign_goals | — | |
| create_campaign_goal | — | |
| update_campaign_goal | — | |
| delete_campaign_goal | — |
Configuration
SEQUENZY_API_KEYRequiredSecretYour Sequenzy API key (get one from the Sequenzy dashboard under Settings > API Keys)
SEQUENZY_APP_URLOptional Sequenzy app base URL for dashboard links. Defaults to https://sequenzy.com.
| Name | Description | |
|---|---|---|
| SEQUENZY_API_KEY | Your Sequenzy API key (get one from the Sequenzy dashboard under Settings > API Keys) | RequiredSecret |
| SEQUENZY_APP_URL | Optional Sequenzy app base URL for dashboard links. Defaults to https://sequenzy.com. |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubSequenzy MCP Server
Official MCP server for Sequenzy, the AI-powered email marketing platform.
Connect Sequenzy to Claude Desktop, Claude Code, Codex, Cursor, Windsurf, VS Code Copilot, OpenClaw, and other MCP clients so your AI assistant can manage email operations with structured tools instead of hand-written API calls.
Interactive email and sequence previews
In clients that support MCP Apps, including compatible ChatGPT and Claude connections, you can review your saved emails and sequences directly in the conversation.
render_emailopens the rendered email with Desktop (640px) and Mobile (375px) views, its subject, preview text and personalization warnings. Pass a campaign ID, template ID, or sequence ID plus node ID using the existing tool inputs. It renders your saved content through Sequenzy's email renderer. Personalization and locale options remain available through the same tool.preview_sequence({ companyId, sequenceId })opens the saved sequence as a connected diagram with triggers, delays, branches and actions. Select an email to render it, switch between available A/B variants, or use the Emails tab to browse the sequence's emails. Random splits show their configured allocation. Refresh reloads saved content, and failed requests offer an explicit retry.list_sequence_email_variations,generate_sequence_email_variations,list_campaign_variationsandgenerate_campaign_variationsopen the design variations side by side, each rendered as it would send. While some are still generating, the view updates every few seconds for up to five minutes; after a generate call it follows only the new ones. Use for Email 1 and Use for every email (campaigns: Use this design) ask for confirmation, then save throughuse_sequence_email_variationoruse_campaign_variationwith your existing permissions and tell your assistant what changed. Nothing changes until you confirm.
In Claude, previews can also open in the side panel or full screen with the expand button in the view's header, and open_sequenzy is listed on Claude's Artifacts page so you can open (and pin) your workspace without asking. These parts of Claude are rolling out gradually; where they are unavailable the previews work as before.
open_sequenzy({ companyId? })opens your workspace: the company's sequences (up to 50) and recent campaigns (up to 25), with a company switcher when your connection reaches more than one. Select a sequence to open its flow or a campaign to render its email; the back link returns to the list. Every input is optional. A list your key cannot read shows as unavailable while the other still loads.- While a preview is open, your assistant can change what it shows through tools the view itself offers:
get_view_state(what you have open),open_sequence_step,open_sequence,open_campaign_email,show_sequence_overview,set_preview_widthandreload_view. After it edits the sequence or email you are looking at,reload_viewshows the saved change in place. These tools only change the view; edits go through the usual write tools and permissions. Your client may ask you to approve them. - Ask for changes, on an open email, sends your assistant a message naming that email so it can suggest improvements. Nothing changes until you agree to an edit.
Supporting workflows use compact cards in the same Sequenzy style:
open_image_upload({ companyId })opens an image picker. Choose a PNG, JPEG, GIF or WebP up to 10 MB, optionally describe it, then select Upload image. Opening the widget does not write anything. Submission usesupload_image_assetwith your existing permissions and returns the saved asset to your assistant. After an uncertain failure, check your image library before retrying; uploads are never automatically retried.monitor_subscriber_import({ companyId, importId })shows counts and progress for an existing import. It pollsget_subscriber_importevery five seconds while running, for up to five minutes. Completion, blocked status, errors or leaving the view stop polling. Refresh status restarts monitoring. This does not start or retry imports.
Both widgets pin the company explicitly. Clients without MCP Apps can use upload_image_asset and get_subscriber_import directly; the same operations are available through the existing REST API and CLI.
The sequence preview requires an explicit company ID from get_account and keeps every email render pinned to that company. Previews never activate sequences, enroll subscribers or send email. A/B previews require the existing access to variant content; unavailable variants are shown as unavailable instead of being replaced with the control email.
Email content is isolated from the widget. Scripts, forms, nested frames and link navigation are disabled; external stylesheets and fonts are not loaded. HTTPS email images may load from their original hosts, subject to the client's policy. The widget itself bundles its logo and font and uses authenticated MCP tool calls without exposing credentials. Actual email-client rendering can differ, so use test sends for final inbox verification.
Clients without MCP Apps still receive the existing rendered HTML or sequence data. The same workflows are available through the existing public render and sequence-read endpoints and CLI render/sequence commands. No new REST endpoint or CLI command is needed for this presentation layer.
What You Can Do
Use create_campaign_for_audience for a frozen group of selected contacts or all contacts matching contact/activity filters. It creates a blank draft, reports selected and currently eligible counts, and preserves existing campaign read/update/clear/schedule workflows. The limit is 100,000 contacts and 8 MiB; drafting sends no email.
- Manage subscribers, tags, lists, and dynamic segments, including bulk tag reconciliation and synthetic event testing.
- Sync segments to Meta custom audiences for Facebook and Instagram retargeting.
- Sync contacts and events from Snowflake, BigQuery, Redshift or Postgres on a schedule.
- Stream email events, custom events and subscriber snapshots to your S3 or GCS bucket for your data warehouse.
- Manage products and attach digital delivery files for purchase automations.
- Upload hosted email images with alt text and reusable responsive crop settings.
- Draft, update, schedule, and inspect campaigns, including resolved audience previews, persisted conversion goals, and From, Reply-To, CC, and BCC identities.
- Render campaigns, sequence steps, and templates to their exact email-safe HTML without sending.
- Add one-click Poll and NPS survey blocks to emails and inspect campaign response summaries.
- Create and edit email sequences, including multi-list/tag triggers, entry-audience and property-filtered stop conditions, sending identity overrides, existing graph restructuring, and direct step test sends to internal reviewers.
- Cancel, pause, resume, duplicate, or delete campaigns and enroll contacts into sequences.
- Manage transactional email templates and send transactional emails to shared To, Cc, and Bcc recipient lists.
- Supply localized template variants or queue AI translation for enabled locales.
- Create, preview, edit, publish, unpublish, and delete landing pages.
- Create list-scoped saved signup forms with responsive stack, row, grid, and single-image overlay block groups (including foreground gap controls), then return client-safe static-site embeds.
- Create, target, publish, duplicate, and deploy saved signup popups with the same recursive block layouts.
- Connect and verify custom domains for published landing pages.
- Manage team invitations, the inbox (its address, conversations, replies, forwards), and outbound webhook endpoints.
- Manage geofences (places the mobile SDKs watch) and bulk-import them by external ID. Visits become
app.geofence_*events for sequence triggers andgeofencesegment filters. - Generate email copy, subject lines, and multi-step sequences.
- Inspect analytics, subscriber activity, deliverability health, company-level sending pauses, integrations, published event payload schemas, sending identities, tracking settings, and dashboard URLs.
- Inspect whether "Sent with Sequenzy" is visible for a workspace, why the owner subscription does or does not remove it, and open the canonical subscription page for an upgrade or renewal. Entitlement changes apply to future sends from existing live sequences without editing their blocks.
- Diagnose why sending is paused and restore eligible hard-bounce pauses after confirming list cleanup.
- Inspect exact-recipient bounce, complaint, and email-hygiene suppression, and clean up eligible stale bounces without exposing the shared SES suppression list.
- Configure company product info, account-wide sending identity defaults, rename individual sender and reply-to profiles, manage sender domains, and inspect integration examples for common frameworks.
Every published MCP tool includes explicit readOnlyHint, destructiveHint, idempotentHint, and openWorldHint annotations so compatible clients can display accurate tool-use affordances. Any write that overwrites, cancels, deletes, changes a live sequence, or can send email or SMS is marked destructive; tools that can email real contacts, publish a public link, or reach a third-party service are marked open-world. Tools also publish outputSchema definitions (except on the OpenAI-reviewed route) and return structuredContent, giving clients and models machine-readable result shapes for follow-up calls.
Tool results and recovery
Tool failures retain isError: true and readable error text, and also return
structuredContent with { success: false, error: { code, message, howToFix, docsUrl } }. HTTP errors include statusCode; a valid API Retry-After header
adds retryAfterSeconds. These fields are omitted when unavailable. The OpenAI
profile uses safe recovery descriptions and known codes or status-derived
fallbacks, omitting raw backend diagnostics.
Use the error code and recovery guidance to choose your next step. The client
retries a read (GET) up to 3 times within about 3 seconds after a 502, 503, 504
or network error, waiting out a Retry-After of 5 seconds or less, and never
retries a write. After an uncertain send_email outcome, reuse the
original idempotencyKey with unchanged input and inspect emailSendId when
available. A retry hint alone does not mean repeating a write is safe.
Segment counts and segment-filtered reads fail with
SEGMENT_REFERENCE_DEPTH_EXCEEDED or SEGMENT_REFERENCE_COUNT_EXCEEDED when
segments reference other segments too deeply or too many times. Retrying does
not help; reduce the nesting or the number of references with
update_segment first.
Successful results keep their existing shapes. Recoverable partial subscriber
event imports retain their counts and row failures without isError; inspect
those rows before retrying failed records.
Subscriber writes (add_subscriber, update_subscriber with tag changes,
trigger_subscriber_event, trigger_subscriber_events,
import_subscriber_events) report sequenceTriggersRan. When it is false
with sequenceTriggersSkippedReason: "missing_scope", the key lacks
automations:trigger: the write was saved but no sequence started, and
warnings says so.
When an account key runs a tool with no selected company and no companyId,
the API uses a default company. The result then gets a second text block that
names that company; structuredContent is unchanged. Call select_company
when the key reaches more than one company.
Quick Setup
The easiest setup path is the Sequenzy wizard:
npx @sequenzy/setup
The wizard opens the browser login flow, creates a personal API key, detects supported AI clients, and configures them automatically when possible.
Hosted Remote MCP
For clients that support Streamable HTTP MCP, use Sequenzy's hosted endpoint instead of running a local stdio process:
https://api.sequenzy.com/v1/mcp
The Sequenzy plugin in the ChatGPT plugin directory uses the reviewed hosted surface, which ChatGPT custom connectors can also add directly:
https://api.sequenzy.com/v1/mcp/openai
That surface shares the same implementation and keeps the standard tool set
except for operations that accept or manage credentials, or return unprojected
payloads: connect_integration, create_api_key, list_api_keys,
update_api_key, revoke_api_key, delete_api_key,
request_api_key_handoff, create_data_export, update_data_export,
create_warehouse_connection, update_warehouse_connection,
preview_warehouse_query, create_webhook, the geofence tools
(list_geofences, get_geofence, create_geofence, update_geofence,
delete_geofence, import_geofences; they carry place coordinates), list_webhook_deliveries,
list_capture_submissions, replay_webhook_delivery, and
rotate_sequence_inbound_webhook_secret. It also omits add_website, a
compatibility alias of add_sending_domain, and submit_feedback. API keys, including the one behind
the ChatGPT connection, are managed in the dashboard. The surface also omits
subscription and upgrade links: subscriptionUrl fields, the
get_app_urls subscription URL, and the emailBranding tier and upgrade
action are removed, and get_app_urls rejects the billing and
subscription settings tab aliases. The surface also omits the push credential
tools set_apns_credentials and set_fcm_credentials, which take customer
private keys as input, and register_push_device, an app-backend call whose
required device token the surface's credential policy rejects.
Four tools use clearer names on this surface; standard MCP and the stdio package keep the original names:
| Standard MCP | OpenAI-reviewed route |
|---|---|
list_websites |
list_sending_domains |
check_website |
get_sending_domain |
resend_campaign_to_non_openers |
create_non_opener_resend_draft |
update_sms_number_label |
update_sms_number_settings |
edit_sequence_graph is listed there as four single-operation tools with the
same validation and behavior: move_sequence_step (move_node),
duplicate_sequence_step (duplicate_node), delete_sequence_step
(delete_node) and replace_sequence_paths (replace_edges).
OpenAI reviews again any published tool whose definition changes, so two
filters keep their approved definitions there until the next plugin
submission: list_email_sends describes bounceType as Permanent or
Transient (Soft and Blocked are still accepted), and
list_sequence_enrollments offers the active, waiting, completed, failed and
cancelled statuses and defaults to active and waiting, so paused enrollments
are not listed there.
The preview widget on this surface lists the image origins it may load
(https://images.sequenzy.com and the Pexels and Unsplash image hosts), so
other external images in an email preview show their alt text instead.
Tool annotations disclose supported replacement and irreversible-delivery modes, including automation-triggering actions. Edits to email content that can be live or shown on a public share link are destructive and open-world. Public content, provider changes, tools that fetch URLs or call outside services (link checks, AI drafting that can read URLs, gallery ranking), and membership changes that can start segment-triggered sequences are marked open-world; private draft creation and additive notes remain non-destructive. On the ChatGPT surface each tool's annotation justifications live in src/tools/openai-justifications/, and a tool whose description does not already explain a hint gets an effects sentence appended. Feedback goes to the Sequenzy team through Telegram with the authenticated company name/ID and account email added for attribution, which clients must disclose before sending.
To keep its tool list small, this surface publishes no output schemas (results
still include structuredContent).
On every surface, sequence tools describe repeated nested step schemas once and
point later fields at the first copy ("Same schema as branches[].steps in this
tool."). Those fields accept the same input as before; the server validates
nested steps.
Meta's Muse connector uses a smaller hosted surface, because Muse rejects large tool lists:
https://api.sequenzy.com/v1/mcp/muse
It serves about 70 everyday tools from the standard surface (account,
subscribers, lists, tags, segments, campaigns, sequences, templates,
transactional sends, stats and the inbox) with the same names, inputs and
handlers, and keeps tools/list under 200 KB by leaving out output schemas.
Tool results still include structuredContent. The large sequence builders
(create_sequence, update_sequence, insert_sequence_step) are left out;
generate_sequence, create_sequence_from_example and edit_sequence_emails
cover the same work. Calls to tools outside the list are rejected. The list is
MUSE_TOOL_NAMES in src/tools/muse-profile.ts.
Remote clients should authenticate with the Sequenzy OAuth flow when supported. Local and automation clients can still use the stdio package below with SEQUENZY_API_KEY.
The hosted endpoint and the stdio package support MCP specification
2026-07-28 while remaining compatible with 2025-era clients. Modern HTTP
clients use per-request discovery and method headers; existing clients keep
working through the same endpoint and package command.
Machine-readable discovery files:
- MCP server manifest:
server.json - Agent card:
.well-known/agent-card.json - Agent capability manifest:
agent-capability.json - OpenClaw skill metadata:
openclaw/skill.json
Sequenzy MCP questions
How do I add Sequenzy MCP to Claude Code?
Run claude mcp add --env 'SEQUENZY_API_KEY=<YOUR_SEQUENZY_API_KEY>' mcp -- npx -y @sequenzy/mcp in your terminal. Add --scope user to make it available in every project.
How do I add Sequenzy MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Sequenzy MCP provide?
It exposes 200 tools, including get_account, select_company, get_app_urls, create_company, get_company.
Can the MCP server send actual emails?
The preview tools specifically do not activate sequences, enroll subscribers, or send email; they are for rendering and viewing content.
What happens if a tool call fails?
Tool failures return an error status with a message and guidance on how to fix it, including a documentation URL and potentially a retry-after duration.
Can I preview how an email looks on mobile?
Yes, the render_email tool provides both Desktop (640px) and Mobile (375px) views.