@apteva/integrations 0.2.3 → 0.3.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 (236) hide show
  1. package/package.json +1 -1
  2. package/src/apps/activecampaign.json +209 -0
  3. package/src/apps/activecollab.json +417 -0
  4. package/src/apps/airtable.json +235 -0
  5. package/src/apps/alpaca-trading.json +1554 -0
  6. package/src/apps/amadeus.json +225 -0
  7. package/src/apps/anthropic-api.json +96 -0
  8. package/src/apps/apify.json +203 -0
  9. package/src/apps/apollo.json +748 -0
  10. package/src/apps/apple-podcasts.json +116 -0
  11. package/src/apps/archive-api.json +104 -0
  12. package/src/apps/archive.json +151 -0
  13. package/src/apps/arduino-cloud.json +301 -0
  14. package/src/apps/arest.json +492 -0
  15. package/src/apps/asana.json +184 -0
  16. package/src/apps/ashby.json +176 -0
  17. package/src/apps/assemblyai.json +163 -0
  18. package/src/apps/attio.json +243 -0
  19. package/src/apps/aws-cloudfront.json +132 -0
  20. package/src/apps/aws-dynamodb.json +295 -0
  21. package/src/apps/aws-ec2.json +184 -0
  22. package/src/apps/aws-lambda.json +361 -0
  23. package/src/apps/aws-route53.json +110 -0
  24. package/src/apps/aws-s3.json +303 -0
  25. package/src/apps/aws-ses.json +556 -0
  26. package/src/apps/aws-sns.json +217 -0
  27. package/src/apps/aws-sqs.json +234 -0
  28. package/src/apps/axiom.json +123 -0
  29. package/src/apps/beehiiv.json +252 -0
  30. package/src/apps/binance-trading.json +555 -0
  31. package/src/apps/bitly.json +175 -0
  32. package/src/apps/bloobirds.json +246 -0
  33. package/src/apps/bluesky.json +201 -0
  34. package/src/apps/blynk.json +316 -0
  35. package/src/apps/booking-com.json +144 -0
  36. package/src/apps/box.json +289 -0
  37. package/src/apps/brevo.json +1423 -0
  38. package/src/apps/browse-ai.json +148 -0
  39. package/src/apps/bunny-cdn.json +330 -0
  40. package/src/apps/bunny-stream.json +387 -0
  41. package/src/apps/cal-com.json +240 -0
  42. package/src/apps/calendly.json +578 -0
  43. package/src/apps/calflow-calendar.json +706 -0
  44. package/src/apps/callrail.json +190 -0
  45. package/src/apps/canva.json +197 -0
  46. package/src/apps/cartesia.json +201 -0
  47. package/src/apps/castbase.json +753 -0
  48. package/src/apps/chargebee.json +226 -0
  49. package/src/apps/cleanster.json +359 -0
  50. package/src/apps/clicksend.json +278 -0
  51. package/src/apps/clickup.json +266 -0
  52. package/src/apps/clipkit.json +517 -0
  53. package/src/apps/close.json +359 -0
  54. package/src/apps/cloudflare.json +329 -0
  55. package/src/apps/cloudinary.json +164 -0
  56. package/src/apps/coda.json +288 -0
  57. package/src/apps/cohere.json +158 -0
  58. package/src/apps/coinbase.json +268 -0
  59. package/src/apps/composio.json +146 -0
  60. package/src/apps/confluence.json +270 -0
  61. package/src/apps/consensus.json +879 -0
  62. package/src/apps/contabo.json +733 -0
  63. package/src/apps/convertkit.json +211 -0
  64. package/src/apps/core-image.json +426 -0
  65. package/src/apps/core-video.json +1246 -0
  66. package/src/apps/craftcloud.json +298 -0
  67. package/src/apps/datadog.json +401 -0
  68. package/src/apps/dataforseo.json +1273 -0
  69. package/src/apps/deepseek.json +150 -0
  70. package/src/apps/dialpad.json +229 -0
  71. package/src/apps/discord.json +239 -0
  72. package/src/apps/dnsimple.json +405 -0
  73. package/src/apps/docusign.json +214 -0
  74. package/src/apps/docx.json +282 -0
  75. package/src/apps/dropbox.json +185 -0
  76. package/src/apps/duffel.json +231 -0
  77. package/src/apps/dux-soup.json +694 -0
  78. package/src/apps/dynadot.json +250 -0
  79. package/src/apps/elevenlabs.json +327 -0
  80. package/src/apps/eventbrite-events.json +598 -0
  81. package/src/apps/facebook-ads.json +1399 -0
  82. package/src/apps/facebook-api.json +282 -0
  83. package/src/apps/fal-ai.json +400 -0
  84. package/src/apps/fathom.json +86 -0
  85. package/src/apps/figma.json +162 -0
  86. package/src/apps/filestack.json +159 -0
  87. package/src/apps/firebase.json +271 -0
  88. package/src/apps/firecrawl.json +278 -0
  89. package/src/apps/folk.json +564 -0
  90. package/src/apps/forecast-app.json +377 -0
  91. package/src/apps/freshdesk.json +283 -0
  92. package/src/apps/gemini.json +528 -0
  93. package/src/apps/ghost.json +439 -0
  94. package/src/apps/gigs-marketplace.json +1442 -0
  95. package/src/apps/github.json +1479 -47
  96. package/src/apps/gitlab.json +448 -0
  97. package/src/apps/gmail.json +839 -28
  98. package/src/apps/gohighlevel.json +596 -0
  99. package/src/apps/google-ads.json +270 -0
  100. package/src/apps/google-calendar.json +996 -36
  101. package/src/apps/google-docs.json +278 -0
  102. package/src/apps/google-drive.json +360 -0
  103. package/src/apps/google-maps.json +473 -0
  104. package/src/apps/google-sheets.json +330 -0
  105. package/src/apps/gooten.json +411 -0
  106. package/src/apps/gravity-forms.json +385 -0
  107. package/src/apps/gusto.json +171 -0
  108. package/src/apps/hackernews.json +221 -0
  109. package/src/apps/harmonic.json +86 -0
  110. package/src/apps/helpscout.json +664 -0
  111. package/src/apps/hetzner.json +658 -0
  112. package/src/apps/heygen.json +184 -0
  113. package/src/apps/heyreach.json +388 -0
  114. package/src/apps/hospitable.json +340 -0
  115. package/src/apps/hostinger.json +374 -0
  116. package/src/apps/hubspot.json +682 -0
  117. package/src/apps/huggingface.json +97 -0
  118. package/src/apps/hunter.json +504 -0
  119. package/src/apps/ig-trading.json +849 -0
  120. package/src/apps/imaterialise.json +349 -0
  121. package/src/apps/instagram-api.json +538 -0
  122. package/src/apps/intercom.json +648 -0
  123. package/src/apps/jira.json +226 -0
  124. package/src/apps/klaviyo.json +199 -0
  125. package/src/apps/kling-ai.json +206 -0
  126. package/src/apps/kraken.json +870 -0
  127. package/src/apps/late.json +1056 -0
  128. package/src/apps/leadpages.json +243 -0
  129. package/src/apps/learning-platform.json +2244 -0
  130. package/src/apps/linear.json +184 -57
  131. package/src/apps/linkedin.json +179 -0
  132. package/src/apps/listen-notes.json +136 -0
  133. package/src/apps/lnk-bio.json +125 -0
  134. package/src/apps/loom.json +188 -0
  135. package/src/apps/luma.json +280 -0
  136. package/src/apps/mailchimp.json +238 -0
  137. package/src/apps/mailgun.json +310 -0
  138. package/src/apps/manychat.json +312 -0
  139. package/src/apps/marin-software.json +843 -0
  140. package/src/apps/media-downloader.json +157 -0
  141. package/src/apps/meetup-events.json +361 -0
  142. package/src/apps/meshy.json +248 -0
  143. package/src/apps/microsoft-teams.json +162 -0
  144. package/src/apps/monday.json +213 -0
  145. package/src/apps/mongodb-atlas.json +467 -0
  146. package/src/apps/namecheap.json +252 -0
  147. package/src/apps/nexar.json +289 -0
  148. package/src/apps/notion.json +530 -50
  149. package/src/apps/omnikit-analytics.json +374 -0
  150. package/src/apps/omnikit-api-gateway.json +660 -0
  151. package/src/apps/omnikit-billing.json +1781 -0
  152. package/src/apps/omnikit-cms.json +899 -0
  153. package/src/apps/omnikit-functions.json +329 -0
  154. package/src/apps/omnikit-intelligence.json +650 -0
  155. package/src/apps/omnikit-management.json +214 -0
  156. package/src/apps/omnikit-media.json +646 -0
  157. package/src/apps/omnikit-messaging.json +1826 -0
  158. package/src/apps/omnikit-redirects.json +209 -0
  159. package/src/apps/omnikit-webhooks.json +269 -0
  160. package/src/apps/omnikit-workflows.json +323 -0
  161. package/src/apps/openai-api.json +462 -0
  162. package/src/apps/openmeteo-weather.json +75 -0
  163. package/src/apps/optinmonster.json +244 -0
  164. package/src/apps/paidkit.json +1218 -0
  165. package/src/apps/paypal.json +254 -0
  166. package/src/apps/pdf.json +366 -0
  167. package/src/apps/pipedrive.json +255 -0
  168. package/src/apps/polymarket.json +653 -0
  169. package/src/apps/porkbun.json +417 -0
  170. package/src/apps/portfolio.json +501 -0
  171. package/src/apps/postmark.json +257 -0
  172. package/src/apps/printful.json +273 -0
  173. package/src/apps/printify.json +295 -0
  174. package/src/apps/producthunt.json +346 -0
  175. package/src/apps/pushover-notifications.json +113 -0
  176. package/src/apps/qonto.json +366 -0
  177. package/src/apps/quickbooks.json +234 -0
  178. package/src/apps/replicate.json +106 -0
  179. package/src/apps/rss.json +281 -0
  180. package/src/apps/salesflow.json +538 -0
  181. package/src/apps/salesforce-crm.json +216 -0
  182. package/src/apps/sap.json +256 -0
  183. package/src/apps/scaleway.json +911 -0
  184. package/src/apps/sculpteo.json +234 -0
  185. package/src/apps/sendgrid-email.json +233 -0
  186. package/src/apps/sendgrid.json +160 -35
  187. package/src/apps/shapeways.json +188 -0
  188. package/src/apps/shopify.json +1217 -0
  189. package/src/apps/skai.json +779 -0
  190. package/src/apps/slack.json +228 -38
  191. package/src/apps/slant3d.json +231 -0
  192. package/src/apps/slides.json +760 -0
  193. package/src/apps/smartly.json +504 -0
  194. package/src/apps/snov.json +467 -0
  195. package/src/apps/socialcast.json +553 -63
  196. package/src/apps/square.json +274 -0
  197. package/src/apps/storage-management.json +788 -0
  198. package/src/apps/storylane.json +180 -0
  199. package/src/apps/strapi.json +338 -0
  200. package/src/apps/stripe-payments.json +847 -0
  201. package/src/apps/stripe.json +472 -35
  202. package/src/apps/supabase.json +169 -0
  203. package/src/apps/supademo.json +115 -0
  204. package/src/apps/taskflow.json +714 -0
  205. package/src/apps/teamwork.json +457 -0
  206. package/src/apps/telegram.json +444 -0
  207. package/src/apps/thinger.json +458 -0
  208. package/src/apps/ticktick.json +169 -0
  209. package/src/apps/tiktok-api.json +406 -0
  210. package/src/apps/todoist.json +151 -0
  211. package/src/apps/together.json +123 -0
  212. package/src/apps/torrent.json +267 -0
  213. package/src/apps/trading.json +1012 -0
  214. package/src/apps/trading212.json +383 -0
  215. package/src/apps/trello.json +205 -0
  216. package/src/apps/tripo.json +157 -0
  217. package/src/apps/twilio.json +1008 -0
  218. package/src/apps/twitter-ads.json +875 -0
  219. package/src/apps/twitter-api.json +1151 -0
  220. package/src/apps/twitterapiio.json +548 -0
  221. package/src/apps/typeform.json +210 -0
  222. package/src/apps/vidforge.json +1020 -0
  223. package/src/apps/vonage.json +394 -0
  224. package/src/apps/vultr.json +225 -0
  225. package/src/apps/webflow.json +223 -0
  226. package/src/apps/wise.json +273 -0
  227. package/src/apps/wistia.json +283 -0
  228. package/src/apps/woocommerce.json +288 -0
  229. package/src/apps/wordpress.json +1675 -0
  230. package/src/apps/xero.json +257 -0
  231. package/src/apps/youtube-api.json +861 -0
  232. package/src/apps/zendesk.json +295 -0
  233. package/src/apps/zite.json +173 -0
  234. package/src/apps/zoho-crm.json +386 -0
  235. package/src/apps/zoo.json +193 -0
  236. package/src/apps/zoom.json +334 -0
