@camunda/connectors-element-templates 1.0.20 → 1.0.21

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 (115) hide show
  1. package/package.json +2 -2
  2. package/src/connectors-template.js +1 -3
  3. package/src/connectors.js +4 -0
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +40 -40
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +2483 -475
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +5352 -3427
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +717 -35
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2254 -809
  9. package/src/element-templates/app-integrations-connector.json +1047 -0
  10. package/src/element-templates/asana-connector.json +1050 -216
  11. package/src/element-templates/automation-anywhere-outbound-connector.json +2046 -1553
  12. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1067 -29
  13. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +385 -4
  14. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +441 -4
  15. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +416 -4
  16. package/src/element-templates/aws-bedrock-outbound-connector.json +2274 -624
  17. package/src/element-templates/aws-comprehend-outbound-connector.json +1572 -0
  18. package/src/element-templates/aws-dynamodb-outbound-connector.json +2385 -949
  19. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  20. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  21. package/src/element-templates/aws-eventbridge-connector-start-event.json +20 -20
  22. package/src/element-templates/aws-eventbridge-outbound-connector.json +680 -266
  23. package/src/element-templates/aws-lambda-outbound-connector.json +462 -63
  24. package/src/element-templates/aws-s3-outbound-connector.json +1850 -329
  25. package/src/element-templates/aws-sagemaker-outbound-connector.json +680 -51
  26. package/src/element-templates/aws-sns-inbound-boundary.json +207 -206
  27. package/src/element-templates/aws-sns-inbound-intermediate.json +410 -409
  28. package/src/element-templates/aws-sns-inbound-message-start.json +4 -3
  29. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  30. package/src/element-templates/aws-sns-inbound-start-event.json +138 -138
  31. package/src/element-templates/aws-sns-outbound-connector.json +643 -186
  32. package/src/element-templates/aws-sqs-boundary-connector.json +1059 -540
  33. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +1046 -527
  34. package/src/element-templates/aws-sqs-outbound-connector.json +596 -143
  35. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  36. package/src/element-templates/aws-sqs-start-event-connector.json +401 -401
  37. package/src/element-templates/aws-sqs-start-message.json +736 -185
  38. package/src/element-templates/aws-textract-outbound-connector.json +925 -190
  39. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  40. package/src/element-templates/azure-open-ai-connector.json +1372 -9
  41. package/src/element-templates/blue-prism-connector.json +655 -76
  42. package/src/element-templates/box-outbound-connector.json +2331 -247
  43. package/src/element-templates/csv-outbound-connector.json +44 -44
  44. package/src/element-templates/easy-post-connector.json +1178 -97
  45. package/src/element-templates/email-outbound-connector.json +3087 -1013
  46. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2160 -0
  47. package/src/element-templates/github-connector.json +14049 -9863
  48. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  49. package/src/element-templates/github-webhook-connector-intermediate.json +33 -33
  50. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  51. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  52. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  53. package/src/element-templates/gitlab-connector.json +2110 -208
  54. package/src/element-templates/google-cloud-storage-outbound-connector.json +1448 -241
  55. package/src/element-templates/google-drive-outbound-connector.json +2246 -694
  56. package/src/element-templates/google-gemini-outbound-connector.json +8 -22
  57. package/src/element-templates/google-maps-platform-connector.json +688 -137
  58. package/src/element-templates/google-sheets-outbound-connector.json +3631 -2475
  59. package/src/element-templates/graphql-outbound-connector.json +3346 -789
  60. package/src/element-templates/http-json-connector.json +5295 -2803
  61. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2550 -590
  62. package/src/element-templates/http-polling-connector.json +2886 -926
  63. package/src/element-templates/hubspot-outbound-connector.json +2786 -36
  64. package/src/element-templates/hugging-face-connector.json +44 -43
  65. package/src/element-templates/jdbc-outbound-connector.json +505 -8
  66. package/src/element-templates/kafka-inbound-connector-boundary.json +29 -32
  67. package/src/element-templates/kafka-inbound-connector-intermediate.json +615 -618
  68. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  69. package/src/element-templates/kafka-inbound-connector-start-message.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector.json +240 -240
  71. package/src/element-templates/kafka-outbound-connector.json +494 -498
  72. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  73. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-office365-mail-connector.json +1095 -39
  76. package/src/element-templates/microsoft-teams-outbound-connector.json +7335 -4894
  77. package/src/element-templates/openai-connector.json +596 -102
  78. package/src/element-templates/operate-connector.json +167 -170
  79. package/src/element-templates/orchestration-connector.json +1843 -0
  80. package/src/element-templates/power-automate-connector.json +64 -64
  81. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +449 -451
  82. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +770 -772
  83. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +576 -578
  84. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  85. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +105 -105
  86. package/src/element-templates/rabbitmq-outbound-connector.json +319 -319
  87. package/src/element-templates/rpa-connector.json +6 -6
  88. package/src/element-templates/salesforce-connector.json +690 -56
  89. package/src/element-templates/send-message-connector-intermediate-throw-event.json +300 -0
  90. package/src/element-templates/send-message-connector-message-end-event.json +300 -0
  91. package/src/element-templates/send-message-connector-send-task.json +299 -0
  92. package/src/element-templates/sendgrid-outbound-connector.json +597 -597
  93. package/src/element-templates/servicenow-connector.json +1365 -8
  94. package/src/element-templates/servicenow-flow-starter-connector.json +15 -15
  95. package/src/element-templates/servicenow-incident-connector.json +1076 -30
  96. package/src/element-templates/slack-inbound-boundary.json +374 -374
  97. package/src/element-templates/slack-inbound-intermediate.json +766 -766
  98. package/src/element-templates/slack-inbound-message-start.json +145 -145
  99. package/src/element-templates/slack-inbound-receive.json +2 -2
  100. package/src/element-templates/slack-inbound-start-event.json +211 -211
  101. package/src/element-templates/slack-outbound-connector.json +2154 -1051
  102. package/src/element-templates/soap-outbound-connector.json +114 -118
  103. package/src/element-templates/twilio-connector.json +1181 -368
  104. package/src/element-templates/twilio-webhook-boundary-connector.json +29 -30
  105. package/src/element-templates/twilio-webhook-connector.json +56 -57
  106. package/src/element-templates/twilio-webhook-intermediate-connector.json +33 -34
  107. package/src/element-templates/twilio-webhook-message-start-connector.json +27 -28
  108. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  109. package/src/element-templates/uipath-connector.json +681 -63
  110. package/src/element-templates/webhook-connector-boundary.json +1242 -587
  111. package/src/element-templates/webhook-connector-intermediate.json +1339 -684
  112. package/src/element-templates/webhook-connector-receive.json +659 -5
  113. package/src/element-templates/webhook-connector-start-event.json +1736 -1175
  114. package/src/element-templates/webhook-connector-start-message.json +1791 -1104
  115. package/src/element-templates/whatsapp-connector.json +386 -16
