@apteva/integrations 0.3.39 → 0.3.43

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.
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "slug": "sendgrid",
3
3
  "name": "SendGrid",
4
- "description": "MCP server for SendGrid - emails, templates, campaigns, lists",
4
+ "description": "MCP server for SendGrid email delivery, templates, campaigns, contact lists, and analytics",
5
5
  "logo": "https://www.google.com/s2/favicons?domain=sendgrid.com&sz=128",
6
6
  "categories": [
7
7
  "email",
8
8
  "marketing",
9
9
  "transactional",
10
- "messaging"
10
+ "messaging",
11
+ "sendgrid",
12
+ "delivery",
13
+ "templates"
11
14
  ],
12
15
  "base_url": "https://api.sendgrid.com/v3",
13
16
  "auth": {
@@ -28,26 +31,73 @@
28
31
  "tools": [
29
32
  {
30
33
  "name": "send_email",
31
- "description": "Send an email",
34
+ "description": "Send an email via SendGrid",
32
35
  "method": "POST",
33
36
  "path": "/send-email",
34
37
  "input_schema": {
35
38
  "type": "object",
36
39
  "properties": {
37
40
  "to": {
38
- "type": "string"
41
+ "type": "array",
42
+ "description": "Recipient email addresses",
43
+ "items": {
44
+ "type": "object",
45
+ "properties": {
46
+ "email": {
47
+ "type": "string"
48
+ },
49
+ "name": {
50
+ "type": "string"
51
+ }
52
+ }
53
+ }
39
54
  },
40
55
  "from": {
41
- "type": "string"
56
+ "type": "object",
57
+ "description": "Sender information",
58
+ "properties": {
59
+ "email": {
60
+ "type": "string"
61
+ },
62
+ "name": {
63
+ "type": "string"
64
+ }
65
+ }
42
66
  },
43
67
  "subject": {
44
- "type": "string"
68
+ "type": "string",
69
+ "description": "Email subject"
45
70
  },
46
- "text": {
47
- "type": "string"
71
+ "content": {
72
+ "type": "array",
73
+ "description": "Email content",
74
+ "items": {
75
+ "type": "object",
76
+ "properties": {
77
+ "type": {
78
+ "type": "string"
79
+ },
80
+ "value": {
81
+ "type": "string"
82
+ }
83
+ }
84
+ }
48
85
  },
49
86
  "html": {
50
- "type": "string"
87
+ "type": "string",
88
+ "description": "HTML content"
89
+ },
90
+ "text": {
91
+ "type": "string",
92
+ "description": "Plain text content"
93
+ },
94
+ "template_id": {
95
+ "type": "string",
96
+ "description": "SendGrid template ID"
97
+ },
98
+ "dynamic_template_data": {
99
+ "type": "object",
100
+ "description": "Template variables"
51
101
  }
52
102
  },
53
103
  "required": [
@@ -57,6 +107,131 @@
57
107
  ]
58
108
  }
59
109
  },
110
+ {
111
+ "name": "create_template",
112
+ "description": "Create a new email template in SendGrid",
113
+ "method": "POST",
114
+ "path": "/create-template",
115
+ "input_schema": {
116
+ "type": "object",
117
+ "properties": {
118
+ "name": {
119
+ "type": "string",
120
+ "description": "Template name"
121
+ },
122
+ "generation": {
123
+ "type": "string",
124
+ "description": "Template generation",
125
+ "enum": [
126
+ "legacy",
127
+ "dynamic"
128
+ ],
129
+ "default": "dynamic"
130
+ }
131
+ },
132
+ "required": [
133
+ "name"
134
+ ]
135
+ }
136
+ },
137
+ {
138
+ "name": "get_templates",
139
+ "description": "Retrieve email templates from SendGrid",
140
+ "method": "GET",
141
+ "path": "/get-templates",
142
+ "input_schema": {
143
+ "type": "object",
144
+ "properties": {
145
+ "generations": {
146
+ "type": "string",
147
+ "description": "Template generation filter",
148
+ "enum": [
149
+ "legacy",
150
+ "dynamic"
151
+ ]
152
+ },
153
+ "page_size": {
154
+ "type": "integer",
155
+ "description": "Number of templates per page",
156
+ "default": 200,
157
+ "maximum": 200
158
+ }
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "name": "add_contact",
164
+ "description": "Add a contact to SendGrid",
165
+ "method": "GET",
166
+ "path": "/add-contact",
167
+ "input_schema": {
168
+ "type": "object",
169
+ "properties": {
170
+ "contacts": {
171
+ "type": "array",
172
+ "description": "Contact information",
173
+ "items": {
174
+ "type": "object",
175
+ "properties": {
176
+ "email": {
177
+ "type": "string"
178
+ },
179
+ "first_name": {
180
+ "type": "string"
181
+ },
182
+ "last_name": {
183
+ "type": "string"
184
+ },
185
+ "custom_fields": {
186
+ "type": "object"
187
+ }
188
+ }
189
+ }
190
+ },
191
+ "list_ids": {
192
+ "type": "array",
193
+ "description": "List IDs to add contacts to",
194
+ "items": {
195
+ "type": "string"
196
+ }
197
+ }
198
+ },
199
+ "required": [
200
+ "contacts"
201
+ ]
202
+ }
203
+ },
204
+ {
205
+ "name": "get_stats",
206
+ "description": "Retrieve email delivery statistics from SendGrid",
207
+ "method": "GET",
208
+ "path": "/get-stats",
209
+ "input_schema": {
210
+ "type": "object",
211
+ "properties": {
212
+ "start_date": {
213
+ "type": "string",
214
+ "description": "Start date (YYYY-MM-DD)"
215
+ },
216
+ "end_date": {
217
+ "type": "string",
218
+ "description": "End date (YYYY-MM-DD)"
219
+ },
220
+ "aggregated_by": {
221
+ "type": "string",
222
+ "description": "Aggregation method",
223
+ "enum": [
224
+ "day",
225
+ "week",
226
+ "month"
227
+ ]
228
+ }
229
+ },
230
+ "required": [
231
+ "start_date"
232
+ ]
233
+ }
234
+ },
60
235
  {
61
236
  "name": "send_template",
62
237
  "description": "Send using a template",
@@ -136,29 +311,6 @@
136
311
  ]
137
312
  }
138
313
  },
139
- {
140
- "name": "get_stats",
141
- "description": "Get email statistics",
142
- "method": "GET",
143
- "path": "/get-stats",
144
- "input_schema": {
145
- "type": "object",
146
- "properties": {
147
- "start_date": {
148
- "type": "string"
149
- },
150
- "end_date": {
151
- "type": "string"
152
- },
153
- "aggregated_by": {
154
- "type": "string"
155
- }
156
- },
157
- "required": [
158
- "start_date"
159
- ]
160
- }
161
- },
162
314
  {
163
315
  "name": "verify_sender",
164
316
  "description": "Verify sender identity",
@@ -187,5 +339,46 @@
187
339
  ]
188
340
  }
189
341
  }
190
- ]
342
+ ],
343
+ "webhooks": {
344
+ "signature_header": "x-sendgrid-signature",
345
+ "events": [
346
+ {
347
+ "name": "email.processed",
348
+ "description": "Email accepted for delivery"
349
+ },
350
+ {
351
+ "name": "email.delivered",
352
+ "description": "Email delivered to recipient"
353
+ },
354
+ {
355
+ "name": "email.opened",
356
+ "description": "Email opened by recipient"
357
+ },
358
+ {
359
+ "name": "email.clicked",
360
+ "description": "Link clicked in email"
361
+ },
362
+ {
363
+ "name": "email.bounced",
364
+ "description": "Email bounced"
365
+ },
366
+ {
367
+ "name": "email.dropped",
368
+ "description": "Email dropped (suppressed)"
369
+ },
370
+ {
371
+ "name": "email.deferred",
372
+ "description": "Email delivery deferred"
373
+ },
374
+ {
375
+ "name": "email.spam_report",
376
+ "description": "Email marked as spam"
377
+ },
378
+ {
379
+ "name": "email.unsubscribe",
380
+ "description": "Recipient unsubscribed"
381
+ }
382
+ ]
383
+ }
191
384
  }
