Server data from the Official MCP Registry
Sequenzy MCP server for AI-powered email marketing automation.
About
Sequenzy MCP server for AI-powered email marketing automation.
Remote endpoints: streamable-http: https://api.sequenzy.com/v1/mcp
Security Report
This MCP server for Sequenzy email marketing is well-structured with proper authentication via required API keys and appropriate permission scoping. The codebase demonstrates good security practices with environment variable-based credential handling, clear tool annotations for authorization levels, and no evidence of malicious patterns. Minor code quality observations around broad error handling and extensive tool definitions do not materially impact security. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 2 high severity).
3 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install & Connect
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
Documentation
View on GitHubFrom the project's GitHub README.
Sequenzy 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.
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.
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
MCP Events
The hosted endpoints (/v1/mcp, /mcp, /v1/mcp/openai and /v1/mcp/muse) support
MCP Events, so an
agent such as a ChatGPT task can be woken by something that happens in
Sequenzy instead of a schedule or a manual prompt. The stdio package does not
offer events because it has no callback to deliver to.
server/discover advertises events: {}. The server implements
events/list, events/subscribe and events/unsubscribe with webhook
delivery; polling, streaming and replay are not offered, so cursor is always
null.
| Event | Fires when | Optional filters | Permission |
|---|---|---|---|
email.replied | A subscriber replies to an email you sent | campaign_id, sequence_id | conversations:read |
email.bounced | An email you sent bounces | campaign_id, sequence_id | analytics:read |
email.complained | A recipient marks an email as spam | campaign_id, sequence_id | analytics:read |
poll.answered | A recipient answers a poll in an email | campaign_id, sequence_id | analytics:read |
subscriber.created | A subscriber is added, from any source | list_id, tag | subscribers:read |
subscriber.unsubscribed | A subscriber unsubscribes | tag | subscribers:read |
campaign.sent | A campaign finishes sending | campaign_id | campaigns:read |
sequence.finished | A subscriber reaches the end of a sequence | sequence_id | sequences:read |
subscriber_import.completed | A subscriber import finishes | none | subscribers:read |
events/list only returns events the connection's permissions can read in the
selected workspace. Filters are optional and combine with AND; tag matches
the subscriber's tags when the event is processed.
Each delivery is one Standard Webhooks-signed POST with headers
webhook-id (equal to eventId), webhook-timestamp, webhook-signature and
X-MCP-Subscription-Id, and a body like:
{
"eventId": "evt_3f2c...",
"name": "email.replied",
"timestamp": "2026-10-04T10:00:00.000Z",
"data": {
"reply_id": "rep_123",
"conversation_id": "conv_123",
"email_send_id": "send_123",
"subscriber_id": "sub_123",
"from_email": "jane@example.com",
"from_name": "Jane",
"subject": "Re: Our October launch",
"email_type": "campaign",
"campaign_id": "camp_123",
"sequence_id": null,
"received_at": "2026-10-04T10:00:00.000Z",
"url": "https://www.sequenzy.com/dashboard/company/<id>/inbox/conv_123"
},
"cursor": null
}
Payloads are summaries: IDs, addresses, a subject and a dashboard link. Email
bodies, custom attributes and metadata are never included; read the full record
with the matching tool (for example get_conversation for a reply). Text such
as a reply subject is data written by your contacts, not instructions.
Subscribing and delivery rules:
delivery.secretmust bewhsec_followed by base64 that decodes to 24-64 bytes. Callback URLs must be HTTPS, may not resolve to a private or local address (checked again at every connection), and redirects are never followed.- The callback is verified with a signed
{"type":"verification","challenge":"..."}request that must be answered with a 2xx echoing the challenge. A successful verification is reused for that connection and URL for 24 hours. Each workspace may run 30 verifications per callback host per minute, and one host receives at most 600 per minute across all workspaces. Failures return-32015withdata.reason(connection_refused,timeout,tls_error,http_4xx,http_5xxorchallenge_failed). - Other errors:
-32602for an invalid secret, URL, filter orttlMs;-32011(data.kind: "event") for an unknown event;-32012when the connection lacks the event's permission or has no usable workspace;-32013for the subscription cap (data.limit: "subscriptions") or the verification limit ("callback_verifications");-32014(data.feature: "deliveryMode") for a delivery mode other thanwebhook.events/listreturns an empty list for a connection without a workspace. - The subscription ID is derived from the connection, workspace, callback URL,
event name and arguments, so subscribing again refreshes the same
subscription. A subscription stays in the workspace selected when it was
created; refreshing or unsubscribing after
select_companyswitches workspaces still finds it.refreshBeforedefaults to 7 days; anyttlMsis clamped to 5 minutes through 30 days, andttlMs: nullis granted 30 days. A new secret on refresh rotates it, and both secrets sign deliveries for 10 minutes. - Failed deliveries are retried up to 5 attempts over about 11 minutes with the
same
eventIdand a fresh signature.410stops the subscription until the client subscribes again,413is not retried, and deliveries stop when the subscription expires, is unsubscribed, or the connection loses access to the workspace or event. Deduplicate onwebhook-id: events can repeat or arrive out of order. - A workspace can have 25 active subscriptions. Deliveries above 600 per minute per workspace, or 120 per minute per subscription, are dropped. At most 20 deliveries per workspace are in flight at once; others wait up to about 10 minutes, then are dropped. Marketer-role connections do not receive events from transactional emails. Events start reaching a new subscription within about a minute.
Example: in a ChatGPT task, ask "When someone replies to a campaign, draft a
reply in my CRM." ChatGPT subscribes to email.replied, and each reply wakes
the task with the sender, subject and conversation link.
Data and privacy
Sequenzy sends an MCP client only the data needed for the tool the user asks it to run, within the selected workspace and the key or OAuth scopes granted to that client. Depending on the requested tool, this can include workspace names and IDs; subscriber contact, consent, audience, attribute, event, engagement, reply, survey, and commerce data; campaign and automation content; delivery analytics; and integration or webhook status. See the Sequenzy Privacy Policy for the full categories, purposes, recipients, retention periods, and user controls.
Do not use open-ended custom attributes, events, notes, forms, webhook samples, email variables, or feedback to submit payment-card data, health or medical data, government identifiers, biometric or genetic data, authentication credentials, sensitive demographic data, or precise geolocation.
The OpenAI-reviewed route states and enforces those restrictions on relevant
open-ended inputs, including nested attribute paths such as profile.ssn,
coordinate pairs such as lat/lng, and labelled prose such as
Religion: ... or GPS coordinates: .... It rejects a credential-bearing URL
in any argument, whether the credential sits in the userinfo, path, query, or
fragment, such as a form or popup redirectUrl with an access token or URL
signature. Restricted attribute selectors inside merge tags are rejected
without blocking ordinary authored copy about the same topic. On this surface,
render_email and check_email accept sample data or a policy-checked inline
subscriber, but not subscriberId, so they cannot resolve uninspected stored
custom attributes.
Its results remove restricted fields, raw API errors, debug payloads, internal
request/trace/session identifiers, unnecessary account or credential
identifiers, stored credential-bearing URLs, and inbound-webhook URLs. Standard
remote MCP and the local stdio package retain the complete contract for trusted
clients, including credential-based integration setup, one-time API-key and
webhook secrets, inbound-webhook URLs, and detailed API errors. Prefer the
dashboard or local CLI when secrets should stay outside an AI conversation.
What the reviewed surface guarantees is bounded. It recognizes restricted data
by shape: English field-name words such as passport_id, user.ssn, or
api_secret at any nesting depth, labelled prose such as Diagnosis: ...,
known credential shapes, decimal coordinate pairs, and credential-bearing URLs
inside any string, including HTML. It does not interpret unlabelled prose,
non-English field names, or values a client deliberately obfuscates; those
remain covered by the usage restriction above rather than by the filter.
Manual Setup
All stdio MCP clients use the same command:
- Command:
npx - Args:
-y @sequenzy/mcp - Required env:
SEQUENZY_API_KEY=seq_user_your_key_here
Optional environment variables:
SEQUENZY_API_URL- Sequenzy API base URL. Defaults tohttps://api.sequenzy.com.SEQUENZY_APP_URL- Sequenzy dashboard base URL used by app URL helpers. Defaults tohttps://sequenzy.com.
Claude Desktop
Add this to your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Restart Claude Desktop after editing the config.
Claude Code
claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- npx -y @sequenzy/mcp
On native Windows, wrap npx with cmd /c:
claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- cmd /c npx -y @sequenzy/mcp
For a shared project config, use .mcp.json:
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Codex
codex mcp add sequenzy --env SEQUENZY_API_KEY=seq_user_your_key_here -- npx -y @sequenzy/mcp
codex mcp list
Manual Codex config in ~/.codex/config.toml:
[mcp_servers.sequenzy]
command = "npx"
args = ["-y", "@sequenzy/mcp"]
[mcp_servers.sequenzy.env]
SEQUENZY_API_KEY = "seq_user_your_key_here"
Cursor
Install Sequenzy from the Cursor Marketplace for a hosted connection with Sequenzy OAuth. The plugin connects to:
https://api.sequenzy.com/v1/mcp
After installing, complete the browser sign-in flow. Cursor's agent can then use Sequenzy tools from chat, including when Grok is the selected model.
For a manual local stdio setup instead, add this to ~/.cursor/mcp.json:
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Windsurf
Use the same JSON shape as Cursor.
- macOS:
~/Library/Application Support/Windsurf/mcp.json - Windows:
%APPDATA%\Windsurf\mcp.json
VS Code Copilot
VS Code uses a servers object:
{
"servers": {
"sequenzy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Other MCP Clients
For OpenClaw, Hermes, and other MCP-compatible clients, point the client at npx -y @sequenzy/mcp and set SEQUENZY_API_KEY.
Getting an API Key
- Open the Sequenzy dashboard.
- Use the MCP setup flow to create a personal key, or open Settings -> API Keys to create a company key.
- Choose a permission preset or the exact custom scopes the integration needs.
- Add the key to your MCP client config.
Personal keys start with seq_user_. You can revoke them any time in the dashboard.
If the local server starts without SEQUENZY_API_KEY, it still starts and
lists its tools, but every tool call returns MCP_AUTH_REQUIRED with a link to
create a free account at
sequenzy.com/sign-up
and the steps above. Add the key and restart the client to continue.
Company keys can also be cleaned up without exposing secrets. Call
list_api_keys to compare the key ID, name, non-secret prefix, permissions,
last-use timestamp, and isCurrent marker, then pass the exact ID to
revoke_api_key. delete_api_key is a compatibility alias for the same
permanent operation. List and revoke responses never contain the plain key or
stored key hash.
Recover from missing API key permissions
If a tool reports a missing scope such as campaigns:read or
templates:write, call get_account. Its apiKeyPermissions field lists the
current key identity and type, scopes, common missing marketing read scopes, and
a direct manageUrl. The OpenAI-reviewed route returns the same permissions
without the user's account ID or the active key's identity. Personal keys open
Account API Keys; company keys open the selected workspace's API Keys settings.
If the key does not include
account:read, open the
Sequenzy dashboard directly and choose the
matching API Keys page.
Permissions are editable in place, so open manageUrl. For a company key, use
list_api_keys and its isCurrent flag to identify the active key before
editing it, then retry the failed tool without replacing the credential or
restarting the client. An agent using a company key with api_keys:manage can
instead call update_api_key; personal keys must be edited on the account-level
page because that tool only manages company keys. Its scopes and preset
inputs replace the whole permission selection rather than merging, so preserve
every existing scope that is still needed. Hosted OAuth connections can
alternatively disconnect and reauthorize with broader permissions.
When the active key itself lacks api_keys:manage, call
request_api_key_handoff instead of retrying update_api_key. It requires
account:read and returns an owner-review URL with the requested key name,
permissions, and optional predecessor prefilled. It never creates or returns a
key; the workspace owner reviews the form, creates the replacement in the
browser, and copies it into the client. Pass replaceApiKeyId: "current" to
offer revocation of the active key after the replacement is created. If the
active key also lacks account:read, use the dashboard directly.
The default Safer agent access preset includes lists:write and
tags:write, so agents can create and update list and tag definitions, and it
includes subscribers:tag for applying tags to existing contacts. It also
includes ab_tests:read, ab_tests:write, and sequences:write, so agents can
audit and edit sequence A/B variant copy, including cart and browse abandonment
messages. It does not include subscribers:write, so it cannot add contacts to
lists or remove them from lists. Deleting a list or tag still requires the
matching lists:delete or tags:delete permission.
The AI drafting preset includes subscribers:write, so drafting agents can
build a list as well as create it. add_subscriber uses subscribers:write
for explicit listIds; imports into explicit lists and dedicated list membership tools still
need lists:write. Sequence enrollment or double-opt-in delivery additionally
needs automations:trigger. The two data ingest presets omit lists:write
and support explicit list placement through add_subscriber. Use custom
permissions for imports into explicit lists.
Tools
The standard surface currently exposes 387 MCP tools. The OpenAI-reviewed surface exposes 368; the omitted, renamed and split operations are listed above.
Tools reject arguments they do not declare instead of silently ignoring them. Errors name the unsupported fields, list the supported arguments, and provide focused guidance for common mistakes such as invented subscriber filters or sort options.
Account, Companies, Setup
Documentation truncated — see the full README on GitHub.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