@@ -1,13 +1,11 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "MCP Client (early access)",
4
+ "name": "MCP Client",
5
5
  "id": "io.camunda.connectors.agenticai.mcp.client.v0",
6
- "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime. Only supports tool operations.",
7
- "metadata": {
8
- "keywords": []
9
- },
10
- "version": 0,
6
+ "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime.",
7
+ "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-client-connector/",
8
+ "version": 3,
11
9
  "category": {
12
10
  "id": "aiTools",
13
11
  "name": "AI Tools"
@@ -17,7 +15,7 @@
17
15
  "value": "bpmn:ServiceTask"
18
16
  },
19
17
  "engines": {
20
- "camunda": "^8.8"
18
+ "camunda": "^8.9"
21
19
  },
22
20
  "groups": [
23
21
  {
@@ -25,12 +23,17 @@
25
23
  "label": "MCP Client"
26
24
  },
27
25
  {
28
- "id": "tools",
29
- "label": "Tools"
26
+ "id": "connectorMode",
27
+ "label": "Connector mode",
28
+ "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
30
29
  },
31
30
  {
32
31
  "id": "operation",
33
- "label": "Operation",
32
+ "label": "Operation"
33
+ },
34
+ {
35
+ "id": "filters",
36
+ "label": "Filters",
34
37
  "openByDefault": false
35
38
  },
36
39
  {
@@ -52,7 +55,7 @@
52
55
  ],
53
56
  "properties": [
54
57
  {
55
- "value": "io.camunda.agenticai:mcpclient:0",
58
+ "value": "io.camunda.agenticai:mcpclient:1",
56
59
  "binding": {
57
60
  "property": "type",
58
61
  "type": "zeebe:taskDefinition"
@@ -65,6 +68,11 @@
65
68
  "name": "io.camunda.agenticai.gateway.type",
66
69
  "type": "zeebe:property"
67
70
  },
71
+ "condition": {
72
+ "property": "data.connectorMode.type",
73
+ "equals": "aiAgentTool",
74
+ "type": "simple"
75
+ },
68
76
  "type": "Hidden"
69
77
  },
70
78
  {
@@ -84,33 +92,239 @@
84
92
  "type": "String"
85
93
  },
86
94
  {
87
- "id": "data.tools.included",
88
- "label": "Included tools",
89
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
95
+ "id": "data.connectorMode.type",
96
+ "label": "Connector mode",
97
+ "description": "Select how this connector is used.",
98
+ "value": "aiAgentTool",
99
+ "group": "connectorMode",
100
+ "binding": {
101
+ "name": "data.connectorMode.type",
102
+ "type": "zeebe:input"
103
+ },
104
+ "type": "Dropdown",
105
+ "choices": [
106
+ {
107
+ "name": "Standalone",
108
+ "value": "standalone"
109
+ },
110
+ {
111
+ "name": "AI Agent tool",
112
+ "value": "aiAgentTool"
113
+ }
114
+ ]
115
+ },
116
+ {
117
+ "id": "data.connectorMode.operation.type",
118
+ "label": "Operation",
119
+ "description": "The type of operation to perform.",
120
+ "value": "tools/list",
121
+ "group": "operation",
122
+ "binding": {
123
+ "name": "data.connectorMode.operation.type",
124
+ "type": "zeebe:input"
125
+ },
126
+ "condition": {
127
+ "property": "data.connectorMode.type",
128
+ "equals": "standalone",
129
+ "type": "simple"
130
+ },
131
+ "type": "Dropdown",
132
+ "choices": [
133
+ {
134
+ "name": "List Tools",
135
+ "value": "tools/list"
136
+ },
137
+ {
138
+ "name": "Call Tool",
139
+ "value": "tools/call"
140
+ },
141
+ {
142
+ "name": "List Resources",
143
+ "value": "resources/list"
144
+ },
145
+ {
146
+ "name": "List Resource Templates",
147
+ "value": "resources/templates/list"
148
+ },
149
+ {
150
+ "name": "Read Resource",
151
+ "value": "resources/read"
152
+ },
153
+ {
154
+ "name": "List Prompts",
155
+ "value": "prompts/list"
156
+ },
157
+ {
158
+ "name": "Get Prompt",
159
+ "value": "prompts/get"
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "id": "data.connectorMode.operation.toolName",
165
+ "label": "Tool name",
166
+ "description": "The name of the tool to call.",
167
+ "optional": false,
168
+ "constraints": {
169
+ "notEmpty": true
170
+ },
171
+ "feel": "optional",
172
+ "group": "operation",
173
+ "binding": {
174
+ "name": "data.connectorMode.operation.toolName",
175
+ "type": "zeebe:input"
176
+ },
177
+ "condition": {
178
+ "allMatch": [
179
+ {
180
+ "property": "data.connectorMode.operation.type",
181
+ "equals": "tools/call",
182
+ "type": "simple"
183
+ },
184
+ {
185
+ "property": "data.connectorMode.type",
186
+ "equals": "standalone",
187
+ "type": "simple"
188
+ }
189
+ ]
190
+ },
191
+ "type": "String"
192
+ },
193
+ {
194
+ "id": "data.connectorMode.operation.toolArguments",
195
+ "label": "Tool arguments",
196
+ "description": "The arguments to pass to the tool.",
90
197
  "optional": true,
91
198
  "feel": "required",
92
- "group": "tools",
199
+ "group": "operation",
93
200
  "binding": {
94
- "name": "data.tools.included",
201
+ "name": "data.connectorMode.operation.toolArguments",
95
202
  "type": "zeebe:input"
96
203
  },
97
- "type": "Text"
204
+ "condition": {
205
+ "allMatch": [
206
+ {
207
+ "property": "data.connectorMode.operation.type",
208
+ "equals": "tools/call",
209
+ "type": "simple"
210
+ },
211
+ {
212
+ "property": "data.connectorMode.type",
213
+ "equals": "standalone",
214
+ "type": "simple"
215
+ }
216
+ ]
217
+ },
218
+ "type": "String"
98
219
  },
99
220
  {
100
- "id": "data.tools.excluded",
101
- "label": "Excluded tools",
102
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
221
+ "id": "data.connectorMode.operation.resourceUri",
222
+ "label": "Resource URI",
223
+ "description": "The URI of the resource to read.",
224
+ "optional": false,
225
+ "constraints": {
226
+ "notEmpty": true
227
+ },
228
+ "feel": "optional",
229
+ "group": "operation",
230
+ "binding": {
231
+ "name": "data.connectorMode.operation.resourceUri",
232
+ "type": "zeebe:input"
233
+ },
234
+ "condition": {
235
+ "allMatch": [
236
+ {
237
+ "property": "data.connectorMode.operation.type",
238
+ "equals": "resources/read",
239
+ "type": "simple"
240
+ },
241
+ {
242
+ "property": "data.connectorMode.type",
243
+ "equals": "standalone",
244
+ "type": "simple"
245
+ }
246
+ ]
247
+ },
248
+ "type": "String"
249
+ },
250
+ {
251
+ "id": "data.connectorMode.operation.promptName",
252
+ "label": "Prompt name",
253
+ "description": "The name of the prompt to get.",
254
+ "optional": false,
255
+ "constraints": {
256
+ "notEmpty": true
257
+ },
258
+ "feel": "optional",
259
+ "group": "operation",
260
+ "binding": {
261
+ "name": "data.connectorMode.operation.promptName",
262
+ "type": "zeebe:input"
263
+ },
264
+ "condition": {
265
+ "allMatch": [
266
+ {
267
+ "property": "data.connectorMode.operation.type",
268
+ "equals": "prompts/get",
269
+ "type": "simple"
270
+ },
271
+ {
272
+ "property": "data.connectorMode.type",
273
+ "equals": "standalone",
274
+ "type": "simple"
275
+ }
276
+ ]
277
+ },
278
+ "type": "String"
279
+ },
280
+ {
281
+ "id": "data.connectorMode.operation.promptArguments",
282
+ "label": "Prompt arguments",
283
+ "description": "The arguments to pass to the prompt generation.",
103
284
  "optional": true,
104
285
  "feel": "required",
105
- "group": "tools",
286
+ "group": "operation",
106
287
  "binding": {
107
- "name": "data.tools.excluded",
288
+ "name": "data.connectorMode.operation.promptArguments",
108
289
  "type": "zeebe:input"
109
290
  },
110
- "type": "Text"
291
+ "condition": {
292
+ "allMatch": [
293
+ {
294
+ "property": "data.connectorMode.operation.type",
295
+ "equals": "prompts/get",
296
+ "type": "simple"
297
+ },
298
+ {
299
+ "property": "data.connectorMode.type",
300
+ "equals": "standalone",
301
+ "type": "simple"
302
+ }
303
+ ]
304
+ },
305
+ "type": "String"
111
306
  },
112
307
  {
113
- "id": "data.operation.method",
308
+ "id": "data.connectorMode.standaloneModeMeta",
309
+ "label": "Metadata",
310
+ "description": "MCP <code>_meta</code> parameters to be passed to the MCP request.",
311
+ "optional": true,
312
+ "feel": "required",
313
+ "group": "operation",
314
+ "binding": {
315
+ "name": "data.connectorMode.meta",
316
+ "type": "zeebe:input"
317
+ },
318
+ "condition": {
319
+ "property": "data.connectorMode.type",
320
+ "equals": "standalone",
321
+ "type": "simple"
322
+ },
323
+ "tooltip": "Forwarded unmodified as the <code>_meta</code> field of the MCP request. Required metadata is defined by the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2025-11-25/basic/index#_meta\">MCP specification</a> for details.",
324
+ "type": "String"
325
+ },
326
+ {
327
+ "id": "data.connectorMode.toolOperation.method",
114
328
  "label": "Method",
115
329
  "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
116
330
  "optional": false,
@@ -121,32 +335,267 @@
121
335
  "feel": "optional",
122
336
  "group": "operation",
123
337
  "binding": {
124
- "name": "data.operation.method",
338
+ "name": "data.connectorMode.toolOperation.method",
125
339
  "type": "zeebe:input"
126
340
  },
341
+ "condition": {
342
+ "property": "data.connectorMode.type",
343
+ "equals": "aiAgentTool",
344
+ "type": "simple"
345
+ },
127
346
  "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
128
347
  "type": "String"
129
348
  },
130
349
  {
131
- "id": "data.operation.params",
350
+ "id": "data.connectorMode.toolOperation.params",
132
351
  "label": "Parameters",
133
352
  "description": "The parameters to be passed to the MCP method.",
134
353
  "optional": true,
135
- "value": "=toolCall.params",
354
+ "value": "=toolCall.params",
355
+ "feel": "required",
356
+ "group": "operation",
357
+ "binding": {
358
+ "name": "data.connectorMode.toolOperation.params",
359
+ "type": "zeebe:input"
360
+ },
361
+ "condition": {
362
+ "property": "data.connectorMode.type",
363
+ "equals": "aiAgentTool",
364
+ "type": "simple"
365
+ },
366
+ "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
367
+ "type": "String"
368
+ },
369
+ {
370
+ "id": "data.connectorMode.toolModeMeta",
371
+ "label": "Metadata",
372
+ "description": "MCP <code>_meta</code> parameters to be passed to the MCP request.",
373
+ "optional": true,
374
+ "feel": "required",
375
+ "group": "operation",
376
+ "binding": {
377
+ "name": "data.connectorMode.meta",
378
+ "type": "zeebe:input"
379
+ },
380
+ "condition": {
381
+ "property": "data.connectorMode.type",
382
+ "equals": "aiAgentTool",
383
+ "type": "simple"
384
+ },
385
+ "tooltip": "Forwarded unmodified as the <code>_meta</code> field of the MCP request. Required metadata is defined by the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2025-11-25/basic/index#_meta\">MCP specification</a> for details.",
386
+ "type": "String"
387
+ },
388
+ {
389
+ "id": "data.connectorMode.standaloneModeFilters.tools.included",
390
+ "label": "Included tools",
391
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
392
+ "optional": true,
393
+ "feel": "required",
394
+ "group": "filters",
395
+ "binding": {
396
+ "name": "data.connectorMode.standaloneModeFilters.tools.included",
397
+ "type": "zeebe:input"
398
+ },
399
+ "condition": {
400
+ "allMatch": [
401
+ {
402
+ "property": "data.connectorMode.operation.type",
403
+ "oneOf": ["tools/call", "tools/list"],
404
+ "type": "simple"
405
+ },
406
+ {
407
+ "property": "data.connectorMode.type",
408
+ "equals": "standalone",
409
+ "type": "simple"
410
+ }
411
+ ]
412
+ },
413
+ "type": "Text"
414
+ },
415
+ {
416
+ "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
417
+ "label": "Excluded tools",
418
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
419
+ "optional": true,
420
+ "feel": "required",
421
+ "group": "filters",
422
+ "binding": {
423
+ "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
424
+ "type": "zeebe:input"
425
+ },
426
+ "condition": {
427
+ "allMatch": [
428
+ {
429
+ "property": "data.connectorMode.operation.type",
430
+ "oneOf": ["tools/call", "tools/list"],
431
+ "type": "simple"
432
+ },
433
+ {
434
+ "property": "data.connectorMode.type",
435
+ "equals": "standalone",
436
+ "type": "simple"
437
+ }
438
+ ]
439
+ },
440
+ "type": "Text"
441
+ },
442
+ {
443
+ "id": "data.connectorMode.standaloneModeFilters.resources.included",
444
+ "label": "Included resources",
445
+ "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
446
+ "optional": true,
447
+ "feel": "required",
448
+ "group": "filters",
449
+ "binding": {
450
+ "name": "data.connectorMode.standaloneModeFilters.resources.included",
451
+ "type": "zeebe:input"
452
+ },
453
+ "condition": {
454
+ "allMatch": [
455
+ {
456
+ "property": "data.connectorMode.operation.type",
457
+ "oneOf": [
458
+ "resources/read",
459
+ "resources/list",
460
+ "resources/templates/list"
461
+ ],
462
+ "type": "simple"
463
+ },
464
+ {
465
+ "property": "data.connectorMode.type",
466
+ "equals": "standalone",
467
+ "type": "simple"
468
+ }
469
+ ]
470
+ },
471
+ "type": "Text"
472
+ },
473
+ {
474
+ "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
475
+ "label": "Excluded resources",
476
+ "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
477
+ "optional": true,
478
+ "feel": "required",
479
+ "group": "filters",
480
+ "binding": {
481
+ "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
482
+ "type": "zeebe:input"
483
+ },
484
+ "condition": {
485
+ "allMatch": [
486
+ {
487
+ "property": "data.connectorMode.operation.type",
488
+ "oneOf": [
489
+ "resources/read",
490
+ "resources/list",
491
+ "resources/templates/list"
492
+ ],
493
+ "type": "simple"
494
+ },
495
+ {
496
+ "property": "data.connectorMode.type",
497
+ "equals": "standalone",
498
+ "type": "simple"
499
+ }
500
+ ]
501
+ },
502
+ "type": "Text"
503
+ },
504
+ {
505
+ "id": "data.connectorMode.standaloneModeFilters.prompts.included",
506
+ "label": "Included prompts",
507
+ "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
508
+ "optional": true,
509
+ "feel": "required",
510
+ "group": "filters",
511
+ "binding": {
512
+ "name": "data.connectorMode.standaloneModeFilters.prompts.included",
513
+ "type": "zeebe:input"
514
+ },
515
+ "condition": {
516
+ "allMatch": [
517
+ {
518
+ "property": "data.connectorMode.operation.type",
519
+ "oneOf": ["prompts/get", "prompts/list"],
520
+ "type": "simple"
521
+ },
522
+ {
523
+ "property": "data.connectorMode.type",
524
+ "equals": "standalone",
525
+ "type": "simple"
526
+ }
527
+ ]
528
+ },
529
+ "type": "Text"
530
+ },
531
+ {
532
+ "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
533
+ "label": "Excluded prompts",
534
+ "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
535
+ "optional": true,
536
+ "feel": "required",
537
+ "group": "filters",
538
+ "binding": {
539
+ "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
540
+ "type": "zeebe:input"
541
+ },
542
+ "condition": {
543
+ "allMatch": [
544
+ {
545
+ "property": "data.connectorMode.operation.type",
546
+ "oneOf": ["prompts/get", "prompts/list"],
547
+ "type": "simple"
548
+ },
549
+ {
550
+ "property": "data.connectorMode.type",
551
+ "equals": "standalone",
552
+ "type": "simple"
553
+ }
554
+ ]
555
+ },
556
+ "type": "Text"
557
+ },
558
+ {
559
+ "id": "data.connectorMode.toolModeFilters.tools.included",
560
+ "label": "Included tools",
561
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
562
+ "optional": true,
563
+ "feel": "required",
564
+ "group": "filters",
565
+ "binding": {
566
+ "name": "data.connectorMode.toolModeFilters.tools.included",
567
+ "type": "zeebe:input"
568
+ },
569
+ "condition": {
570
+ "property": "data.connectorMode.type",
571
+ "equals": "aiAgentTool",
572
+ "type": "simple"
573
+ },
574
+ "type": "Text"
575
+ },
576
+ {
577
+ "id": "data.connectorMode.toolModeFilters.tools.excluded",
578
+ "label": "Excluded tools",
579
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
580
+ "optional": true,
136
581
  "feel": "required",
137
- "group": "operation",
582
+ "group": "filters",
138
583
  "binding": {
139
- "name": "data.operation.params",
584
+ "name": "data.connectorMode.toolModeFilters.tools.excluded",
140
585
  "type": "zeebe:input"
141
586
  },
142
- "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
143
- "type": "String"
587
+ "condition": {
588
+ "property": "data.connectorMode.type",
589
+ "equals": "aiAgentTool",
590
+ "type": "simple"
591
+ },
592
+ "type": "Text"
144
593
  },
145
594
  {
146
595
  "id": "version",
147
596
  "label": "Version",
148
597
  "description": "Version of the element template",
149
- "value": "0",
598
+ "value": "3",
150
599
  "group": "connector",
151
600
  "binding": {
152
601
  "key": "elementTemplateVersion",
@@ -169,7 +618,7 @@
169
618
  {
170
619
  "id": "resultVariable",
171
620
  "label": "Result variable",
172
- "description": "Name of variable to store the response in",
621
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
173
622
  "value": "toolCallResult",
174
623
  "group": "output",
175
624
  "binding": {
@@ -181,7 +630,7 @@
181
630
  {
182
631
  "id": "resultExpression",
183
632
  "label": "Result expression",
184
- "description": "Expression to map the response into process variables",
633
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
185
634
  "feel": "required",
186
635
  "group": "output",
187
636
  "binding": {
@@ -219,7 +668,7 @@
219
668
  "id": "retryBackoff",
220
669
  "label": "Retry backoff",
221
670
  "description": "ISO-8601 duration to wait between retries",
222
- "value": "PT0S",
671
+ "value": "PT30S",
223
672
  "group": "retries",
224
673
  "binding": {
225
674
  "key": "retryBackoff",
@@ -591,6 +1040,239 @@
591
1040
  "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
592
1041
  }
593
1042
  },
1043
+ {
1044
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1045
+ "name": "MCP Client (early access)",
1046
+ "id": "io.camunda.connectors.agenticai.mcp.client.v0",
1047
+ "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime. Only supports tool operations.",
1048
+ "metadata": {
1049
+ "keywords": []
1050
+ },
1051
+ "version": 0,
1052
+ "category": {
1053
+ "id": "aiTools",
1054
+ "name": "AI Tools"
1055
+ },
1056
+ "appliesTo": ["bpmn:Task"],
1057
+ "elementType": {
1058
+ "value": "bpmn:ServiceTask"
1059
+ },
1060
+ "engines": {
1061
+ "camunda": "^8.8"
1062
+ },
1063
+ "groups": [
1064
+ {
1065
+ "id": "client",
1066
+ "label": "MCP Client"
1067
+ },
1068
+ {
1069
+ "id": "tools",
1070
+ "label": "Tools"
1071
+ },
1072
+ {
1073
+ "id": "operation",
1074
+ "label": "Operation",
1075
+ "openByDefault": false
1076
+ },
1077
+ {
1078
+ "id": "connector",
1079
+ "label": "Connector"
1080
+ },
1081
+ {
1082
+ "id": "output",
1083
+ "label": "Output mapping"
1084
+ },
1085
+ {
1086
+ "id": "error",
1087
+ "label": "Error handling"
1088
+ },
1089
+ {
1090
+ "id": "retries",
1091
+ "label": "Retries"
1092
+ }
1093
+ ],
1094
+ "properties": [
1095
+ {
1096
+ "value": "io.camunda.agenticai:mcpclient:0",
1097
+ "binding": {
1098
+ "property": "type",
1099
+ "type": "zeebe:taskDefinition"
1100
+ },
1101
+ "type": "Hidden"
1102
+ },
1103
+ {
1104
+ "value": "mcpClient",
1105
+ "binding": {
1106
+ "name": "io.camunda.agenticai.gateway.type",
1107
+ "type": "zeebe:property"
1108
+ },
1109
+ "type": "Hidden"
1110
+ },
1111
+ {
1112
+ "id": "data.client.clientId",
1113
+ "label": "Client ID",
1114
+ "description": "The MCP client ID. This needs to be configured on your connector runtime.",
1115
+ "optional": false,
1116
+ "constraints": {
1117
+ "notEmpty": true
1118
+ },
1119
+ "feel": "optional",
1120
+ "group": "client",
1121
+ "binding": {
1122
+ "name": "data.client.clientId",
1123
+ "type": "zeebe:input"
1124
+ },
1125
+ "type": "String"
1126
+ },
1127
+ {
1128
+ "id": "data.tools.included",
1129
+ "label": "Included tools",
1130
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1131
+ "optional": true,
1132
+ "feel": "required",
1133
+ "group": "tools",
1134
+ "binding": {
1135
+ "name": "data.tools.included",
1136
+ "type": "zeebe:input"
1137
+ },
1138
+ "type": "Text"
1139
+ },
1140
+ {
1141
+ "id": "data.tools.excluded",
1142
+ "label": "Excluded tools",
1143
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1144
+ "optional": true,
1145
+ "feel": "required",
1146
+ "group": "tools",
1147
+ "binding": {
1148
+ "name": "data.tools.excluded",
1149
+ "type": "zeebe:input"
1150
+ },
1151
+ "type": "Text"
1152
+ },
1153
+ {
1154
+ "id": "data.operation.method",
1155
+ "label": "Method",
1156
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
1157
+ "optional": false,
1158
+ "value": "=toolCall.method",
1159
+ "constraints": {
1160
+ "notEmpty": true
1161
+ },
1162
+ "feel": "optional",
1163
+ "group": "operation",
1164
+ "binding": {
1165
+ "name": "data.operation.method",
1166
+ "type": "zeebe:input"
1167
+ },
1168
+ "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
1169
+ "type": "String"
1170
+ },
1171
+ {
1172
+ "id": "data.operation.params",
1173
+ "label": "Parameters",
1174
+ "description": "The parameters to be passed to the MCP method.",
1175
+ "optional": true,
1176
+ "value": "=toolCall.params",
1177
+ "feel": "required",
1178
+ "group": "operation",
1179
+ "binding": {
1180
+ "name": "data.operation.params",
1181
+ "type": "zeebe:input"
1182
+ },
1183
+ "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
1184
+ "type": "String"
1185
+ },
1186
+ {
1187
+ "id": "version",
1188
+ "label": "Version",
1189
+ "description": "Version of the element template",
1190
+ "value": "0",
1191
+ "group": "connector",
1192
+ "binding": {
1193
+ "key": "elementTemplateVersion",
1194
+ "type": "zeebe:taskHeader"
1195
+ },
1196
+ "type": "Hidden"
1197
+ },
1198
+ {
1199
+ "id": "id",
1200
+ "label": "ID",
1201
+ "description": "ID of the element template",
1202
+ "value": "io.camunda.connectors.agenticai.mcp.client.v0",
1203
+ "group": "connector",
1204
+ "binding": {
1205
+ "key": "elementTemplateId",
1206
+ "type": "zeebe:taskHeader"
1207
+ },
1208
+ "type": "Hidden"
1209
+ },
1210
+ {
1211
+ "id": "resultVariable",
1212
+ "label": "Result variable",
1213
+ "description": "Name of variable to store the response in",
1214
+ "value": "toolCallResult",
1215
+ "group": "output",
1216
+ "binding": {
1217
+ "key": "resultVariable",
1218
+ "type": "zeebe:taskHeader"
1219
+ },
1220
+ "type": "String"
1221
+ },
1222
+ {
1223
+ "id": "resultExpression",
1224
+ "label": "Result expression",
1225
+ "description": "Expression to map the response into process variables",
1226
+ "feel": "required",
1227
+ "group": "output",
1228
+ "binding": {
1229
+ "key": "resultExpression",
1230
+ "type": "zeebe:taskHeader"
1231
+ },
1232
+ "type": "Text"
1233
+ },
1234
+ {
1235
+ "id": "errorExpression",
1236
+ "label": "Error expression",
1237
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1238
+ "feel": "required",
1239
+ "group": "error",
1240
+ "binding": {
1241
+ "key": "errorExpression",
1242
+ "type": "zeebe:taskHeader"
1243
+ },
1244
+ "type": "Text"
1245
+ },
1246
+ {
1247
+ "id": "retryCount",
1248
+ "label": "Retries",
1249
+ "description": "Number of retries",
1250
+ "value": "3",
1251
+ "feel": "optional",
1252
+ "group": "retries",
1253
+ "binding": {
1254
+ "property": "retries",
1255
+ "type": "zeebe:taskDefinition"
1256
+ },
1257
+ "type": "String"
1258
+ },
1259
+ {
1260
+ "id": "retryBackoff",
1261
+ "label": "Retry backoff",
1262
+ "description": "ISO-8601 duration to wait between retries",
1263
+ "value": "PT0S",
1264
+ "group": "retries",
1265
+ "binding": {
1266
+ "key": "retryBackoff",
1267
+ "type": "zeebe:taskHeader"
1268
+ },
1269
+ "type": "String"
1270
+ }
1271
+ ],
1272
+ "icon": {
1273
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
1274
+ }
1275
+ },
594
1276
  {
595
1277
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
596
1278
  "name": "MCP Client",