@sendinel/mcp-server 1.0.44 → 1.0.45

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.
package/README.md CHANGED
@@ -12,7 +12,7 @@ AI-controlled email operations control plane for campaigns, contacts, segments,
12
12
 
13
13
  ## Tool groups
14
14
 
15
- Sendinel currently exposes 34 tool groups and 319 tools (gateway mode adds 3 meta-tools). These counts are checked against the tool registry in CI, so this table matches what ships.
15
+ Sendinel currently exposes 34 tool groups and 320 tools (gateway mode adds 3 meta-tools). These counts are checked against the tool registry in CI, so this table matches what ships.
16
16
 
17
17
  | Group | Count | Purpose |
18
18
  |-------|-------|---------|
@@ -38,7 +38,7 @@ Sendinel currently exposes 34 tool groups and 319 tools (gateway mode adds 3 met
38
38
  | `landing-pages` | 5 | Landing page CRUD |
39
39
  | `lists` | 7 | Static contact lists and membership management |
40
40
  | `newsletters` | 12 | Newsletter publications, issues, subscribers, scheduling, sending, stats |
41
- | `org` | 20 | Team members, plan usage/limits, audit log, model registry, white-label, provider switching |
41
+ | `org` | 21 | Team members, plan usage/limits, audit log, model registry, white-label, support tickets, provider switching |
42
42
  | `segments` | 6 | Audience builder: create, edit, natural-language generation, preview |
43
43
  | `short-links` | 3 | Short links, click stats, QR codes |
44
44
  | `signatures` | 4 | Sending signature blocks |
package/build/server.js CHANGED
@@ -109,7 +109,7 @@ const WRITE_TOOLS = new Set([
109
109
  'set_active_project',
110
110
  'resend_invitation', 'revoke_invitation',
111
111
  'create_landing_page', 'update_landing_page', 'delete_landing_page',
112
- 'start_provider_switch', 'get_provider_switch_status', 'rollback_provider_switch',
112
+ 'submit_support_ticket', 'start_provider_switch', 'get_provider_switch_status', 'rollback_provider_switch',
113
113
  'create_api_key', 'revoke_api_key', 'mark_notifications_read',
114
114
  'migrate_campaigns_from', 'start_platform_migration',
115
115
  'create_content_block', 'delete_content_block', 'trigger_content_pipeline',
@@ -834,6 +834,29 @@ export function registerOrgTools(server) {
834
834
  note: 'The domain is stored but will not resolve to this org until DNS/certificate verification marks custom_domain_verified true.',
835
835
  });
836
836
  });
837
+ server.registerTool('submit_support_ticket', {
838
+ title: 'Submit Support Ticket',
839
+ annotations: {
840
+ readOnlyHint: false,
841
+ destructiveHint: false,
842
+ idempotentHint: false,
843
+ openWorldHint: false,
844
+ },
845
+ description: 'Get help by filing a support ticket on the tenant\'s behalf as a bug report, feature request, or feedback. Uses the same support pipeline as the dashboard.',
846
+ inputSchema: {
847
+ title: z.string().min(1).max(200),
848
+ description: z.string().min(1),
849
+ type: z.enum(['bug', 'feature', 'feedback', 'other']).optional(),
850
+ priority: z.enum(['low', 'medium', 'high', 'critical']).optional(),
851
+ page_context: z.record(z.string(), z.unknown()).optional(),
852
+ },
853
+ }, async ({ title, description, type, priority, page_context }) => {
854
+ const result = await callSendinelV1('/api/v1/support/tickets', {
855
+ method: 'POST',
856
+ body: { title, description, type, priority, page_context },
857
+ });
858
+ return result.ok ? j(result.data) : j({ error: result.error });
859
+ });
837
860
  server.registerTool('start_provider_switch', {
838
861
  title: 'Start Provider Switch',
839
862
  annotations: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendinel/mcp-server",
3
- "version": "1.0.44",
3
+ "version": "1.0.45",
4
4
  "description": "AI-controlled email operations control plane for campaigns, contacts, segments, analytics, and multi-provider sending via MCP.",
5
5
  "mcpName": "ai.sendinel/mcp-server",
6
6
  "type": "module",