Documentation Index
Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
Use this file to discover all available pages before exploring further.
MCP Integration
Sequenzy supports the Model Context Protocol (MCP), allowing AI assistants like Claude Desktop, Claude Code, Codex, Cursor, and other MCP clients to manage your email marketing directly.What You Can Do
With Sequenzy MCP, AI assistants can:- Manage subscribers - Add, update, search, and remove subscribers
- Create sequences - Generate and configure email automation sequences
- Draft campaigns - Create and edit campaign drafts
- Send transactional emails - Send single emails via template or HTML
- View analytics - Get stats for campaigns, sequences, and overall performance
- Inspect localization - Read company localization settings and localized template variants
- Generate content - AI-powered email and sequence generation
Quick Setup
The easiest way to set up MCP is using our setup wizard:- Open your browser to log in
- Create a personal API key
- Auto-detect supported installed AI clients
- Configure those clients automatically
Manual Setup
Across most MCP clients, the core server config is the same:- Command:
npx - Args:
-y @sequenzy/mcp - Env:
SEQUENZY_API_KEY=seq_user_your_key_here
Claude Desktop
-
Open Claude Desktop settings file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Add Sequenzy MCP:
- Restart Claude Desktop
Cursor
-
Open
~/.cursor/mcp.json(create if it doesn’t exist) - Add Sequenzy:
- Restart Cursor
Windsurf
Same format as Cursor, but the config is at:- macOS:
~/Library/Application Support/Windsurf/mcp.json - Windows:
%APPDATA%\Windsurf\mcp.json
Claude Code
You can add Sequenzy to Claude Code directly from the CLI:.mcp.json:
npx with cmd /c:
Codex
You can add Sequenzy to Codex from the CLI:~/.codex/config.toml:
Other MCP Clients
For tools like VS Code Copilot, OpenClaw, Hermes, and other MCP-compatible clients, use the same Sequenzy stdio server:- Command:
npx - Args:
-y @sequenzy/mcp - Env:
SEQUENZY_API_KEY=seq_user_your_key_here
mcpServers.sequenzy shape shown above. If it provides a CLI helper, point it at npx -y @sequenzy/mcp and set the same environment variable.
Getting Your API Key
- Go to the Sequenzy dashboard
- Open Settings → API Keys
- Click “Create Personal Key”
- Copy the key (starts with
seq_user_)
npx @sequenzy/setup
Available Tools
Subscribers
add_subscriber- Add a new subscriberupdate_subscriber- Update subscriber attributes/tagsremove_subscriber- Unsubscribe or deleteget_subscriber- Get subscriber detailssearch_subscribers- Search by tags, attributes, segments
Campaigns
list_campaigns- List all campaignsget_campaign- Get campaign details and statscreate_campaign- Create a draft campaign from raw HTML or Sequenzy blocksupdate_campaign- Edit a draft, including reply-to settings, raw HTML, or Sequenzy blockssend_test_email- Send test to single address
Company
get_company- Get company details plus effective localization settings
Sequences
list_sequences- List all sequencesget_sequence- Get sequence details plussequence.emails, which includes each step’snodeId, linkedemailId, subject, preview text, and blockscreate_sequence- Create a sequence with:trigger: "segment_entered"plussegmentIdfor saved-segment entry automationsgoal- AI generates email contentstepswithblocks- Sequenzy JSON block formatstepswithhtml- Any HTML (React Email, MJML, etc.) - auto-convertedenrollmentMode: "matching_field"for event-triggered product-, variant-, order-, or subscription-specific sequences that should block duplicate active runs only for the same resolved fieldenrollmentFieldPath, such asorder.idorproduct.providerVariantId, when you wantmatching_fieldto use a custom event property- For
event_receivedsequences, step content can use{{event.amount}},{{event.order.id}}, or other{{event.*}}merge tags from the event payload that enrolled the subscriber
update_sequence- Modify a sequence, targeting a specific step with theemailIdornodeIdreturned byget_sequence, or updateenrollmentMode/enrollmentFieldPathenable_sequence/disable_sequence- Control status
Transactional
send_email- Send a single email (template or HTML)
Segments
list_segments- List saved segmentscreate_segment- Create a segment from explicit filters, including nested AND/OR groups, event filters, segment filters, Stripe product purchase filters, and optionalfilterJoinOperatorget_segment_count- Preview how many active subscribers match a segment
field: "stripeProduct". The supported shapes are:
{"id":"filter-1","field":"stripeProduct","operator":"is","value":"prod_pro"}for “bought product”{"id":"filter-1","field":"stripeProduct","operator":"is_not","value":"prod_pro"}for “didn’t buy product”{"id":"filter-1","field":"stripeProduct","operator":"at_least","value":"prod_pro:3"}for “at least 3 payments”{"id":"filter-1","field":"stripeProduct","operator":"less_than_count","value":"prod_pro:3"}for “fewer than 3 payments”
emailSent, emailOpened, emailClicked, emailBounced, emailComplained), the value can either be a rolling time window (7d, 30d, 90d, 180d, all) or a specific sent campaign via campaign:<campaign_id>. Combine two campaign-specific filters to express rules like “bounced campaign A but not campaign B”:
{"id":"filter-1","field":"emailBounced","operator":"is","value":"campaign:cmp_abc"}{"id":"filter-2","field":"emailBounced","operator":"is_not","value":"campaign:cmp_xyz"}
list_campaigns to look up the campaign IDs.
By default, segment filters use AND logic. To match any filter instead of all of them, pass filterJoinOperator: "or" when calling create_segment.
For nested logic, pass a v2 root group instead of filters:
eventName:range for is / is_not and eventName:count:range for at_least / less_than_count. Segment filter values are saved segment IDs.
list_segments returns both:
subscriberCount- all matched contacts, including unsubscribed or bounced contactsactiveSubscriberCount- contacts eligible for campaigns
get_segment_count returns the active count, because campaigns and most send flows only target active subscribers.
Templates
list_templates- List all email templates with localization status by localeget_template- Get a template’s details, content, and localized variantscreate_template- Create a template from raw HTML or Sequenzy blocksupdate_template- Update a template with raw HTML or Sequenzy blocks
blocks array where each block can include a condition, for example:
{{ }} inside condition.variable.
Analytics
get_stats- Overview stats (7d/30d/90d)get_campaign_stats- Campaign performanceget_sequence_stats- Sequence performanceget_subscriber_activity- Individual activity
AI Generation
generate_email- Create email from promptgenerate_sequence- Create multi-email sequence from goalgenerate_subject_lines- Generate A/B subject variants
Example Conversations
Set up email for a new SaaS
Add a subscriber
Create a Stripe product segment
Create a match-any segment
Check performance
Create a sequence with specific content
Migrate a sequence from another platform
Event-Personalized Sequences
When your AI assistant creates a sequence withtrigger: "event_received", it can place {{event.*}} merge tags directly into step subjects or body content.
Those values come from the properties payload you send to POST /api/v1/subscribers/events.
Example:
- Trigger payload:
{"event":"weather.wind_alert","properties":{"city":"Tel Aviv","alert":{"maxSpeed":75}}} - Sequence subject:
Wind alert for {{event.city}} - Sequence body:
Winds may reach {{event.alert.maxSpeed}} km/h.
Resources
MCP also provides read-only resources that AI can access:| Resource | Description |
|---|---|
sequenzy://dashboard | Live 7-day overview stats |
sequenzy://company | Currently selected company, including localization settings |
sequenzy://campaigns/recent | Last 10 campaigns |
sequenzy://subscribers/recent | Recently added subscribers |
sequenzy://sequences | All sequences with status |
sequenzy://templates | Available email templates with localization status |
sequenzy://segments | Defined segments |
sequenzy://tags | All tags with counts |
Security
- Personal API keys are tied to your user account
- Keys can only access companies you have access to
- You can revoke keys anytime in Settings → API Keys
- Keys are never shared between users
Troubleshooting
Sequenzy MCP failures now return a short explanation, a concrete recovery step, and a directdocs.sequenzy.com link so AI clients can self-correct more reliably.
”SEQUENZY_API_KEY environment variable is required”
Make sure your API key is set in the MCP config. Runnpx @sequenzy/setup to configure automatically.