@migma/mcp 1.3.6 → 1.3.8

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 (51) hide show
  1. package/build/tools/__tests__/catalog.test.js +10 -1
  2. package/build/tools/__tests__/catalog.test.js.map +1 -1
  3. package/build/tools/annotation-justifications.d.ts +15 -0
  4. package/build/tools/annotation-justifications.d.ts.map +1 -0
  5. package/build/tools/annotation-justifications.js +29 -0
  6. package/build/tools/annotation-justifications.js.map +1 -0
  7. package/build/tools/annotations.d.ts +57 -0
  8. package/build/tools/annotations.d.ts.map +1 -0
  9. package/build/tools/annotations.js +19 -0
  10. package/build/tools/annotations.js.map +1 -0
  11. package/build/tools/campaigns.d.ts.map +1 -1
  12. package/build/tools/campaigns.js +10 -0
  13. package/build/tools/campaigns.js.map +1 -1
  14. package/build/tools/capabilities.d.ts +1 -1
  15. package/build/tools/capabilities.d.ts.map +1 -1
  16. package/build/tools/capabilities.js +40 -7
  17. package/build/tools/capabilities.js.map +1 -1
  18. package/build/tools/contacts.d.ts.map +1 -1
  19. package/build/tools/contacts.js +9 -0
  20. package/build/tools/contacts.js.map +1 -1
  21. package/build/tools/domains.d.ts.map +1 -1
  22. package/build/tools/domains.js +6 -0
  23. package/build/tools/domains.js.map +1 -1
  24. package/build/tools/export.d.ts.map +1 -1
  25. package/build/tools/export.js +7 -0
  26. package/build/tools/export.js.map +1 -1
  27. package/build/tools/generate.d.ts.map +1 -1
  28. package/build/tools/generate.js +9 -0
  29. package/build/tools/generate.js.map +1 -1
  30. package/build/tools/metrics.d.ts.map +1 -1
  31. package/build/tools/metrics.js +2 -0
  32. package/build/tools/metrics.js.map +1 -1
  33. package/build/tools/projects.d.ts.map +1 -1
  34. package/build/tools/projects.js +5 -0
  35. package/build/tools/projects.js.map +1 -1
  36. package/build/tools/segments.d.ts.map +1 -1
  37. package/build/tools/segments.js +4 -0
  38. package/build/tools/segments.js.map +1 -1
  39. package/build/tools/send.d.ts.map +1 -1
  40. package/build/tools/send.js +2 -0
  41. package/build/tools/send.js.map +1 -1
  42. package/build/tools/tags.d.ts.map +1 -1
  43. package/build/tools/tags.js +4 -0
  44. package/build/tools/tags.js.map +1 -1
  45. package/build/tools/validate.d.ts.map +1 -1
  46. package/build/tools/validate.js +4 -0
  47. package/build/tools/validate.js.map +1 -1
  48. package/build/tools/webhooks.d.ts.map +1 -1
  49. package/build/tools/webhooks.js +5 -0
  50. package/build/tools/webhooks.js.map +1 -1
  51. package/package.json +2 -2
@@ -41,7 +41,16 @@ test("every tool advertises complete review annotations", () => {
41
41
  assert.equal(annotations?.readOnlyHint, !entry.write, `${entry.name} should set readOnlyHint from catalog behavior`);
42
42
  assert.equal(typeof annotations?.openWorldHint, "boolean", `${entry.name} should set openWorldHint`);
43
43
  assert.equal(typeof annotations?.destructiveHint, "boolean", `${entry.name} should set destructiveHint`);
44
- assert.equal(annotations?.idempotentHint, entry.idempotent, `${entry.name} should set idempotentHint`);
44
+ assert.equal(annotations?.idempotentHint, entry.write ? entry.idempotent : true, `${entry.name} should set idempotentHint (reads always true)`);
45
+ }
46
+ });
47
+ test("every tool description carries annotation justifications", () => {
48
+ const registered = registeredTools();
49
+ for (const entry of TOOL_CATALOG) {
50
+ const description = registered[entry.name]?.description ?? "";
51
+ assert.match(description, /Read only \((true|false)\): /, `${entry.name} should explain readOnlyHint in description`);
52
+ assert.match(description, /Open world \((true|false)\): /, `${entry.name} should explain openWorldHint in description`);
53
+ assert.match(description, /Destructive \((true|false)\): /, `${entry.name} should explain destructiveHint in description`);
45
54
  }
46
55
  });
