@sendinel/mcp-server 1.0.3 → 1.0.5

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 (60) hide show
  1. package/build/audit.d.ts +1 -0
  2. package/build/audit.js +9 -3
  3. package/build/auth.d.ts +10 -0
  4. package/build/auth.js +82 -9
  5. package/build/db.d.ts +12 -0
  6. package/build/db.js +37 -2
  7. package/build/index.js +38 -12
  8. package/build/lib/action-approvals.d.ts +28 -1
  9. package/build/lib/action-approvals.js +89 -2
  10. package/build/lib/brand-asset-persist.d.ts +35 -0
  11. package/build/lib/brand-asset-persist.js +161 -0
  12. package/build/lib/brand-asset-usage.d.ts +13 -0
  13. package/build/lib/brand-asset-usage.js +46 -0
  14. package/build/lib/email-provider.d.ts +19 -0
  15. package/build/lib/email-provider.js +281 -0
  16. package/build/lib/ssrf-pinned-fetch.d.ts +16 -0
  17. package/build/lib/ssrf-pinned-fetch.js +101 -0
  18. package/build/lib/survey-link-resolver.d.ts +6 -0
  19. package/build/lib/survey-link-resolver.js +23 -0
  20. package/build/lib/svg-sanitize.d.ts +2 -0
  21. package/build/lib/svg-sanitize.js +110 -0
  22. package/build/lib/webhook-events.d.ts +1 -1
  23. package/build/scoped-token.d.ts +11 -0
  24. package/build/scoped-token.js +59 -0
  25. package/build/server.js +30 -9
  26. package/build/tools/ab-testing.js +28 -0
  27. package/build/tools/advisor.js +52 -2
  28. package/build/tools/ai-work.d.ts +2 -0
  29. package/build/tools/ai-work.js +460 -0
  30. package/build/tools/analytics.d.ts +1 -0
  31. package/build/tools/analytics.js +203 -0
  32. package/build/tools/approvals.js +15 -1
  33. package/build/tools/automations.js +288 -65
  34. package/build/tools/brand-kit.d.ts +2 -0
  35. package/build/tools/brand-kit.js +277 -0
  36. package/build/tools/campaigns.js +900 -69
  37. package/build/tools/compound.js +28 -0
  38. package/build/tools/contacts.js +338 -17
  39. package/build/tools/content.js +266 -1
  40. package/build/tools/data-proposals.js +21 -0
  41. package/build/tools/data.js +121 -5
  42. package/build/tools/delivery-ops.js +84 -0
  43. package/build/tools/drafts.js +64 -1
  44. package/build/tools/forms.js +42 -9
  45. package/build/tools/gdpr.js +22 -3
  46. package/build/tools/newsletters.d.ts +2 -0
  47. package/build/tools/newsletters.js +583 -0
  48. package/build/tools/org.js +297 -3
  49. package/build/tools/segments.js +45 -3
  50. package/build/tools/short-links.d.ts +2 -0
  51. package/build/tools/short-links.js +157 -0
  52. package/build/tools/sites.js +35 -0
  53. package/build/tools/sms.js +49 -0
  54. package/build/tools/social-posts.js +81 -5
  55. package/build/tools/surveys.d.ts +2 -0
  56. package/build/tools/surveys.js +222 -0
  57. package/build/tools/templates.js +78 -2
  58. package/build/tools/warmup.js +28 -0
  59. package/build/tools/webhooks.js +29 -0
  60. package/package.json +10 -4
@@ -25,6 +25,13 @@ function extractJsonObject(raw) {
25
25
  }
26
26
  export function registerCompoundTools(server) {
27
27
  server.registerTool('setup_campaign_from_brief', {
28
+ title: 'Setup Campaign From Brief',
29
+ annotations: {
30
+ readOnlyHint: false,
31
+ destructiveHint: false,
32
+ idempotentHint: false,
33
+ openWorldHint: true,
34
+ },
28
35
  description: 'Create a complete campaign from a brief: AI-generate steps, create a template, create the campaign, and add all campaign steps.',
29
36
  inputSchema: {
30
37
  site_id: z.string().uuid(),
@@ -120,6 +127,13 @@ Respond with a JSON array.`,
120
127
  });
121
128
  });
122
129
  server.registerTool('create_template_from_brief', {
130
+ title: 'Create Template From Brief',
131
+ annotations: {
132
+ readOnlyHint: false,
133
+ destructiveHint: false,
134
+ idempotentHint: false,
135
+ openWorldHint: true,
136
+ },
123
137
  description: 'AI-generate a polished email template from a brief, using the site brand voice.',
124
138
  inputSchema: {
125
139
  site_id: z.string().uuid(),
@@ -170,6 +184,13 @@ Respond with JSON: { "subject": "...", "body_html": "...", "body_text": "..." }`
170
184
  return j({ ok: true, template, preview: generated });
171
185
  });
172
186
  server.registerTool('diagnose_delivery_issue', {
187
+ title: 'Diagnose Delivery Issue',
188
+ annotations: {
189
+ readOnlyHint: true,
190
+ destructiveHint: false,
191
+ idempotentHint: true,
192
+ openWorldHint: false,
193
+ },
173
194
  description: 'Run a delivery audit across cron health, queue status, send DLQ, and domain health, then summarize likely root causes.',
174
195
  inputSchema: {
175
196
  site_id: z.string().uuid().optional(),
@@ -230,6 +251,13 @@ Identify the most likely root cause and give 3-5 concise actionable next steps.`
230
251
  });
231
252
  });
232
253
  server.registerTool('onboard_new_site', {
254
+ title: 'Onboard New Site',
255
+ annotations: {
256
+ readOnlyHint: false,
257
+ destructiveHint: false,
258
+ idempotentHint: false,
259
+ openWorldHint: false,
260
+ },
233
261
  description: 'Create a new site, register a sending domain, and return warmup guidance plus a next-step checklist.',
234
262
  inputSchema: {
235
263
  name: z.string().min(1),