@migma/mcp 1.8.2 → 1.9.1-automations.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +22 -0
  2. package/build/index.d.ts.map +1 -1
  3. package/build/index.js +7 -0
  4. package/build/index.js.map +1 -1
  5. package/build/prompts/index.d.ts.map +1 -1
  6. package/build/prompts/index.js +14 -0
  7. package/build/prompts/index.js.map +1 -1
  8. package/build/tools/__tests__/automations.test.d.ts +2 -0
  9. package/build/tools/__tests__/automations.test.d.ts.map +1 -0
  10. package/build/tools/__tests__/automations.test.js +259 -0
  11. package/build/tools/__tests__/automations.test.js.map +1 -0
  12. package/build/tools/__tests__/catalog.test.js +4 -0
  13. package/build/tools/__tests__/catalog.test.js.map +1 -1
  14. package/build/tools/__tests__/forms.test.d.ts +2 -0
  15. package/build/tools/__tests__/forms.test.d.ts.map +1 -0
  16. package/build/tools/__tests__/forms.test.js +127 -0
  17. package/build/tools/__tests__/forms.test.js.map +1 -0
  18. package/build/tools/__tests__/review-annotations.test.js +6 -1
  19. package/build/tools/__tests__/review-annotations.test.js.map +1 -1
  20. package/build/tools/__tests__/websites.test.d.ts +2 -0
  21. package/build/tools/__tests__/websites.test.d.ts.map +1 -0
  22. package/build/tools/__tests__/websites.test.js +138 -0
  23. package/build/tools/__tests__/websites.test.js.map +1 -0
  24. package/build/tools/automations.d.ts +22 -0
  25. package/build/tools/automations.d.ts.map +1 -0
  26. package/build/tools/automations.js +134 -0
  27. package/build/tools/automations.js.map +1 -0
  28. package/build/tools/capabilities.d.ts +2 -0
  29. package/build/tools/capabilities.d.ts.map +1 -1
  30. package/build/tools/capabilities.js +49 -1
  31. package/build/tools/capabilities.js.map +1 -1
  32. package/build/tools/forms.d.ts +6 -0
  33. package/build/tools/forms.d.ts.map +1 -0
  34. package/build/tools/forms.js +97 -0
  35. package/build/tools/forms.js.map +1 -0
  36. package/build/tools/websites.d.ts +4 -0
  37. package/build/tools/websites.d.ts.map +1 -0
  38. package/build/tools/websites.js +114 -0
  39. package/build/tools/websites.js.map +1 -0
  40. package/package.json +3 -3
