Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ Use `get_ab_test` to discover variant IDs before editing. Variant updates accept
| `list_campaigns` | List campaigns, optionally filtered by status. |
| `get_campaign` | Get campaign details and stats. |
| `get_email_send` | Inspect a sent email detail record. |
| `create_campaign` | Create a draft campaign from HTML, blocks, a template, or campaign data. |
| `create_campaign` | Create a draft campaign from a prompt, HTML, blocks, a template, or campaign data. |
| `update_campaign` | Update a draft campaign, including campaign data and computed lists. |
| `schedule_campaign` | Schedule a draft or reschedule an existing scheduled campaign. |
| `send_test_email` | Send a test email to one address. |
Expand Down Expand Up @@ -450,13 +450,13 @@ For compatibility with older agent prompts, top-level style keys such as `backgr

### Transactional Email

| Tool | Description |
| ---------------------------- | ------------------------------------------------------ |
| `list_transactional_emails` | List transactional templates and API slugs. |
| `get_transactional_email` | Read a transactional email by ID or slug. |
| `create_transactional_email` | Create a transactional email template. |
| `update_transactional_email` | Update transactional metadata or body content. |
| `send_email` | Send a single transactional email by template or HTML. |
| Tool | Description |
| ---------------------------- | --------------------------------------------------------------- |
| `list_transactional_emails` | List transactional templates and API slugs. |
| `get_transactional_email` | Read a transactional email by ID or slug. |
| `create_transactional_email` | Create a transactional template from a prompt, HTML, or blocks. |
| `update_transactional_email` | Update transactional metadata or body content. |
| `send_email` | Send a single transactional email by template or HTML. |

`send_email` variables support nested arrays for repeat blocks, such as `{ "event": { "items": [...] } }`.

Expand Down Expand Up @@ -495,13 +495,17 @@ Analytics tools exclude detected bot, scanner, link-preview, and tracked asset o

### AI Generation

| Tool | Description |
| ------------------------ | -------------------------------------------- |
| `generate_email` | Generate email blocks from a prompt. |
| `generate_sequence` | Generate a multi-email sequence from a goal. |
| `generate_subject_lines` | Generate A/B subject line variants. |

Generated content is returned as draft content for review.
| Tool | Description |
| ------------------------ | ---------------------------------------------------- |
| `generate_email` | Generate branded email blocks from a prompt. |
| `generate_sequence` | Generate a branded multi-email sequence from a goal. |
| `generate_subject_lines` | Generate A/B subject line variants. |

Generated email content includes the company's logo and footer by default.
`generate_email` accepts `applyBranding: false` for raw content blocks and
`emailType: "transactional"` for a footer without an unsubscribe link.
Prompt-based campaigns inherit the company's configured email font. Generated
content is returned as draft content for review.

## Resources

Expand Down
44 changes: 42 additions & 2 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sequenzy/mcp",
"version": "0.0.83",
"version": "0.0.94",
"mcpName": "io.github.sequenzy/mcp",
"description": "Sequenzy MCP server for AI-powered email marketing automation",
"type": "module",
Expand All @@ -18,7 +18,7 @@
"dev": "bun --watch src/index.ts",
"build": "bun build src/index.ts src/server.ts src/runtime.ts --outdir dist --target node --minify",
"start": "node dist/index.js",
"type-check": "tsc --noEmit",
"type-check": "bunx --bun tsc --noEmit",
"test": "bun test",
"test:watch": "bun test --watch",
"prepublishOnly": "bun run build"
Expand All @@ -30,7 +30,7 @@
"@types/bun": "latest",
"@types/node": "^22.0.0",
"bun-types": "latest",
"typescript": "^5.8.0"
"typescript": "^7.0.2"
},
"files": [
"dist",
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"url": "https://github.com/Sequenzy/mcp",
"source": "github"
},
"version": "0.0.83",
"version": "0.0.94",
"packages": [
{
"registryType": "npm",
"identifier": "@sequenzy/mcp",
"version": "0.0.83",
"version": "0.0.94",
"runtime": "node",
"transport": {
"type": "stdio"
Expand Down
5 changes: 5 additions & 0 deletions src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ export function createSequenzyMcpServer(
tools: {},
resources: {},
},
instructions: [
"Sequenzy email marketing MCP server: manage subscribers, campaigns, sequences, templates, and delivery stats.",
"If you have access to multiple companies, call get_account and then select_company (or pass companyId per call) before other tools.",
"IMPORTANT: whenever the user wanted to accomplish something and these tools did not expose functionality for it (missing tool, missing argument, unsupported workflow, or broken behavior), call submit_feedback describing the gap before finishing the task. The Sequenzy team reads every submission and uses it to decide what to build next.",
].join("\n"),
}
);

Expand Down
Loading