47
56
  test("every tool advertises its OAuth policy", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface AnnotationHintFlags {
2
+ readOnlyHint: boolean;
3
+ openWorldHint: boolean;
4
+ destructiveHint: boolean;
5
+ }
6
+ export interface ToolAnnotationJustifications {
7
+ readOnly: string;
8
+ openWorld: string;
9
+ destructive: string;
10
+ }
11
+ /** Portal + model-facing why-text for each required ChatGPT annotation. */
12
+ export declare function getToolAnnotationJustifications(annotations: AnnotationHintFlags): ToolAnnotationJustifications;
13
+ /** Append ChatGPT-required annotation justifications to the tool description. */
14
+ export declare function withAnnotationJustifications(description: string | undefined, annotations: AnnotationHintFlags): string;
15
+ //# sourceMappingURL=annotation-justifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-justifications.d.ts","sourceRoot":"","sources":["../../src/tools/annotation-justifications.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,mBAAmB,GAC/B,4BAA4B,CAY9B;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EAAE,mBAAmB,GAC/B,MAAM,CAaR"}
@@ -0,0 +1,29 @@
1
+ /** Portal + model-facing why-text for each required ChatGPT annotation. */
2
+ export function getToolAnnotationJustifications(annotations) {
3
+ return {
4
+ readOnly: annotations.readOnlyHint
5
+ ? "Only reads authenticated Migma account data; it does not create, update, delete, send, or publish anything."
6
+ : "Performs a write or side effect in Migma (create, update, delete, send, schedule, export, or similar).",
7
+ openWorld: annotations.openWorldHint
8
+ ? "May reach outside this account — for example email delivery, DNS, webhooks, or fetching a public brand site."
9
+ : "Only accesses Migma's authenticated API for this account; it does not browse arbitrary URLs or contact unrelated third-party services.",
10
+ destructive: annotations.destructiveHint
11
+ ? "Can cause hard-to-undo effects such as sending mail to real inboxes, overwriting designs, deleting records, or cancelling scheduled work."
12
+ : "Does not delete records, overwrite irreversibly, or send live mail by itself; outcomes stay reversible or limited to drafts, exports, or reads.",
13
+ };
14
+ }
15
+ /** Append ChatGPT-required annotation justifications to the tool description. */
16
+ export function withAnnotationJustifications(description, annotations) {
17
+ const why = getToolAnnotationJustifications(annotations);
18
+ const block = [
19
+ `Read only (${annotations.readOnlyHint ? "true" : "false"}): ${why.readOnly}`,
20
+ `Open world (${annotations.openWorldHint ? "true" : "false"}): ${why.openWorld}`,
21
+ `Destructive (${annotations.destructiveHint ? "true" : "false"}): ${why.destructive}`,
22
+ ].join(" ");
23
+ const base = (description ?? "").trim();
24
+ if (base.includes("Read only (") && base.includes("Destructive (")) {
25
+ return base;
26
+ }
27
+ return base ? `${base} ${block}` : block;
28
+ }
29
+ //# sourceMappingURL=annotation-justifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-justifications.js","sourceRoot":"","sources":["../../src/tools/annotation-justifications.ts"],"names":[],"mappings":"AAYA,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAC7C,WAAgC;IAEhC,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,YAAY;YAChC,CAAC,CAAC,6GAA6G;YAC/G,CAAC,CAAC,wGAAwG;QAC5G,SAAS,EAAE,WAAW,CAAC,aAAa;YAClC,CAAC,CAAC,8GAA8G;YAChH,CAAC,CAAC,wIAAwI;QAC5I,WAAW,EAAE,WAAW,CAAC,eAAe;YACtC,CAAC,CAAC,2IAA2I;YAC7I,CAAC,CAAC,iJAAiJ;KACtJ,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAC1C,WAA+B,EAC/B,WAAgC;IAEhC,MAAM,GAAG,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG;QACZ,cAAc,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,QAAQ,EAAE;QAC7E,eAAe,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,SAAS,EAAE;QAChF,gBAAgB,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,WAAW,EAAE;KACtF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,57 @@
1
+ export declare const READ_ONLY_TOOL: {
2
+ title?: string | undefined;
3
+ readOnlyHint?: boolean | undefined;
4
+ destructiveHint?: boolean | undefined;
5
+ idempotentHint?: boolean | undefined;
6
+ openWorldHint?: boolean | undefined;
7
+ };
8
+ export declare const MUTATING_TOOL: {
9
+ title?: string | undefined;
10
+ readOnlyHint?: boolean | undefined;
11
+ destructiveHint?: boolean | undefined;
12
+ idempotentHint?: boolean | undefined;
13
+ openWorldHint?: boolean | undefined;
14
+ };
15
+ export declare const IDEMPOTENT_MUTATING_TOOL: {
16
+ title?: string | undefined;
17
+ readOnlyHint?: boolean | undefined;
18
+ destructiveHint?: boolean | undefined;
19
+ idempotentHint?: boolean | undefined;
20
+ openWorldHint?: boolean | undefined;
21
+ };
22
+ export declare const OPEN_WORLD_MUTATING_TOOL: {
23
+ title?: string | undefined;
24
+ readOnlyHint?: boolean | undefined;
25
+ destructiveHint?: boolean | undefined;
26
+ idempotentHint?: boolean | undefined;
27
+ openWorldHint?: boolean | undefined;
28
+ };
29
+ export declare const IDEMPOTENT_OPEN_WORLD_MUTATING_TOOL: {
30
+ title?: string | undefined;
31
+ readOnlyHint?: boolean | undefined;
32
+ destructiveHint?: boolean | undefined;
33
+ idempotentHint?: boolean | undefined;
34
+ openWorldHint?: boolean | undefined;
35
+ };
36
+ export declare const DESTRUCTIVE_TOOL: {
37
+ title?: string | undefined;
38
+ readOnlyHint?: boolean | undefined;
39
+ destructiveHint?: boolean | undefined;
40
+ idempotentHint?: boolean | undefined;
41
+ openWorldHint?: boolean | undefined;
42
+ };
43
+ export declare const OPEN_WORLD_DESTRUCTIVE_TOOL: {
44
+ title?: string | undefined;
45
+ readOnlyHint?: boolean | undefined;
46
+ destructiveHint?: boolean | undefined;
47
+ idempotentHint?: boolean | undefined;
48
+ openWorldHint?: boolean | undefined;
49
+ };
50
+ export declare const IDEMPOTENT_OPEN_WORLD_DESTRUCTIVE_TOOL: {
51
+ title?: string | undefined;
52
+ readOnlyHint?: boolean | undefined;
53
+ destructiveHint?: boolean | undefined;
54
+ idempotentHint?: boolean | undefined;
55
+ openWorldHint?: boolean | undefined;
56
+ };
57
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc;;;;;;CAAwC,CAAC;AACpE,eAAO,MAAM,aAAa;;;;;;CAA0C,CAAC;AACrE,eAAO,MAAM,wBAAwB;;;;;;CAAyC,CAAC;AAC/E,eAAO,MAAM,wBAAwB;;;;;;CAAyC,CAAC;AAC/E,eAAO,MAAM,mCAAmC;;;;;;CAK/C,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;;;CAAyC,CAAC;AACvE,eAAO,MAAM,2BAA2B;;;;;;CAAwC,CAAC;AACjF,eAAO,MAAM,sCAAsC;;;;;;CAKlD,CAAC"}
@@ -0,0 +1,19 @@
1
+ function annotations(readOnlyHint, destructiveHint, idempotentHint, openWorldHint) {
2
+ return {
3
+ readOnlyHint,
4
+ destructiveHint,
5
+ idempotentHint,
6
+ openWorldHint,
7
+ };
8
+ }
9
+ // Keep every hint explicit. OpenAI's plugin review asks for a justification for
10
+ // each advertised value, and omitted hints can be interpreted as unsafe defaults.
11
+ export const READ_ONLY_TOOL = annotations(true, false, true, false);
12
+ export const MUTATING_TOOL = annotations(false, false, false, false);
13
+ export const IDEMPOTENT_MUTATING_TOOL = annotations(false, false, true, false);
14
+ export const OPEN_WORLD_MUTATING_TOOL = annotations(false, false, false, true);
15
+ export const IDEMPOTENT_OPEN_WORLD_MUTATING_TOOL = annotations(false, false, true, true);
16
+ export const DESTRUCTIVE_TOOL = annotations(false, true, false, false);
17
+ export const OPEN_WORLD_DESTRUCTIVE_TOOL = annotations(false, true, false, true);
18
+ export const IDEMPOTENT_OPEN_WORLD_DESTRUCTIVE_TOOL = annotations(false, true, true, true);
19
+ //# sourceMappingURL=annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAEA,SAAS,WAAW,CAClB,YAAqB,EACrB,eAAwB,EACxB,cAAuB,EACvB,aAAsB;IAEtB,OAAO;QACL,YAAY;QACZ,eAAe;QACf,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,mCAAmC,GAAG,WAAW,CAC5D,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,sCAAsC,GAAG,WAAW,CAC/D,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQ3C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAqT9B"}
1
+ {"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,QA8T9B"}
@@ -1,9 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { canUse } from "../permissions.js";
3
+ import { DESTRUCTIVE_TOOL, IDEMPOTENT_MUTATING_TOOL, IDEMPOTENT_OPEN_WORLD_DESTRUCTIVE_TOOL, MUTATING_TOOL, READ_ONLY_TOOL } from "./annotations.js";
3
4
  export function registerCampaignTools(server, client, config, grantedPermissions) {
4
5
  if (canUse(grantedPermissions, ["campaign:read"])) {
5
6
  server.registerTool("migma_list_campaigns", {
6
7
  title: "List Campaigns",
8
+ annotations: READ_ONLY_TOOL,
7
9
  description: "List audience sends for a project (draft/scheduled/sent campaigns). These are not email designs. An empty list means nothing has been sent or queued to contacts — designed emails still live in migma_list_emails. Filter by status: draft, pending_review, scheduled, sending, throttled, ab_testing, sent, failed, cancelled.",
8
10
  inputSchema: z.object({
9
11
  projectId: z
@@ -39,6 +41,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
39
41
  if (canUse(grantedPermissions, ["campaign:write"])) {
40
42
  server.registerTool("migma_create_campaign", {
41
43
  title: "Create Campaign",
44
+ annotations: IDEMPOTENT_MUTATING_TOOL,
42
45
  description: "Create a campaign from a generated email. Use emailId for the exact email, especially series slots. The campaign starts in draft status; use migma_send_campaign or migma_schedule_campaign to send it.",
43
46
  inputSchema: z.object({
44
47
  projectId: z
@@ -105,6 +108,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
105
108
  if (canUse(grantedPermissions, ["campaign:write"])) {
106
109
  server.registerTool("migma_send_campaign", {
107
110
  title: "Send Campaign",
111
+ annotations: IDEMPOTENT_OPEN_WORLD_DESTRUCTIVE_TOOL,
108
112
  description: "Send a draft or scheduled campaign immediately. The campaign must be in 'draft' or 'scheduled' status.",
109
113
  inputSchema: z.object({
110
114
  campaignId: z.string().describe("Campaign ID to send"),
@@ -124,6 +128,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
124
128
  if (canUse(grantedPermissions, ["campaign:write"])) {
125
129
  server.registerTool("migma_schedule_campaign", {
126
130
  title: "Schedule Campaign",
131
+ annotations: IDEMPOTENT_OPEN_WORLD_DESTRUCTIVE_TOOL,
127
132
  description: "Schedule a campaign for future delivery. The scheduledAt time must be in the future.",
128
133
  inputSchema: z.object({
129
134
  campaignId: z.string().describe("Campaign ID to schedule"),
@@ -153,6 +158,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
153
158
  if (canUse(grantedPermissions, ["campaign:read"])) {
154
159
  server.registerTool("migma_get_campaign_stats", {
155
160
  title: "Get Campaign Stats",
161
+ annotations: READ_ONLY_TOOL,
156
162
  description: "Aggregated engagement metrics for a campaign: totalSent, totalDelivered, uniqueOpens/totalOpens, uniqueClicks/totalClicks, unsubscribes, bounces, openRate, clickRate (0-100), and lastUpdated. May include botOpens/botClicks/mppOpens (Apple Mail Privacy Protection and bot detection) when available. Stats are sourced from the tracking worker and may be cached or slightly stale.",
157
163
  inputSchema: z.object({
158
164
  campaignId: z.string().describe("Campaign ID to fetch stats for"),
@@ -167,6 +173,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
167
173
  if (canUse(grantedPermissions, ["campaign:read"])) {
168
174
  server.registerTool("migma_get_campaign_logs", {
169
175
  title: "Get Campaign Logs",
176
+ annotations: READ_ONLY_TOOL,
170
177
  description: "Per-recipient delivery logs for a campaign, cursor-paginated. Each row comes straight from the tracking worker's D1 table, so fields are snake_case: to_email, from_email, subject, status, opened_at, clicked_at, open_count, click_count, bounce_type, complaint_type, suppression_type, created_at. Returns { emails, nextCursor, hasMore }.",
171
178
  inputSchema: z.object({
172
179
  campaignId: z.string().describe("Campaign ID to fetch logs for"),
@@ -200,6 +207,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
200
207
  if (canUse(grantedPermissions, ["campaign:write"])) {
201
208
  server.registerTool("migma_cancel_campaign", {
202
209
  title: "Cancel Campaign",
210
+ annotations: DESTRUCTIVE_TOOL,
203
211
  description: "Cancel a scheduled campaign. Only campaigns with 'scheduled' status can be cancelled.",
204
212
  inputSchema: z.object({
205
213
  campaignId: z.string().describe("Campaign ID to cancel"),
@@ -214,6 +222,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
214
222
  if (canUse(grantedPermissions, ["campaign:write"])) {
215
223
  server.registerTool("migma_archive_campaign", {
216
224
  title: "Archive Campaign",
225
+ annotations: MUTATING_TOOL,
217
226
  description: "Archive a campaign to hide it from the default list. Works for any status.",
218
227
  inputSchema: z.object({
219
228
  campaignId: z.string().describe("Campaign ID to archive"),
@@ -229,6 +238,7 @@ export function registerCampaignTools(server, client, config, grantedPermissions
229
238
  if (canUse(grantedPermissions, ["campaign:write"])) {
230
239
  server.registerTool("migma_unarchive_campaign", {
231
240
  title: "Unarchive Campaign",
241
+ annotations: MUTATING_TOOL,
232
242
  description: "Unarchive a previously archived campaign, restoring it to the default list.",
233
243
  inputSchema: z.object({
234
244
  campaignId: z.string().describe("Campaign ID to unarchive"),
@@ -1 +1 @@
1
- {"version":3,"file":"campaigns.js","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaigns.js","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,sCAAsC,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOrJ,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,MAAa,EACb,MAAc,EACd,kBAA6B;IAE7B,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,kUAAkU;YACpU,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,6GAA6G,CAAC;gBAC1H,MAAM,EAAE,CAAC;qBACN,IAAI,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;qBACnH,QAAQ,EAAE;qBACV,QAAQ,CAAC,2BAA2B,CAAC;gBACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBACtE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;aACzF,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;YACrD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CACd,2FAA2F,CAC5F,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACgD,CAAC;YAE1E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,wBAAwB;YACrC,WAAW,EACT,yMAAyM;YAC3M,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,6GAA6G,CAAC;gBAC1H,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC1C,cAAc,EAAE,CAAC;qBACd,MAAM,EAAE;qBACR,QAAQ,CAAC,+CAA+C,CAAC;gBAC5D,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gFAAgF,CAAC;gBAC7F,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,6DAA6D,CAAC;gBAC1E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACjE,aAAa,EAAE,CAAC;qBACb,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;qBACzB,QAAQ,CAAC,uCAAuC,CAAC;gBACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;gBAC5E,YAAY,EAAE,CAAC;qBACZ,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;qBACvD,QAAQ,EAAE;qBACV,QAAQ,CAAC,iCAAiC,CAAC;gBAC9C,eAAe,EAAE,CAAC;qBACf,MAAM,EAAE;qBACR,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,kGAAkG,CACnG;aACJ,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;YACrD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CACd,2FAA2F,CAC5F,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,SAAS;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;aACwC,CAAC;YAE1E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CACnD,MAAM,EACN,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5E,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;YACE,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,sCAAsC;YACnD,WAAW,EACT,wGAAwG;YAC1G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACtD,eAAe,EAAE,CAAC;qBACf,MAAM,EAAE;qBACR,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,kGAAkG,CACnG;aACJ,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CACjD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5E,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;YACE,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,sCAAsC;YACnD,WAAW,EACT,sFAAsF;YACxF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBAC1D,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,QAAQ,CAAC,2DAA2D,CAAC;gBACxE,iBAAiB,EAAE,CAAC;qBACjB,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,yDAAyD,CAAC;gBACtE,eAAe,EAAE,CAAC;qBACf,MAAM,EAAE;qBACR,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,kGAAkG,CACnG;aACJ,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CACrD,IAAI,CAAC,UAAU,EACf;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5E,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;YACE,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,2XAA2X;YAC7X,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;aAClE,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;YACE,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,iVAAiV;YACnV,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAChE,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,GAAG,CAAC,CAAC,CAAC;qBACN,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,+CAA+C,CAAC;gBAC5D,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,yDAAyD,CAAC;gBACtE,MAAM,EAAE,CAAC;qBACN,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;qBACjE,QAAQ,EAAE;qBACV,QAAQ,CAAC,2CAA2C,CAAC;aACzD,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACnE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EACT,uFAAuF;YACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;aACzD,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,aAAa;YAC1B,WAAW,EACT,4EAA4E;YAC9E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aAC1D,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;YACE,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,aAAa;YAC1B,WAAW,EACT,6EAA6E;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;aAC5D,CAAC;SACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;SAC/D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -25,7 +25,7 @@ export declare const TOOL_CATALOG: ToolCatalogEntry[];
25
25
  export declare function getToolReviewAnnotations(name: string): ToolReviewAnnotations;
26
26
  export declare function getToolRequiredScopes(name: string): string[];
27
27
  export declare function getToolSecuritySchemes(name: string): OAuthSecurityScheme[];
28
- /** Ensure scanner-facing annotations come from one audited catalog. */
28
+ /** Prefer explicit per-tool annotations; fall back to catalog. Always attach OAuth scopes + justifications. */
29
29
  export declare function applyToolReviewMetadata(server: McpServer): void;
30
30
  export declare function registerCapabilitiesTool(server: McpServer): void;
31
31
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,gBAAgB,EAgF1C,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAY5E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA8B5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE1E;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA4CzD"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgCD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,gBAAgB,EAgF1C,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAa5E;AAeD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA8B5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE1E;AAED,+GAA+G;AAC/G,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiC/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA4CzD"}
@@ -1,11 +1,21 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { z } from "zod";
3
3
  import { WORKFLOWS } from "../prompts/index.js";
4
+ import { READ_ONLY_TOOL } from "./annotations.js";
5
+ import { getToolAnnotationJustifications, withAnnotationJustifications, } from "./annotation-justifications.js";
4
6
  const OPEN_WORLD_TOOL_NAMES = new Set([
7
+ "migma_import_brand",
8
+ "migma_generate_email",
5
9
  "migma_send_test_email",
10
+ "migma_edit_email",
6
11
  "migma_send_email",
7
12
  "migma_send_campaign",
8
13
  "migma_schedule_campaign",
14
+ "migma_create_managed_domain",
15
+ "migma_verify_domain",
16
+ "migma_provision_stream",
17
+ "migma_setup_domain",
18
+ "migma_create_webhook",
9
19
  "migma_test_webhook",
10
20
  ]);
11
21
  const DESTRUCTIVE_TOOL_NAMES = new Set([
@@ -13,12 +23,12 @@ const DESTRUCTIVE_TOOL_NAMES = new Set([
13
23
  "migma_edit_email",
14
24
  "migma_send_email",
15
25
  "migma_send_campaign",
26
+ "migma_schedule_campaign",
16
27
  "migma_cancel_campaign",
17
28
  "migma_remove_contact",
18
29
  "migma_batch_delete_contacts_by_email",
19
30
  "migma_delete_tag",
20
31
  "migma_delete_segment",
21
- "migma_test_webhook",
22
32
  "migma_delete_webhook",
23
33
  ]);
24
34
  /**
@@ -105,9 +115,19 @@ export function getToolReviewAnnotations(name) {
105
115
  readOnlyHint: !entry.write,
106
116
  destructiveHint: DESTRUCTIVE_TOOL_NAMES.has(name),
107
117
  openWorldHint: OPEN_WORLD_TOOL_NAMES.has(name),
108
- idempotentHint: entry.idempotent,
118
+ // Reads are always safe to retry. Writes use the catalog idempotency flag.
119
+ idempotentHint: entry.write ? entry.idempotent : true,
109
120
  };
110
121
  }
122
+ function hasCompleteAnnotations(annotations) {
123
+ if (!annotations || typeof annotations !== "object")
124
+ return false;
125
+ const value = annotations;
126
+ return (typeof value.readOnlyHint === "boolean" &&
127
+ typeof value.destructiveHint === "boolean" &&
128
+ typeof value.openWorldHint === "boolean" &&
129
+ typeof value.idempotentHint === "boolean");
130
+ }
111
131
  export function getToolRequiredScopes(name) {
112
132
  const entry = TOOL_CATALOG.find((tool) => tool.name === name);
113
133
  if (!entry) {
@@ -145,16 +165,29 @@ export function getToolRequiredScopes(name) {
145
165
  export function getToolSecuritySchemes(name) {
146
166
  return [{ type: "oauth2", scopes: getToolRequiredScopes(name) }];
147
167
  }
148
- /** Ensure scanner-facing annotations come from one audited catalog. */
168
+ /** Prefer explicit per-tool annotations; fall back to catalog. Always attach OAuth scopes + justifications. */
149
169
  export function applyToolReviewMetadata(server) {
150
170
  const registerTool = server.registerTool.bind(server);
151
171
  server.registerTool = ((name, config, callback) => {
152
- const existingMeta = config._meta;
172
+ const typed = config;
153
173
  const securitySchemes = getToolSecuritySchemes(name);
174
+ const annotations = hasCompleteAnnotations(typed.annotations)
175
+ ? typed.annotations
176
+ : getToolReviewAnnotations(name);
177
+ const justifications = getToolAnnotationJustifications(annotations);
154
178
  return registerTool(name, {
155
179
  ...config,
156
- annotations: getToolReviewAnnotations(name),
157
- _meta: { ...existingMeta, securitySchemes },
180
+ description: withAnnotationJustifications(typed.description, annotations),
181
+ annotations,
182
+ _meta: {
183
+ ...typed._meta,
184
+ securitySchemes,
185
+ justifications: {
186
+ read_only_justification: justifications.readOnly,
187
+ open_world_justification: justifications.openWorld,
188
+ destructive_justification: justifications.destructive,
189
+ },
190
+ },
158
191
  }, callback);
159
192
  });
160
193
  }
@@ -162,8 +195,8 @@ export function registerCapabilitiesTool(server) {
162
195
  const { version } = createRequire(import.meta.url)("../../package.json");
163
196
  server.registerTool("migma_get_capabilities", {
164
197
  title: "Get Capabilities",
198
+ annotations: READ_ONLY_TOOL,
165
199
  description: "Self-describe this server: the full tool catalog, guided workflows, idempotency contract, and brand-scoping rules. Call this first so you can plan a sequence of tool calls.",
166
- annotations: { readOnlyHint: true },
167
200
  inputSchema: z.object({}),
168
201
  }, async () => {
169
202
  const catalog = {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAyB,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAmY9B"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAyB,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAU3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,QA2Y9B"}
@@ -2,6 +2,7 @@ import { readFile } from "node:fs/promises";
2
2
  import { basename } from "node:path";
3
3
  import { z } from "zod";
4
4
  import { canUse } from "../permissions.js";
5
+ import { DESTRUCTIVE_TOOL, IDEMPOTENT_MUTATING_TOOL, MUTATING_TOOL, READ_ONLY_TOOL } from "./annotations.js";
5
6
  // The SDK client is JSON-only, so the CSV import tools talk to the multipart
6
7
  // /contacts/imports endpoint directly. Default mirrors the SDK's own base URL.
7
8
  const DEFAULT_BASE_URL = "https://api.migma.ai/v1";
@@ -9,6 +10,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
9
10
  if (canUse(grantedPermissions, ["audience:read"])) {
10
11
  server.registerTool("migma_list_contacts", {
11
12
  title: "List Contacts",
13
+ annotations: READ_ONLY_TOOL,
12
14
  description: "List contacts with optional filters. Supports pagination via page number.",
13
15
  inputSchema: z.object({
14
16
  projectId: z
@@ -54,6 +56,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
54
56
  if (canUse(grantedPermissions, ["audience:write"])) {
55
57
  server.registerTool("migma_add_contact", {
56
58
  title: "Add Contact",
59
+ annotations: IDEMPOTENT_MUTATING_TOOL,
57
60
  description: "Create a new contact/subscriber.",
58
61
  inputSchema: z.object({
59
62
  email: z.string().email().describe("Contact email address"),
@@ -103,6 +106,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
103
106
  if (canUse(grantedPermissions, ["audience:write"])) {
104
107
  server.registerTool("migma_bulk_import_contacts", {
105
108
  title: "Bulk Import Contacts",
109
+ annotations: IDEMPOTENT_MUTATING_TOOL,
106
110
  description: "Bulk import contacts from structured data. Use the CLI for large CSV files.",
107
111
  inputSchema: z.object({
108
112
  subscribers: z
@@ -153,6 +157,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
153
157
  if (canUse(grantedPermissions, ["audience:read"])) {
154
158
  server.registerTool("migma_get_contact", {
155
159
  title: "Get Contact",
160
+ annotations: READ_ONLY_TOOL,
156
161
  description: "Get detailed information about a contact by ID.",
157
162
  inputSchema: z.object({
158
163
  id: z.string().describe("Contact ID"),
@@ -175,6 +180,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
175
180
  if (canUse(grantedPermissions, ["audience:write"])) {
176
181
  server.registerTool("migma_remove_contact", {
177
182
  title: "Remove Contact",
183
+ annotations: DESTRUCTIVE_TOOL,
178
184
  description: "Delete a contact by ID.",
179
185
  inputSchema: z.object({
180
186
  id: z.string().describe("Contact ID"),
@@ -197,6 +203,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
197
203
  if (canUse(grantedPermissions, ["audience:write"])) {
198
204
  server.registerTool("migma_batch_delete_contacts_by_email", {
199
205
  title: "Batch Delete Contacts",
206
+ annotations: DESTRUCTIVE_TOOL,
200
207
  description: "Delete up to 1000 contacts by email in one call. Emails with no matching contact are returned in `notFound`, not treated as errors.",
201
208
  inputSchema: z.object({
202
209
  emails: z
@@ -226,6 +233,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
226
233
  if (canUse(grantedPermissions, ["audience:write"])) {
227
234
  server.registerTool("migma_create_contact_import", {
228
235
  title: "Create Contact Import",
236
+ annotations: MUTATING_TOOL,
229
237
  description: "Import contacts from a CSV file into a project. Provide either csvPath (a local file path) or csvContent (raw CSV text). The import runs in the background; poll migma_get_contact_import for status and counts.",
230
238
  inputSchema: z.object({
231
239
  projectId: z
@@ -311,6 +319,7 @@ export function registerContactTools(server, client, config, grantedPermissions)
311
319
  if (canUse(grantedPermissions, ["audience:read"])) {
312
320
  server.registerTool("migma_get_contact_import", {
313
321
  title: "Get Contact Import",
322
+ annotations: READ_ONLY_TOOL,
314
323
  description: "Get the status and counts of a CSV contact import created with migma_create_contact_import.",
315
324
  inputSchema: z.object({
316
325
  importId: z.string().describe("The import id returned by migma_create_contact_import."),