@@ -26,6 +26,10 @@ const OPEN_WORLD_TOOL_NAMES = new Set([
26
26
  "migma_send_test_email",
27
27
  "migma_send_email",
28
28
  "migma_send_campaign",
29
+ "migma_activate_automation",
30
+ "migma_publish_form",
31
+ // Can email a confirmation link and start form automations.
32
+ "migma_submit_form",
29
33
  "migma_schedule_campaign",
30
34
  "migma_create_managed_domain",
31
35
  "migma_provision_stream",
@@ -57,6 +61,10 @@ const DESTRUCTIVE_TOOL_NAMES = new Set([
57
61
  "migma_edit_email",
58
62
  "migma_send_email",
59
63
  "migma_send_campaign",
64
+ "migma_activate_automation",
65
+ "migma_publish_form",
66
+ "migma_delete_form",
67
+ "migma_submit_form",
60
68
  "migma_schedule_campaign",
61
69
  "migma_cancel_campaign",
62
70
  "migma_remove_contact",
@@ -111,6 +119,30 @@ export const TOOL_CATALOG = [
111
119
  { name: "migma_unarchive_campaign", domain: "campaigns", summary: "Restore campaign visibility. Does not resume cancelled delivery.", write: true, idempotent: false },
112
120
  { name: "migma_get_campaign_stats", domain: "campaigns", summary: "Aggregated engagement metrics for a campaign (cached, may be slightly stale).", write: false, idempotent: false },
113
121
  { name: "migma_get_campaign_logs", domain: "campaigns", summary: "Per-recipient delivery logs for a campaign, cursor-paginated.", write: false, idempotent: false },
122
+ // Automations
123
+ { name: "migma_get_automation_capabilities", domain: "automations", summary: "Supported steps, live trigger catalog, and connection requirements.", write: false, idempotent: false },
124
+ { name: "migma_list_automations", domain: "automations", summary: "Find drafts, active flows, and paused automations.", write: false, idempotent: false },
125
+ { name: "migma_get_automation", domain: "automations", summary: "Read a saved flow, its review link, and its definitionHash when it is a native reviewed flow.", write: false, idempotent: false },
126
+ { name: "migma_get_automation_metrics", domain: "automations", summary: "Date-bounded send-date reports with startDate, endDate, and timezone; omit all three for explicitly labeled lifetime metrics. Preserve data availability.", write: false, idempotent: false },
127
+ { name: "migma_generate_automation", domain: "automations", summary: "Create an off automation draft from text or workflow screenshots; poll its jobId. Reuse idempotency_key after uncertainty; unkeyed retries can create duplicate drafts.", write: true, idempotent: false },
128
+ { name: "migma_get_automation_generation", domain: "automations", summary: "Check asynchronous automation generation progress and review details.", write: false, idempotent: false },
129
+ { name: "migma_validate_automation", domain: "automations", summary: "Check setup and prepare delivery drafts without activation or sending. Reuse idempotency_key when retrying.", write: true, idempotent: false },
130
+ { name: "migma_activate_automation", domain: "automations", summary: "Turn on an exact reviewed definition only after explicit user activation request; requires its definitionHash. Reuse idempotency_key when retrying.", write: true, idempotent: false },
131
+ { name: "migma_pause_automation", domain: "automations", summary: "Pause future automation steps and new entries. Reuse idempotency_key when retrying.", write: true, idempotent: false },
132
+ { name: "migma_update_automation_trigger", domain: "automations", summary: "Edit the start rule on an inspected draft or paused flow using its definitionHash. Reuse idempotency_key; an unkeyed retry can report AUTOMATION_GRAPH_CHANGED for its own change.", write: true, idempotent: false },
133
+ { name: "migma_update_automation_wait", domain: "automations", summary: "Edit a wait duration on an inspected flow using its definitionHash while preserving connections. Reuse idempotency_key; an unkeyed retry can report AUTOMATION_GRAPH_CHANGED for its own change.", write: true, idempotent: false },
134
+ { name: "migma_list_automation_runs", domain: "automations", summary: "Inspect contact journeys with failure, exit, or suppression reasons. Read-only; runs are cancelled in Migma.", write: false, idempotent: false },
135
+ // Forms
136
+ { name: "migma_list_forms", domain: "forms", summary: "List signup forms with status, hosted link, and embed code. Form IDs are automation trigger formIds.", write: false, idempotent: false },
137
+ { name: "migma_get_form", domain: "forms", summary: "Read a form's draft and published versions, counters, and the automations it starts.", write: false, idempotent: false },
138
+ { name: "migma_create_form", domain: "forms", summary: "Save a new signup form draft; nothing is public until publish. Reuse idempotency_key; unkeyed retries can create duplicate drafts.", write: true, idempotent: false },
139
+ { name: "migma_update_form", domain: "forms", summary: "Edit a form draft, tags, or audience; the live version changes only on publish. Reuse idempotency_key when retrying.", write: true, idempotent: false },
140
+ { name: "migma_publish_form", domain: "forms", summary: "Make the draft live on the hosted page and embeds after explicit user request. Reuse idempotency_key when retrying.", write: true, idempotent: false },
141
+ { name: "migma_pause_form", domain: "forms", summary: "Stop new submissions; blocked while an enabled automation starts from the form. Pausing a paused form changes nothing.", write: true, idempotent: true },
142
+ { name: "migma_delete_form", domain: "forms", summary: "Delete a form after explicit confirmation; blocked while an enabled automation uses it. Submissions and contacts remain.", write: true, idempotent: false },
143
+ { name: "migma_submit_form", domain: "forms", summary: "Sign up one consenting person through a live form (fields, tags, double opt-in, form automations). Add-only; repeating the same email records no new submission.", write: true, idempotent: true },
144
+ { name: "migma_list_form_submissions", domain: "forms", summary: "Read recent form submissions with confirmation times. Needs audience:read.", write: false, idempotent: false },
145
+ { name: "migma_get_automation_run", domain: "automations", summary: "Read one contact journey, its reasons, and its most recent steps.", write: false, idempotent: false },
114
146
  // Validation
115
147
  { name: "migma_validate_email", domain: "validation", summary: "Check compatibility, spelling, wording, and public links by emailId; requests URLs found in the email.", write: false, idempotent: false },
116
148
  { name: "migma_validate_compatibility", domain: "validation", summary: "Check email-client compatibility by emailId.", write: false, idempotent: false },
@@ -163,6 +195,11 @@ export const TOOL_CATALOG = [
163
195
  { name: "migma_list_segments", domain: "segments", summary: "List all audience segments for a project.", write: false, idempotent: false },
164
196
  { name: "migma_create_segment", domain: "segments", summary: "Create an audience segment with optional filters.", write: true, idempotent: false },
165
197
  { name: "migma_delete_segment", domain: "segments", summary: "Delete a segment by id.", write: true, idempotent: false },
198
+ // Website tracking
199
+ { name: "migma_list_websites", domain: "websites", summary: "List website tracking installations for a project.", write: false, idempotent: false },
200
+ { name: "migma_create_website", domain: "websites", summary: "Register exact storefront origins for consented website observations. Reuse idempotency_key across retries; without it each call creates a separate installation.", write: true, idempotent: false },
201
+ { name: "migma_update_website", domain: "websites", summary: "Rename, enable, or disable a website tracking installation.", write: true, idempotent: false },
202
+ { name: "migma_get_website_events", domain: "websites", summary: "Inspect the bounded recent history sample for one website installation.", write: false, idempotent: false },
166
203
  // Webhooks
167
204
  { name: "migma_list_webhooks", domain: "webhooks", summary: "List all configured webhooks.", write: false, idempotent: false },
168
205
  { name: "migma_create_webhook", domain: "webhooks", summary: "Enable automatic event delivery to supplied URL. Creation sends no test; future matching events POST data there.", write: true, idempotent: false },
@@ -212,6 +249,12 @@ export function getToolRequiredScopes(name) {
212
249
  return ["email:read"];
213
250
  if (name === "migma_add_knowledge_base")
214
251
  return ["project:write"];
252
+ if (name === "migma_generate_automation")
253
+ return ["campaign:write", "email:write"];
254
+ if (name === "migma_list_form_submissions")
255
+ return ["campaign:read", "audience:read"];
256
+ if (name === "migma_submit_form")
257
+ return ["campaign:write", "audience:write"];
215
258
  if (name === "migma_generate_email")
216
259
  return ["email:write", "email:read"];
217
260
  if (name === "migma_edit_email")
@@ -229,10 +272,13 @@ export function getToolRequiredScopes(name) {
229
272
  export: "email:read",
230
273
  domains: entry.write ? "domain:write" : "domain:read",
231
274
  billing: entry.write ? "billing:write" : "billing:read",
275
+ automations: entry.write ? "campaign:write" : "campaign:read",
276
+ forms: entry.write ? "campaign:write" : "campaign:read",
232
277
  campaigns: entry.write ? "campaign:write" : "campaign:read",
233
278
  contacts: entry.write ? "audience:write" : "audience:read",
234
279
  tags: entry.write ? "audience:write" : "audience:read",
235
280
  segments: entry.write ? "audience:write" : "audience:read",
281
+ websites: entry.write ? "audience:write" : "audience:read",
236
282
  webhooks: entry.write ? "webhook:write" : "webhook:read",
237
283
  };
238
284
  const scope = scopeByDomain[entry.domain];
@@ -293,6 +339,8 @@ export function buildCapabilitiesPayload(version, grantedPermissions, profile =
293
339
  },
294
340
  channelRule: "Use one write channel per task. When MCP is selected, stop browser/REST creation, wait for in-flight work, list existing drafts, and reconcile before generating again.",
295
341
  designFlow: "Reuse resolved brand and supplied brief/reference; research only missing required facts → one migma_generate_email (pass count; pass up to 5 public HTTPS source images through images, not only prompt text) → poll status → IMMEDIATELY show every preview image + appUrl. Optional guidelines, audience, and sending-domain setup must not delay drafts. After first show, verify requested facts and source images before claiming success. Revise requested existing emails and poll edits; do not generate duplicates for theme changes. Use returned export links and checked compatibility results only.",
342
+ automationFlow: "Resolve brand → migma_get_automation_capabilities → migma_generate_automation with the brief and optional workflow imageUrls → poll migma_get_automation_generation → show the draft review link and unresolved details. Use list/get/validate/pause/activity tools to manage flows. Before edits or activation, get and review the exact flow and pass its definitionHash as expectedDefinitionHash. Draft creation does not authorize activation; call migma_activate_automation only when the user explicitly requests turning on the reviewed flow. Entry rules, other flow settings, and cancelling contacts in progress are changed in Migma, not through these tools. For a form-started flow, find the form with migma_list_forms and use its id as the trigger formId.",
343
+ formFlow: "Resolve brand → migma_create_form saves a draft (exactly one required email field) → show it → migma_publish_form only when the user asks → share hostedUrl or embed code. migma_submit_form signs up one person who asked to join a live form; never use it to add contacts in bulk. Pausing or deleting is blocked while an enabled automation starts from the form; name those flows.",
296
344
  knowledgeBase: "Call migma_add_knowledge_base when the user shares lasting brand facts. Do not list first. List is optional review only.",
297
345
  designReferences: availableToolNames.has("migma_save_reference")
298
346
  ? "When the user likes an email's design or asks to favorite/save its style, call migma_save_reference with the exact emailId (the selected slot for a series). No HTML fetch or re-import. Confirm only after favorite:true. Future emails for the same brand use saved references by default unless disabled; later edits update the reference. Repeating emailId is safe. External title + html creates a separate entry; screenshot alone cannot be saved. Keep one-off edits and lasting brand rules separate."
@@ -317,7 +365,7 @@ export function registerCapabilitiesTool(server, grantedPermissions, profile = "
317
365
  server.registerTool("migma_get_capabilities", {
318
366
  title: "Get Capabilities",
319
367
  annotations: READ_ONLY_TOOL,
320
- description: "Self-description of this server (migma_get_context returns live account state). Catalog includes migma_generate_email (new emails from a prompt; one call with count for a series), migma_import_html (convert existing HTML or .eml), migma_save_reference (favorite liked emails for future style), edit, send, campaigns, audience, domains, and billing. Returns granted scopes, tools available to this connection, unavailable tools with missing scopes, compatible guided workflows, idempotency rules, and brand scoping. Use this result instead of promising tools hidden by the current credential.",
368
+ description: "Self-description of this server (migma_get_context returns live account state). Catalog includes migma_generate_email (new emails from a prompt; one call with count for a series), migma_import_html (convert existing HTML or .eml), migma_save_reference (favorite liked emails for future style), edit, send, automations from text or images, signup forms, campaigns, audience, website tracking management, domains, and billing. Returns granted scopes, tools available to this connection, unavailable tools with missing scopes, compatible guided workflows, idempotency rules, and brand scoping. Use this result instead of promising tools hidden by the current credential.",
321
369
  inputSchema: z.object({}),
322
370
  }, async () => {
323
371
  const catalog = buildCapabilitiesPayload(version, grantedPermissions, profile);
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { MigmaClient, type Migma } from 'migma';
3
+ import type { Config } from '../config.js';
4
+ /** Uses the public transport so hosted MCP also works with older SDK hosts. */
5
+ export declare function registerFormTools(server: McpServer, resolverClient: Migma, config: Config, grantedPermissions?: string[], suppliedClient?: Pick<MigmaClient, 'get' | 'post' | 'patch' | 'delete'>): void;
6
+ //# sourceMappingURL=forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/tools/forms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAqC3C,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,cAAc,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,QAsFxE"}
@@ -0,0 +1,97 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { MigmaClient } from 'migma';
3
+ import { z } from 'zod';
4
+ import { canUse } from '../permissions.js';
5
+ import { publicApiToolError } from './automations.js';
6
+ import { resolveProjectId } from './projects.js';
7
+ // Mirrors the public API spec limits; the server validates the full rules.
8
+ const field = z.object({
9
+ key: z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/).max(60),
10
+ label: z.string().min(1).max(120),
11
+ type: z.enum(['text', 'email', 'tel', 'select', 'checkbox']),
12
+ required: z.boolean(),
13
+ bindsTo: z.string().max(120).optional().describe('Contact field to fill, such as firstName, lastName or a custom field key.'),
14
+ options: z.array(z.string().max(120)).max(20).optional().describe('Unique choices; required for select fields.'),
15
+ }).strict();
16
+ const copy = z.object({ headline: z.string().min(1).max(200), body: z.string().max(500).optional() }).strict();
17
+ const specShape = {
18
+ kind: z.enum(['subscribe', 'waitlist', 'leadgen', 'rsvp', 'gated']),
19
+ steps: z.array(z.object({
20
+ id: z.string().min(1).max(60), headline: z.string().min(1).max(200), subheadline: z.string().max(300).optional(),
21
+ ctaLabel: z.string().min(1).max(60), fields: z.array(field).max(10),
22
+ }).strict()).min(1).max(5).optional(),
23
+ success: copy.optional(),
24
+ confirmed: copy.optional(),
25
+ subscribed: copy.optional(),
26
+ teaser: z.object({ label: z.string().min(1).max(60) }).strict().optional(),
27
+ display: z.enum(['inline', 'popup']).optional(),
28
+ confirmation: z.object({
29
+ mode: z.enum(['message', 'redirect', 'doubleOptIn']),
30
+ value: z.string().min(1).max(2000),
31
+ }).strict().describe('message shows value after signup; redirect goes to an absolute http(s) URL; doubleOptIn emails a confirmation link and needs a verified transactional sender to publish.'),
32
+ styleTokens: z.record(z.string(), z.string()),
33
+ };
34
+ const spec = z.object(specShape).strict()
35
+ .describe('1-5 steps with 1-10 fields in total and exactly one required email field.');
36
+ const partialSpec = z.object(specShape).partial().strict()
37
+ .describe('Only the parts to change; merged into the saved draft.');
38
+ /** Uses the public transport so hosted MCP also works with older SDK hosts. */
39
+ export function registerFormTools(server, resolverClient, config, grantedPermissions, suppliedClient) {
40
+ let transport = suppliedClient;
41
+ const client = () => transport ??= new MigmaClient(config.apiKey, {
42
+ baseUrl: config.baseUrl || 'https://api.migma.ai/v1', maxRetries: 2, retryDelay: 1000,
43
+ });
44
+ const project = z.string().optional().describe("Brand ID from migma_list_projects. Defaults to MIGMA_PROJECT_ID for local stdio, then the account's only brand.");
45
+ const id = z.string().min(1).describe('Form ID returned by migma_list_forms or migma_create_form.');
46
+ const tagIds = z.array(z.string()).max(50).optional().describe('Saved tag IDs from migma_list_tags added to every new signup.');
47
+ const audienceId = z.string().max(100).optional().describe('Saved audience ID; omit for every contact in the brand.');
48
+ const formName = z.string().trim().min(1).max(120).describe('The form\'s name in lists, never shown to visitors: the user\'s own name for it, else a short descriptive one.');
49
+ const retryKey = z.string().min(1).max(100).optional().describe('Reuse the same key only when retrying this exact change after an uncertain result.');
50
+ const keyed = (args) => ({ idempotencyKey: args.idempotency_key || randomUUID() });
51
+ const path = (value) => `/forms/${encodeURIComponent(value)}`;
52
+ const projectId = (value) => resolveProjectId(resolverClient, config, value);
53
+ const register = (name, title, description, inputSchema, permissions, run) => {
54
+ if (!canUse(grantedPermissions, permissions))
55
+ return;
56
+ server.registerTool(name, { title, description, inputSchema }, async (args) => {
57
+ try {
58
+ const result = await run(args);
59
+ if (result.error)
60
+ return publicApiToolError(result.error);
61
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
62
+ }
63
+ catch (error) {
64
+ return publicApiToolError(error);
65
+ }
66
+ });
67
+ };
68
+ const read = ['campaign:read'];
69
+ const write = ['campaign:write'];
70
+ register('migma_list_forms', 'List Signup Forms', 'List a brand\'s signup forms with status, hosted link and embed code. Use a form ID as formId in a form.submitted or form.confirmed automation trigger.', z.object({ projectId: project, status: z.enum(['draft', 'live', 'paused']).optional() }).strict(), read, async (args) => client().get('/forms', { projectId: await projectId(args.projectId), status: args.status }));
71
+ register('migma_get_form', 'Get Signup Form', 'Read one form: draft and published versions, hosted link, embed code, view/submission/confirmation counters (null when unavailable, never zero) and the automations it starts.', z.object({ formId: id }).strict(), read, args => client().get(path(args.formId)));
72
+ register('migma_create_form', 'Create Signup Form', 'Save a new signup form as a draft. Nothing is public until migma_publish_form. Show the draft to the user before publishing.', z.object({ projectId: project, name: formName.optional(), spec, tagIds, audienceId, idempotency_key: retryKey }).strict(), write, async (args) => client().post('/forms', { projectId: await projectId(args.projectId), name: args.name, spec: args.spec, tagIds: args.tagIds, audienceId: args.audienceId }, keyed(args)));
73
+ register('migma_update_form', 'Edit Signup Form Draft', 'Rename a form or change its draft, tags or audience. A rename applies at once; a live form keeps its published version until migma_publish_form.', z.object({ formId: id, name: formName.nullable().optional(), spec: partialSpec.optional(), tagIds, audienceId, idempotency_key: retryKey }).strict(), write, args => client().patch(path(args.formId), { name: args.name, spec: args.spec, tagIds: args.tagIds, audienceId: args.audienceId }, keyed(args)));
74
+ register('migma_publish_form', 'Publish Signup Form', 'Make the current draft live on the hosted page and embeds, replacing the published version. Only when the user asks to publish. Double opt-in forms need a verified transactional sender.', z.object({ formId: id, idempotency_key: retryKey }).strict(), write, args => client().post(`${path(args.formId)}/publish`, undefined, keyed(args)));
75
+ register('migma_pause_form', 'Pause Signup Form', 'Stop new submissions to a live form. Returns FORM_USED_BY_AUTOMATION while an enabled automation starts from it; tell the user which flows to pause or change first.', z.object({ formId: id, idempotency_key: retryKey }).strict(), write, args => client().post(`${path(args.formId)}/pause`, undefined, keyed(args)));
76
+ register('migma_delete_form', 'Delete Signup Form', 'Delete a form only after the user explicitly confirms. Its hosted page and embeds stop working; past submissions and contacts remain. Blocked like pause while an enabled automation uses it.', z.object({ formId: id, idempotency_key: retryKey }).strict(), write, args => client().delete(path(args.formId), undefined, keyed(args)));
77
+ const attribution = z.string().max(500).optional();
78
+ register('migma_submit_form', 'Submit Signup Form', 'Sign up one person through a live form, for a person who asked to join, as if they used the form: its fields, tags, double opt-in and form.submitted/form.confirmed automations. Not for bulk-adding contacts (use the contact import tools). Add-only: an existing contact keeps its status, and the result never reveals it. state confirmation_pending means the person was emailed a confirmation link; duplicate true means this email was already submitted to this form with this API key, so no new submission or automation entry was recorded.', z.object({
79
+ formId: id,
80
+ email: z.string().trim().max(254).email(),
81
+ fields: z.record(z.string(), z.union([z.string().max(500), z.boolean()])).optional()
82
+ .describe("Values keyed by the form's field keys from migma_get_form; checkboxes may be true/false. Unknown keys are rejected."),
83
+ attribution: z.object({
84
+ utmSource: attribution, utmMedium: attribution, utmCampaign: attribution, utmTerm: attribution,
85
+ utmContent: attribution, referrer: attribution, landingUrl: attribution,
86
+ }).strict().optional().describe('Where the signup came from; saved on new contacts only.'),
87
+ consent: z.object({
88
+ ip: z.string().trim().ip().optional().describe("The signing-up person's IP address; the API stores it hashed."),
89
+ userAgent: z.string().trim().max(1000).optional().describe("The signing-up person's user agent."),
90
+ }).strict().optional().describe("Original signup request evidence supplied by the caller. Never substitute the MCP host or agent's IP or user agent."),
91
+ idempotency_key: retryKey,
92
+ }).strict(), ['campaign:write', 'audience:write'], args => client().post(`${path(args.formId)}/submissions`, {
93
+ email: args.email, fields: args.fields, attribution: args.attribution, consent: args.consent,
94
+ }, keyed(args)));
95
+ register('migma_list_form_submissions', 'Signup Form Submissions', 'Read recent submissions, newest first, with confirmation time for double opt-in signups. Contains contact data. Use nextCursor for older entries.', z.object({ formId: id, limit: z.number().int().min(1).max(100).optional(), cursor: z.string().optional() }).strict(), ['campaign:read', 'audience:read'], args => client().get(`${path(args.formId)}/submissions`, { limit: args.limit, cursor: args.cursor }));
96
+ }
97
+ //# sourceMappingURL=forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/tools/forms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { Migma } from "migma";
3
+ export declare function registerWebsiteTools(server: McpServer, client: Migma, grantedPermissions?: string[]): void;
4
+ //# sourceMappingURL=websites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websites.d.ts","sourceRoot":"","sources":["../../src/tools/websites.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAmBnC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAgG9B"}
@@ -0,0 +1,114 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { z } from "zod";
3
+ import { canUse } from "../permissions.js";
4
+ import { MUTATING_TOOL, READ_ONLY_TOOL } from "./annotations.js";
5
+ const objectIdSchema = z.string().regex(/^[a-f0-9]{24}$/, "Use a 24-character lowercase object ID");
6
+ const websiteOriginSchema = z.string().max(300).url().refine((value) => {
7
+ try {
8
+ const url = new URL(value);
9
+ const loopback = ["127.0.0.1", "localhost", "[::1]"].includes(url.hostname);
10
+ return value === url.origin && !url.username && !url.password
11
+ && (url.protocol === "https:" || url.protocol === "http:" && loopback);
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ }, "Use an HTTPS origin, or a loopback HTTP origin for local testing");
17
+ export function registerWebsiteTools(server, client, grantedPermissions) {
18
+ if (canUse(grantedPermissions, ["audience:read"])) {
19
+ server.registerTool("migma_list_websites", {
20
+ title: "List Website Trackers",
21
+ annotations: READ_ONLY_TOOL,
22
+ description: "List up to 100 website tracking installations for a project.",
23
+ inputSchema: z.object({
24
+ projectId: objectIdSchema.describe("Project ID"),
25
+ }).strict(),
26
+ }, async (args) => {
27
+ const websites = websiteApi(client);
28
+ if (!websites)
29
+ return toolError("This MCP build needs a newer migma package with website tracking support.");
30
+ const { data, error } = await websites.list(args.projectId);
31
+ if (error)
32
+ return toolError(error.message);
33
+ return toolResult(data);
34
+ });
35
+ server.registerTool("migma_get_website_events", {
36
+ title: "Inspect Website Observations",
37
+ annotations: READ_ONLY_TOOL,
38
+ description: "Inspect the bounded recent history sample for one website tracking installation.",
39
+ inputSchema: z.object({
40
+ websiteId: objectIdSchema.describe("Website tracking installation ID"),
41
+ }).strict(),
42
+ }, async (args) => {
43
+ const websites = websiteApi(client);
44
+ if (!websites)
45
+ return toolError("This MCP build needs a newer migma package with website tracking support.");
46
+ const { data, error } = await websites.events(args.websiteId);
47
+ if (error)
48
+ return toolError(error.message);
49
+ return toolResult(data);
50
+ });
51
+ }
52
+ if (canUse(grantedPermissions, ["audience:write"])) {
53
+ server.registerTool("migma_create_website", {
54
+ title: "Create Website Tracker",
55
+ annotations: MUTATING_TOOL,
56
+ description: "Register one to ten exact storefront origins. Start with environment test; test observations remain history only. Reuse idempotency_key to retry the same logical creation across calls. Without a key, each call creates a separate installation. This tool returns installation settings and never issues browser identity credentials.",
57
+ inputSchema: z.object({
58
+ projectId: objectIdSchema.describe("Project ID"),
59
+ name: z.string().trim().min(1).max(100).describe("Installation name"),
60
+ origins: z.array(websiteOriginSchema).min(1).max(10)
61
+ .refine((values) => new Set(values).size === values.length, "Origins must be unique")
62
+ .describe("Exact HTTPS storefront origins"),
63
+ environment: z.enum(["live", "test"]).describe("Use test for history-only verification or live for identified execution"),
64
+ idempotency_key: z.string().min(1).max(128).optional()
65
+ .describe("Stable retry key. Omit to generate one for this tool call."),
66
+ }).strict(),
67
+ }, async (args) => {
68
+ const websites = websiteApi(client);
69
+ if (!websites)
70
+ return toolError("This MCP build needs a newer migma package with website tracking support.");
71
+ const { idempotency_key, ...input } = args;
72
+ const { data, error } = await websites.create(input, idempotency_key || randomUUID());
73
+ if (error)
74
+ return toolError(error.message);
75
+ return toolResult(data);
76
+ });
77
+ server.registerTool("migma_update_website", {
78
+ title: "Update Website Tracker",
79
+ annotations: MUTATING_TOOL,
80
+ description: "Rename, enable, or disable a website tracking installation. Origins and environment cannot be changed after creation.",
81
+ inputSchema: z.object({
82
+ websiteId: objectIdSchema.describe("Website tracking installation ID"),
83
+ name: z.string().trim().min(1).max(100).optional().describe("New installation name"),
84
+ status: z.enum(["enabled", "disabled"]).optional().describe("Collection status"),
85
+ }).strict().refine((value) => value.name !== undefined || value.status !== undefined, {
86
+ message: "Provide name or status",
87
+ }),
88
+ }, async (args) => {
89
+ const websites = websiteApi(client);
90
+ if (!websites)
91
+ return toolError("This MCP build needs a newer migma package with website tracking support.");
92
+ const { websiteId, ...input } = args;
93
+ const { data, error } = await websites.update(websiteId, input);
94
+ if (error)
95
+ return toolError(error.message);
96
+ return toolResult(data);
97
+ });
98
+ }
99
+ }
100
+ function websiteApi(client) {
101
+ return client.websites;
102
+ }
103
+ function toolResult(data) {
104
+ return {
105
+ content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
106
+ };
107
+ }
108
+ function toolError(message) {
109
+ return {
110
+ content: [{ type: "text", text: message }],
111
+ isError: true,
112
+ };
113
+ }
114
+ //# sourceMappingURL=websites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websites.js","sourceRoot":"","sources":["../../src/tools/websites.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@migma/mcp",
3
- "version": "1.8.2",
4
- "description": "Migma MCP server — generate, send, validate, and export AI-powered emails from any MCP-compatible client",
3
+ "version": "1.9.1-automations.1",
4
+ "description": "Migma MCP server — generate, send, validate, and export emails and build and manage automations from any MCP-compatible client",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "migma-mcp": "build/index.js"
@@ -31,7 +31,7 @@
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
33
  "@modelcontextprotocol/sdk": "^1.9.0",
34
- "migma": "^1.8.0",
34
+ "migma": "1.10.1-automations.1",
35
35
  "zod": "^3.23.0"
36
36
  },
37
37
  "devDependencies": {