@@ -205,7 +205,7 @@
205
205
  },
206
206
  {
207
207
  "name": "create_post",
208
- "description": "Create and publish a post to one or more connected social media platforms simultaneously. Supports text, images, videos, and links.\n\nMedia capabilities per platform:\n- Instagram: Single image, single video (Reel), or CAROUSEL (2-10 images/videos mixed). Pass multiple items in media_urls for carousel.\n- Facebook: Text, single image, MULTI-PHOTO (2+ images posted as album), single video, or link post.\n- Twitter/X: Text with up to 4 media attachments (images, GIFs, or 1 video). Media is uploaded automatically.\n- TikTok: Single video or PHOTO CAROUSEL (up to 35 images). Use overrides for privacy, comments, music.\n- YouTube: Single video upload with title, description, tags, privacy.\n- Pinterest: Single image with title, description, board, and link.\n- Reddit: Text (self) or link post to a subreddit.\n- LinkedIn: Text post with optional visibility setting.\n- Telegram: Text or single image with optional parse mode.\n\nTo schedule a post for later, set scheduled_for to an ISO 8601 timestamp and optionally timezone (e.g., 'America/New_York').",
208
+ "description": "Create and publish a post to one or more connected social media platforms simultaneously. Supports text, images, videos, and links.\n\nMedia capabilities per platform:\n- Instagram: Single image, single video (Reel), or CAROUSEL (2-10 images/videos mixed). Pass multiple items in media_urls for carousel.\n- Facebook: Text, single image, MULTI-PHOTO (2+ images posted as album), single video, or link post.\n- Twitter/X: Text with up to 4 media attachments (images, GIFs, or 1 video). Media is uploaded automatically.\n- TikTok: Single video or PHOTO CAROUSEL (up to 35 images). Use overrides for privacy, comments, music.\n- YouTube: Single video upload with title, description, tags, privacy.\n- Pinterest: Single image with title, description, board, and link.\n- Reddit: Text (self) or link post to a subreddit.\n- LinkedIn: Text post with optional visibility setting.\n- Telegram: Text or single image with optional parse mode.\n\nTo schedule a post for later, set scheduled_for to an ISO 8601 timestamp and optionally timezone (e.g., 'America/New_York'). IMPORTANT: Each call only accepts a single scheduled_for time that applies to ALL account_ids in that call. To schedule the same content at different times for different platforms (e.g., Instagram at 9am and Twitter at 12pm), you MUST make separate create_post calls — one per unique scheduled time, each with only the account_ids for that time slot.",
209
209
  "method": "POST",
210
210
  "path": "/posts",
211
211
  "input_schema": {
@@ -730,6 +730,18 @@
730
730
  ],
731
731
  "webhooks": {
732
732
  "signature_header": "x-webhook-signature",
733
+ "registration": {
734
+ "method": "POST",
735
+ "path": "/webhooks-register",
736
+ "url_field": "endpoint_url",
737
+ "events_field": "event_types",
738
+ "secret_field": "secret_key",
739
+ "id_field": "id",
740
+ "delete_path": "/webhooks/{id}",
741
+ "delete_method": "DELETE",
742
+ "list_path": "/webhooks",
743
+ "list_field": "data"
744
+ },
733
745
  "events": [
734
746
  {
735
747
  "name": "social.comment.received",