@@ -0,0 +1,467 @@
1
+ {
2
+ "slug": "mongodb-atlas",
3
+ "name": "MongoDB Atlas",
4
+ "description": "MCP server for MongoDB Atlas operations - projects, clusters, databases, and data operations",
5
+ "logo": "https://www.google.com/s2/favicons?domain=mongodb.com&sz=128",
6
+ "categories": [
7
+ "database",
8
+ "mongodb",
9
+ "atlas",
10
+ "nosql",
11
+ "cloud"
12
+ ],
13
+ "base_url": "https://cloud.mongodb.com/api/atlas/v2",
14
+ "auth": {
15
+ "types": [
16
+ "bearer"
17
+ ],
18
+ "headers": {
19
+ "Authorization": "Bearer {{token}}"
20
+ },
21
+ "credential_fields": [
22
+ {
23
+ "name": "token",
24
+ "label": "API Key"
25
+ }
26
+ ]
27
+ },
28
+ "tools": [
29
+ {
30
+ "name": "list_projects",
31
+ "description": "List projects from MongoDB Atlas",
32
+ "method": "GET",
33
+ "path": "/list-projects",
34
+ "input_schema": {
35
+ "type": "object",
36
+ "properties": {
37
+ "pageNum": {
38
+ "type": "number",
39
+ "description": "Page number",
40
+ "default": 1
41
+ },
42
+ "itemsPerPage": {
43
+ "type": "number",
44
+ "description": "Items per page",
45
+ "default": 100
46
+ }
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "name": "get_project",
52
+ "description": "Get a specific project from MongoDB Atlas",
53
+ "method": "GET",
54
+ "path": "/get-project",
55
+ "input_schema": {
56
+ "type": "object",
57
+ "properties": {
58
+ "projectId": {
59
+ "type": "string",
60
+ "description": "Project ID"
61
+ }
62
+ },
63
+ "required": [
64
+ "projectId"
65
+ ]
66
+ }
67
+ },
68
+ {
69
+ "name": "list_clusters",
70
+ "description": "List clusters in a MongoDB Atlas project",
71
+ "method": "GET",
72
+ "path": "/list-clusters",
73
+ "input_schema": {
74
+ "type": "object",
75
+ "properties": {
76
+ "projectId": {
77
+ "type": "string",
78
+ "description": "Project ID"
79
+ },
80
+ "pageNum": {
81
+ "type": "number",
82
+ "description": "Page number",
83
+ "default": 1
84
+ },
85
+ "itemsPerPage": {
86
+ "type": "number",
87
+ "description": "Items per page",
88
+ "default": 100
89
+ }
90
+ },
91
+ "required": [
92
+ "projectId"
93
+ ]
94
+ }
95
+ },
96
+ {
97
+ "name": "get_cluster",
98
+ "description": "Get a specific cluster from MongoDB Atlas",
99
+ "method": "GET",
100
+ "path": "/get-cluster",
101
+ "input_schema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "projectId": {
105
+ "type": "string",
106
+ "description": "Project ID"
107
+ },
108
+ "clusterName": {
109
+ "type": "string",
110
+ "description": "Cluster name"
111
+ }
112
+ },
113
+ "required": [
114
+ "projectId",
115
+ "clusterName"
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "name": "create_cluster",
121
+ "description": "Create a new cluster in MongoDB Atlas",
122
+ "method": "POST",
123
+ "path": "/create-cluster",
124
+ "input_schema": {
125
+ "type": "object",
126
+ "properties": {
127
+ "projectId": {
128
+ "type": "string",
129
+ "description": "Project ID"
130
+ },
131
+ "name": {
132
+ "type": "string",
133
+ "description": "Cluster name"
134
+ },
135
+ "clusterType": {
136
+ "type": "string",
137
+ "description": "Cluster type",
138
+ "default": "REPLICASET"
139
+ },
140
+ "replicationSpecs": {
141
+ "type": "array",
142
+ "description": "Replication specs"
143
+ },
144
+ "providerSettings": {
145
+ "type": "object",
146
+ "description": "Provider settings"
147
+ },
148
+ "mongoDBMajorVersion": {
149
+ "type": "string",
150
+ "description": "MongoDB version"
151
+ },
152
+ "diskSizeGB": {
153
+ "type": "number",
154
+ "description": "Disk size in GB"
155
+ },
156
+ "backupEnabled": {
157
+ "type": "boolean",
158
+ "description": "Enable backups"
159
+ }
160
+ },
161
+ "required": [
162
+ "projectId",
163
+ "name"
164
+ ]
165
+ }
166
+ },
167
+ {
168
+ "name": "list_databases",
169
+ "description": "List databases in a MongoDB Atlas cluster",
170
+ "method": "GET",
171
+ "path": "/list-databases",
172
+ "input_schema": {
173
+ "type": "object",
174
+ "properties": {
175
+ "projectId": {
176
+ "type": "string",
177
+ "description": "Project ID"
178
+ },
179
+ "clusterName": {
180
+ "type": "string",
181
+ "description": "Cluster name"
182
+ },
183
+ "pageNum": {
184
+ "type": "number",
185
+ "description": "Page number",
186
+ "default": 1
187
+ },
188
+ "itemsPerPage": {
189
+ "type": "number",
190
+ "description": "Items per page",
191
+ "default": 100
192
+ }
193
+ },
194
+ "required": [
195
+ "projectId",
196
+ "clusterName"
197
+ ]
198
+ }
199
+ },
200
+ {
201
+ "name": "list_collections",
202
+ "description": "List collections in a MongoDB Atlas database",
203
+ "method": "GET",
204
+ "path": "/list-collections",
205
+ "input_schema": {
206
+ "type": "object",
207
+ "properties": {
208
+ "projectId": {
209
+ "type": "string",
210
+ "description": "Project ID"
211
+ },
212
+ "clusterName": {
213
+ "type": "string",
214
+ "description": "Cluster name"
215
+ },
216
+ "databaseName": {
217
+ "type": "string",
218
+ "description": "Database name"
219
+ },
220
+ "pageNum": {
221
+ "type": "number",
222
+ "description": "Page number",
223
+ "default": 1
224
+ },
225
+ "itemsPerPage": {
226
+ "type": "number",
227
+ "description": "Items per page",
228
+ "default": 100
229
+ }
230
+ },
231
+ "required": [
232
+ "projectId",
233
+ "clusterName",
234
+ "databaseName"
235
+ ]
236
+ }
237
+ },
238
+ {
239
+ "name": "query_data",
240
+ "description": "Query data from MongoDB Atlas via Data API",
241
+ "method": "GET",
242
+ "path": "/query-data",
243
+ "input_schema": {
244
+ "type": "object",
245
+ "properties": {
246
+ "dataApiUrl": {
247
+ "type": "string",
248
+ "description": "Data API URL"
249
+ },
250
+ "dataSource": {
251
+ "type": "string",
252
+ "description": "Data source name"
253
+ },
254
+ "database": {
255
+ "type": "string",
256
+ "description": "Database name"
257
+ },
258
+ "collection": {
259
+ "type": "string",
260
+ "description": "Collection name"
261
+ },
262
+ "filter": {
263
+ "type": "object",
264
+ "description": "Query filter"
265
+ },
266
+ "projection": {
267
+ "type": "object",
268
+ "description": "Fields to return"
269
+ },
270
+ "sort": {
271
+ "type": "object",
272
+ "description": "Sort order"
273
+ },
274
+ "limit": {
275
+ "type": "number",
276
+ "description": "Maximum results"
277
+ },
278
+ "skip": {
279
+ "type": "number",
280
+ "description": "Results to skip"
281
+ }
282
+ },
283
+ "required": [
284
+ "dataApiUrl",
285
+ "dataSource",
286
+ "database",
287
+ "collection"
288
+ ]
289
+ }
290
+ },
291
+ {
292
+ "name": "insert_document",
293
+ "description": "Insert document(s) into MongoDB Atlas via Data API",
294
+ "method": "GET",
295
+ "path": "/insert-document",
296
+ "input_schema": {
297
+ "type": "object",
298
+ "properties": {
299
+ "dataApiUrl": {
300
+ "type": "string",
301
+ "description": "Data API URL"
302
+ },
303
+ "dataSource": {
304
+ "type": "string",
305
+ "description": "Data source name"
306
+ },
307
+ "database": {
308
+ "type": "string",
309
+ "description": "Database name"
310
+ },
311
+ "collection": {
312
+ "type": "string",
313
+ "description": "Collection name"
314
+ },
315
+ "document": {
316
+ "type": "object",
317
+ "description": "Document to insert"
318
+ },
319
+ "documents": {
320
+ "type": "array",
321
+ "description": "Documents to insert (for batch)"
322
+ }
323
+ },
324
+ "required": [
325
+ "dataApiUrl",
326
+ "dataSource",
327
+ "database",
328
+ "collection"
329
+ ]
330
+ }
331
+ },
332
+ {
333
+ "name": "update_document",
334
+ "description": "Update document(s) in MongoDB Atlas via Data API",
335
+ "method": "PUT",
336
+ "path": "/update-document",
337
+ "input_schema": {
338
+ "type": "object",
339
+ "properties": {
340
+ "dataApiUrl": {
341
+ "type": "string",
342
+ "description": "Data API URL"
343
+ },
344
+ "dataSource": {
345
+ "type": "string",
346
+ "description": "Data source name"
347
+ },
348
+ "database": {
349
+ "type": "string",
350
+ "description": "Database name"
351
+ },
352
+ "collection": {
353
+ "type": "string",
354
+ "description": "Collection name"
355
+ },
356
+ "filter": {
357
+ "type": "object",
358
+ "description": "Query filter"
359
+ },
360
+ "update": {
361
+ "type": "object",
362
+ "description": "Update operations"
363
+ },
364
+ "upsert": {
365
+ "type": "boolean",
366
+ "description": "Insert if not exists",
367
+ "default": false
368
+ },
369
+ "updateMany": {
370
+ "type": "boolean",
371
+ "description": "Update multiple documents",
372
+ "default": false
373
+ }
374
+ },
375
+ "required": [
376
+ "dataApiUrl",
377
+ "dataSource",
378
+ "database",
379
+ "collection",
380
+ "filter",
381
+ "update"
382
+ ]
383
+ }
384
+ },
385
+ {
386
+ "name": "delete_document",
387
+ "description": "Delete document(s) from MongoDB Atlas via Data API",
388
+ "method": "DELETE",
389
+ "path": "/delete-document",
390
+ "input_schema": {
391
+ "type": "object",
392
+ "properties": {
393
+ "dataApiUrl": {
394
+ "type": "string",
395
+ "description": "Data API URL"
396
+ },
397
+ "dataSource": {
398
+ "type": "string",
399
+ "description": "Data source name"
400
+ },
401
+ "database": {
402
+ "type": "string",
403
+ "description": "Database name"
404
+ },
405
+ "collection": {
406
+ "type": "string",
407
+ "description": "Collection name"
408
+ },
409
+ "filter": {
410
+ "type": "object",
411
+ "description": "Query filter"
412
+ },
413
+ "deleteMany": {
414
+ "type": "boolean",
415
+ "description": "Delete multiple documents",
416
+ "default": false
417
+ }
418
+ },
419
+ "required": [
420
+ "dataApiUrl",
421
+ "dataSource",
422
+ "database",
423
+ "collection",
424
+ "filter"
425
+ ]
426
+ }
427
+ },
428
+ {
429
+ "name": "aggregate",
430
+ "description": "Run aggregation pipeline in MongoDB Atlas via Data API",
431
+ "method": "GET",
432
+ "path": "/aggregate",
433
+ "input_schema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "dataApiUrl": {
437
+ "type": "string",
438
+ "description": "Data API URL"
439
+ },
440
+ "dataSource": {
441
+ "type": "string",
442
+ "description": "Data source name"
443
+ },
444
+ "database": {
445
+ "type": "string",
446
+ "description": "Database name"
447
+ },
448
+ "collection": {
449
+ "type": "string",
450
+ "description": "Collection name"
451
+ },
452
+ "pipeline": {
453
+ "type": "array",
454
+ "description": "Aggregation pipeline stages"
455
+ }
456
+ },
457
+ "required": [
458
+ "dataApiUrl",
459
+ "dataSource",
460
+ "database",
461
+ "collection",
462
+ "pipeline"
463
+ ]
464
+ }
465
+ }
466
+ ]
467
+ }