@camunda/connectors-element-templates 1.0.16 → 1.0.18

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 (124) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -0
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +3 -5
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +9 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +9 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +9 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +9 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +36 -39
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3769 -28
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6979 -3299
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +469 -471
  12. package/src/element-templates/agenticai-mcp-message-start-event.json +122 -0
  13. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +484 -486
  14. package/src/element-templates/asana-connector.json +718 -7
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1756 -1752
  16. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +431 -0
  17. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +285 -0
  18. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +341 -0
  19. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +316 -0
  20. package/src/element-templates/aws-bedrock-outbound-connector.json +788 -51
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1412 -1412
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +376 -11
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +400 -35
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +408 -9
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +322 -5
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +316 -311
  29. package/src/element-templates/aws-lambda-outbound-connector.json +305 -301
  30. package/src/element-templates/aws-s3-outbound-connector.json +656 -15
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +56 -52
  32. package/src/element-templates/aws-sns-inbound-boundary.json +422 -415
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +330 -323
  34. package/src/element-templates/aws-sns-inbound-message-start.json +348 -341
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +139 -132
  37. package/src/element-templates/aws-sns-outbound-connector.json +593 -589
  38. package/src/element-templates/aws-sqs-boundary-connector.json +642 -638
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +588 -584
  40. package/src/element-templates/aws-sqs-outbound-connector.json +748 -746
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +408 -400
  43. package/src/element-templates/aws-sqs-start-message.json +465 -461
  44. package/src/element-templates/aws-textract-outbound-connector.json +298 -294
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +668 -11
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +598 -53
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +39 -31
  50. package/src/element-templates/easy-post-connector.json +1017 -49
  51. package/src/element-templates/email-inbound-connector-boundary.json +32 -24
  52. package/src/element-templates/email-inbound-connector-intermediate.json +32 -24
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +45 -37
  55. package/src/element-templates/email-outbound-connector.json +2129 -256
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +513 -516
  57. package/src/element-templates/github-connector.json +12447 -5385
  58. package/src/element-templates/github-webhook-connector-boundary.json +11 -13
  59. package/src/element-templates/github-webhook-connector-intermediate.json +55 -57
  60. package/src/element-templates/github-webhook-connector-message-start.json +19 -21
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +62 -64
  63. package/src/element-templates/gitlab-connector.json +2974 -1342
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +561 -12
  65. package/src/element-templates/google-drive-outbound-connector.json +882 -262
  66. package/src/element-templates/google-gemini-outbound-connector.json +117 -109
  67. package/src/element-templates/google-maps-platform-connector.json +1048 -19
  68. package/src/element-templates/google-sheets-outbound-connector.json +2961 -1967
  69. package/src/element-templates/graphql-outbound-connector.json +1780 -1193
  70. package/src/element-templates/http-json-connector.json +2832 -2168
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +953 -277
  72. package/src/element-templates/http-polling-connector.json +1642 -966
  73. package/src/element-templates/hubspot-outbound-connector.json +2376 -30
  74. package/src/element-templates/hugging-face-connector.json +432 -5
  75. package/src/element-templates/jdbc-outbound-connector.json +62 -48
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +21 -12
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +581 -572
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +150 -141
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +436 -430
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +165 -13
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +165 -13
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +178 -26
  85. package/src/element-templates/microsoft-office365-mail-connector.json +883 -0
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5616 -1607
  87. package/src/element-templates/openai-connector.json +608 -145
  88. package/src/element-templates/operate-connector.json +1218 -66
  89. package/src/element-templates/power-automate-connector.json +602 -10
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +799 -790
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +914 -905
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +477 -468
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +754 -745
  95. package/src/element-templates/rabbitmq-outbound-connector.json +875 -869
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +583 -39
  98. package/src/element-templates/send-message-connector-intermediate-throw-event.json +10 -5
  99. package/src/element-templates/send-message-connector-message-end-event.json +10 -5
  100. package/src/element-templates/send-message-connector-send-task.json +10 -5
  101. package/src/element-templates/sendgrid-outbound-connector.json +1406 -798
  102. package/src/element-templates/servicenow-connector.json +971 -3
  103. package/src/element-templates/servicenow-flow-starter-connector.json +8 -3
  104. package/src/element-templates/servicenow-incident-connector.json +980 -3
  105. package/src/element-templates/slack-inbound-boundary.json +639 -341
  106. package/src/element-templates/slack-inbound-intermediate.json +393 -95
  107. package/src/element-templates/slack-inbound-message-start.json +678 -348
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +332 -327
  110. package/src/element-templates/slack-outbound-connector.json +3313 -919
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1521 -41
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +35 -26
  114. package/src/element-templates/twilio-webhook-connector.json +238 -8
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +38 -29
  116. package/src/element-templates/twilio-webhook-message-start-connector.json +312 -0
  117. package/src/element-templates/twilio-webhook-receive-connector.json +11 -2
  118. package/src/element-templates/uipath-connector.json +607 -15
  119. package/src/element-templates/webhook-connector-boundary.json +1986 -1331
  120. package/src/element-templates/webhook-connector-intermediate.json +2193 -1538
  121. package/src/element-templates/webhook-connector-receive.json +654 -0
  122. package/src/element-templates/webhook-connector-start-event.json +1261 -700
  123. package/src/element-templates/webhook-connector-start-message.json +1754 -1067
  124. package/src/element-templates/whatsapp-connector.json +339 -5
@@ -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
6
  "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime.",
7
- "metadata": {
8
- "keywords": []
9
- },
10
- "version": 1,
7
+ "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-client-connector/",
8
+ "version": 2,
11
9
  "category": {
12
10
  "id": "connectors",
13
11
  "name": "Connectors"
@@ -34,8 +32,8 @@
34
32
  "label": "Operation"
35
33
  },
36
34
  {
37
- "id": "tools",
38
- "label": "Tools",
35
+ "id": "filters",
36
+ "label": "Filters",
39
37
  "openByDefault": false
40
38
  },
41
39
  {
@@ -132,13 +130,33 @@
132
130
  },
133
131
  "type": "Dropdown",
134
132
  "choices": [
133
+ {
134
+ "name": "List Tools",
135
+ "value": "tools/list"
136
+ },
135
137
  {
136
138
  "name": "Call Tool",
137
139
  "value": "tools/call"
138
140
  },
139
141
  {
140
- "name": "List Tools",
141
- "value": "tools/list"
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"
142
160
  }
143
161
  ]
144
162
  },
@@ -199,6 +217,93 @@
199
217
  },
200
218
  "type": "String"
201
219
  },
220
+ {
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.",
284
+ "optional": true,
285
+ "feel": "required",
286
+ "group": "operation",
287
+ "binding": {
288
+ "name": "data.connectorMode.operation.promptArguments",
289
+ "type": "zeebe:input"
290
+ },
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"
306
+ },
202
307
  {
203
308
  "id": "data.connectorMode.toolOperation.method",
204
309
  "label": "Method",
@@ -243,269 +348,216 @@
243
348
  "type": "String"
244
349
  },
245
350
  {
246
- "id": "data.tools.included",
351
+ "id": "data.connectorMode.standaloneModeFilters.tools.included",
247
352
  "label": "Included tools",
248
353
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
249
354
  "optional": true,
250
355
  "feel": "required",
251
- "group": "tools",
356
+ "group": "filters",
252
357
  "binding": {
253
- "name": "data.tools.included",
358
+ "name": "data.connectorMode.standaloneModeFilters.tools.included",
254
359
  "type": "zeebe:input"
255
360
  },
361
+ "condition": {
362
+ "allMatch": [
363
+ {
364
+ "property": "data.connectorMode.operation.type",
365
+ "oneOf": ["tools/call", "tools/list"],
366
+ "type": "simple"
367
+ },
368
+ {
369
+ "property": "data.connectorMode.type",
370
+ "equals": "standalone",
371
+ "type": "simple"
372
+ }
373
+ ]
374
+ },
256
375
  "type": "Text"
257
376
  },
258
377
  {
259
- "id": "data.tools.excluded",
378
+ "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
260
379
  "label": "Excluded tools",
261
380
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
262
381
  "optional": true,
263
382
  "feel": "required",
264
- "group": "tools",
383
+ "group": "filters",
265
384
  "binding": {
266
- "name": "data.tools.excluded",
385
+ "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
267
386
  "type": "zeebe:input"
268
387
  },
269
- "type": "Text"
270
- },
271
- {
272
- "id": "version",
273
- "label": "Version",
274
- "description": "Version of the element template",
275
- "value": "1",
276
- "group": "connector",
277
- "binding": {
278
- "key": "elementTemplateVersion",
279
- "type": "zeebe:taskHeader"
388
+ "condition": {
389
+ "allMatch": [
390
+ {
391
+ "property": "data.connectorMode.operation.type",
392
+ "oneOf": ["tools/call", "tools/list"],
393
+ "type": "simple"
394
+ },
395
+ {
396
+ "property": "data.connectorMode.type",
397
+ "equals": "standalone",
398
+ "type": "simple"
399
+ }
400
+ ]
280
401
  },
281
- "type": "Hidden"
402
+ "type": "Text"
282
403
  },
283
404
  {
284
- "id": "id",
285
- "label": "ID",
286
- "description": "ID of the element template",
287
- "value": "io.camunda.connectors.agenticai.mcp.client.v0",
288
- "group": "connector",
405
+ "id": "data.connectorMode.standaloneModeFilters.resources.included",
406
+ "label": "Included resources",
407
+ "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
408
+ "optional": true,
409
+ "feel": "required",
410
+ "group": "filters",
289
411
  "binding": {
290
- "key": "elementTemplateId",
291
- "type": "zeebe:taskHeader"
412
+ "name": "data.connectorMode.standaloneModeFilters.resources.included",
413
+ "type": "zeebe:input"
292
414
  },
293
- "type": "Hidden"
294
- },
295
- {
296
- "id": "resultVariable",
297
- "label": "Result variable",
298
- "description": "Name of variable to store the response in",
299
- "value": "toolCallResult",
300
- "group": "output",
301
- "binding": {
302
- "key": "resultVariable",
303
- "type": "zeebe:taskHeader"
415
+ "condition": {
416
+ "allMatch": [
417
+ {
418
+ "property": "data.connectorMode.operation.type",
419
+ "oneOf": [
420
+ "resources/read",
421
+ "resources/list",
422
+ "resources/templates/list"
423
+ ],
424
+ "type": "simple"
425
+ },
426
+ {
427
+ "property": "data.connectorMode.type",
428
+ "equals": "standalone",
429
+ "type": "simple"
430
+ }
431
+ ]
304
432
  },
305
- "type": "String"
433
+ "type": "Text"
306
434
  },
307
435
  {
308
- "id": "resultExpression",
309
- "label": "Result expression",
310
- "description": "Expression to map the response into process variables",
436
+ "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
437
+ "label": "Excluded resources",
438
+ "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
439
+ "optional": true,
311
440
  "feel": "required",
312
- "group": "output",
441
+ "group": "filters",
313
442
  "binding": {
314
- "key": "resultExpression",
315
- "type": "zeebe:taskHeader"
443
+ "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
444
+ "type": "zeebe:input"
445
+ },
446
+ "condition": {
447
+ "allMatch": [
448
+ {
449
+ "property": "data.connectorMode.operation.type",
450
+ "oneOf": [
451
+ "resources/read",
452
+ "resources/list",
453
+ "resources/templates/list"
454
+ ],
455
+ "type": "simple"
456
+ },
457
+ {
458
+ "property": "data.connectorMode.type",
459
+ "equals": "standalone",
460
+ "type": "simple"
461
+ }
462
+ ]
316
463
  },
317
464
  "type": "Text"
318
465
  },
319
466
  {
320
- "id": "errorExpression",
321
- "label": "Error expression",
322
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
467
+ "id": "data.connectorMode.standaloneModeFilters.prompts.included",
468
+ "label": "Included prompts",
469
+ "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
470
+ "optional": true,
323
471
  "feel": "required",
324
- "group": "error",
325
- "binding": {
326
- "key": "errorExpression",
327
- "type": "zeebe:taskHeader"
328
- },
329
- "type": "Text"
330
- },
331
- {
332
- "id": "retryCount",
333
- "label": "Retries",
334
- "description": "Number of retries",
335
- "value": "3",
336
- "feel": "optional",
337
- "group": "retries",
338
- "binding": {
339
- "property": "retries",
340
- "type": "zeebe:taskDefinition"
341
- },
342
- "type": "String"
343
- },
344
- {
345
- "id": "retryBackoff",
346
- "label": "Retry backoff",
347
- "description": "ISO-8601 duration to wait between retries",
348
- "value": "PT0S",
349
- "group": "retries",
350
- "binding": {
351
- "key": "retryBackoff",
352
- "type": "zeebe:taskHeader"
353
- },
354
- "type": "String"
355
- }
356
- ],
357
- "icon": {
358
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
359
- }
360
- },
361
- {
362
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
363
- "name": "MCP Client (early access)",
364
- "id": "io.camunda.connectors.agenticai.mcp.client.v0",
365
- "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime. Only supports tool operations.",
366
- "metadata": {
367
- "keywords": []
368
- },
369
- "version": 0,
370
- "category": {
371
- "id": "connectors",
372
- "name": "Connectors"
373
- },
374
- "appliesTo": ["bpmn:Task"],
375
- "elementType": {
376
- "value": "bpmn:ServiceTask"
377
- },
378
- "engines": {
379
- "camunda": "^8.8"
380
- },
381
- "groups": [
382
- {
383
- "id": "client",
384
- "label": "MCP Client"
385
- },
386
- {
387
- "id": "tools",
388
- "label": "Tools"
389
- },
390
- {
391
- "id": "operation",
392
- "label": "Operation",
393
- "openByDefault": false
394
- },
395
- {
396
- "id": "connector",
397
- "label": "Connector"
398
- },
399
- {
400
- "id": "output",
401
- "label": "Output mapping"
402
- },
403
- {
404
- "id": "error",
405
- "label": "Error handling"
406
- },
407
- {
408
- "id": "retries",
409
- "label": "Retries"
410
- }
411
- ],
412
- "properties": [
413
- {
414
- "value": "io.camunda.agenticai:mcpclient:0",
472
+ "group": "filters",
415
473
  "binding": {
416
- "property": "type",
417
- "type": "zeebe:taskDefinition"
474
+ "name": "data.connectorMode.standaloneModeFilters.prompts.included",
475
+ "type": "zeebe:input"
418
476
  },
419
- "type": "Hidden"
420
- },
421
- {
422
- "value": "mcpClient",
423
- "binding": {
424
- "name": "io.camunda.agenticai.gateway.type",
425
- "type": "zeebe:property"
477
+ "condition": {
478
+ "allMatch": [
479
+ {
480
+ "property": "data.connectorMode.operation.type",
481
+ "oneOf": ["prompts/get", "prompts/list"],
482
+ "type": "simple"
483
+ },
484
+ {
485
+ "property": "data.connectorMode.type",
486
+ "equals": "standalone",
487
+ "type": "simple"
488
+ }
489
+ ]
426
490
  },
427
- "type": "Hidden"
491
+ "type": "Text"
428
492
  },
429
493
  {
430
- "id": "data.client.clientId",
431
- "label": "Client ID",
432
- "description": "The MCP client ID. This needs to be configured on your connector runtime.",
433
- "optional": false,
434
- "constraints": {
435
- "notEmpty": true
436
- },
437
- "feel": "optional",
438
- "group": "client",
494
+ "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
495
+ "label": "Excluded prompts",
496
+ "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
497
+ "optional": true,
498
+ "feel": "required",
499
+ "group": "filters",
439
500
  "binding": {
440
- "name": "data.client.clientId",
501
+ "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
441
502
  "type": "zeebe:input"
442
503
  },
443
- "type": "String"
504
+ "condition": {
505
+ "allMatch": [
506
+ {
507
+ "property": "data.connectorMode.operation.type",
508
+ "oneOf": ["prompts/get", "prompts/list"],
509
+ "type": "simple"
510
+ },
511
+ {
512
+ "property": "data.connectorMode.type",
513
+ "equals": "standalone",
514
+ "type": "simple"
515
+ }
516
+ ]
517
+ },
518
+ "type": "Text"
444
519
  },
445
520
  {
446
- "id": "data.tools.included",
521
+ "id": "data.connectorMode.toolModeFilters.tools.included",
447
522
  "label": "Included tools",
448
523
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
449
524
  "optional": true,
450
525
  "feel": "required",
451
- "group": "tools",
526
+ "group": "filters",
452
527
  "binding": {
453
- "name": "data.tools.included",
528
+ "name": "data.connectorMode.toolModeFilters.tools.included",
454
529
  "type": "zeebe:input"
455
530
  },
531
+ "condition": {
532
+ "property": "data.connectorMode.type",
533
+ "equals": "aiAgentTool",
534
+ "type": "simple"
535
+ },
456
536
  "type": "Text"
457
537
  },
458
538
  {
459
- "id": "data.tools.excluded",
539
+ "id": "data.connectorMode.toolModeFilters.tools.excluded",
460
540
  "label": "Excluded tools",
461
541
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
462
542
  "optional": true,
463
543
  "feel": "required",
464
- "group": "tools",
465
- "binding": {
466
- "name": "data.tools.excluded",
467
- "type": "zeebe:input"
468
- },
469
- "type": "Text"
470
- },
471
- {
472
- "id": "data.operation.method",
473
- "label": "Method",
474
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
475
- "optional": false,
476
- "value": "=toolCall.method",
477
- "constraints": {
478
- "notEmpty": true
479
- },
480
- "feel": "optional",
481
- "group": "operation",
544
+ "group": "filters",
482
545
  "binding": {
483
- "name": "data.operation.method",
546
+ "name": "data.connectorMode.toolModeFilters.tools.excluded",
484
547
  "type": "zeebe:input"
485
548
  },
486
- "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>",
487
- "type": "String"
488
- },
489
- {
490
- "id": "data.operation.params",
491
- "label": "Parameters",
492
- "description": "The parameters to be passed to the MCP method.",
493
- "optional": true,
494
- "value": "=toolCall.params",
495
- "feel": "required",
496
- "group": "operation",
497
- "binding": {
498
- "name": "data.operation.params",
499
- "type": "zeebe:input"
549
+ "condition": {
550
+ "property": "data.connectorMode.type",
551
+ "equals": "aiAgentTool",
552
+ "type": "simple"
500
553
  },
501
- "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.",
502
- "type": "String"
554
+ "type": "Text"
503
555
  },
504
556
  {
505
557
  "id": "version",
506
558
  "label": "Version",
507
559
  "description": "Version of the element template",
508
- "value": "0",
560
+ "value": "2",
509
561
  "group": "connector",
510
562
  "binding": {
511
563
  "key": "elementTemplateVersion",
@@ -528,7 +580,7 @@
528
580
  {
529
581
  "id": "resultVariable",
530
582
  "label": "Result variable",
531
- "description": "Name of variable to store the response in",
583
+ "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>.",
532
584
  "value": "toolCallResult",
533
585
  "group": "output",
534
586
  "binding": {
@@ -540,7 +592,7 @@
540
592
  {
541
593
  "id": "resultExpression",
542
594
  "label": "Result expression",
543
- "description": "Expression to map the response into process variables",
595
+ "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>.",
544
596
  "feel": "required",
545
597
  "group": "output",
546
598
  "binding": {
@@ -599,7 +651,7 @@
599
651
  "metadata": {
600
652
  "keywords": []
601
653
  },
602
- "version": 2,
654
+ "version": 1,
603
655
  "category": {
604
656
  "id": "connectors",
605
657
  "name": "Connectors"
@@ -626,8 +678,8 @@
626
678
  "label": "Operation"
627
679
  },
628
680
  {
629
- "id": "filters",
630
- "label": "Filters",
681
+ "id": "tools",
682
+ "label": "Tools",
631
683
  "openByDefault": false
632
684
  },
633
685
  {
@@ -724,33 +776,13 @@
724
776
  },
725
777
  "type": "Dropdown",
726
778
  "choices": [
727
- {
728
- "name": "List Tools",
729
- "value": "tools/list"
730
- },
731
779
  {
732
780
  "name": "Call Tool",
733
781
  "value": "tools/call"
734
782
  },
735
783
  {
736
- "name": "List Resources",
737
- "value": "resources/list"
738
- },
739
- {
740
- "name": "List Resource Templates",
741
- "value": "resources/templates/list"
742
- },
743
- {
744
- "name": "Read Resource",
745
- "value": "resources/read"
746
- },
747
- {
748
- "name": "List Prompts",
749
- "value": "prompts/list"
750
- },
751
- {
752
- "name": "Get Prompt",
753
- "value": "prompts/get"
784
+ "name": "List Tools",
785
+ "value": "tools/list"
754
786
  }
755
787
  ]
756
788
  },
@@ -812,105 +844,18 @@
812
844
  "type": "String"
813
845
  },
814
846
  {
815
- "id": "data.connectorMode.operation.resourceUri",
816
- "label": "Resource URI",
817
- "description": "The URI of the resource to read.",
847
+ "id": "data.connectorMode.toolOperation.method",
848
+ "label": "Method",
849
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
818
850
  "optional": false,
851
+ "value": "=toolCall.method",
819
852
  "constraints": {
820
853
  "notEmpty": true
821
854
  },
822
855
  "feel": "optional",
823
856
  "group": "operation",
824
857
  "binding": {
825
- "name": "data.connectorMode.operation.resourceUri",
826
- "type": "zeebe:input"
827
- },
828
- "condition": {
829
- "allMatch": [
830
- {
831
- "property": "data.connectorMode.operation.type",
832
- "equals": "resources/read",
833
- "type": "simple"
834
- },
835
- {
836
- "property": "data.connectorMode.type",
837
- "equals": "standalone",
838
- "type": "simple"
839
- }
840
- ]
841
- },
842
- "type": "String"
843
- },
844
- {
845
- "id": "data.connectorMode.operation.promptName",
846
- "label": "Prompt name",
847
- "description": "The name of the prompt to get.",
848
- "optional": false,
849
- "constraints": {
850
- "notEmpty": true
851
- },
852
- "feel": "optional",
853
- "group": "operation",
854
- "binding": {
855
- "name": "data.connectorMode.operation.promptName",
856
- "type": "zeebe:input"
857
- },
858
- "condition": {
859
- "allMatch": [
860
- {
861
- "property": "data.connectorMode.operation.type",
862
- "equals": "prompts/get",
863
- "type": "simple"
864
- },
865
- {
866
- "property": "data.connectorMode.type",
867
- "equals": "standalone",
868
- "type": "simple"
869
- }
870
- ]
871
- },
872
- "type": "String"
873
- },
874
- {
875
- "id": "data.connectorMode.operation.promptArguments",
876
- "label": "Prompt arguments",
877
- "description": "The arguments to pass to the prompt generation.",
878
- "optional": true,
879
- "feel": "required",
880
- "group": "operation",
881
- "binding": {
882
- "name": "data.connectorMode.operation.promptArguments",
883
- "type": "zeebe:input"
884
- },
885
- "condition": {
886
- "allMatch": [
887
- {
888
- "property": "data.connectorMode.operation.type",
889
- "equals": "prompts/get",
890
- "type": "simple"
891
- },
892
- {
893
- "property": "data.connectorMode.type",
894
- "equals": "standalone",
895
- "type": "simple"
896
- }
897
- ]
898
- },
899
- "type": "String"
900
- },
901
- {
902
- "id": "data.connectorMode.toolOperation.method",
903
- "label": "Method",
904
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
905
- "optional": false,
906
- "value": "=toolCall.method",
907
- "constraints": {
908
- "notEmpty": true
909
- },
910
- "feel": "optional",
911
- "group": "operation",
912
- "binding": {
913
- "name": "data.connectorMode.toolOperation.method",
858
+ "name": "data.connectorMode.toolOperation.method",
914
859
  "type": "zeebe:input"
915
860
  },
916
861
  "condition": {
@@ -942,216 +887,269 @@
942
887
  "type": "String"
943
888
  },
944
889
  {
945
- "id": "data.connectorMode.standaloneModeFilters.tools.included",
890
+ "id": "data.tools.included",
946
891
  "label": "Included tools",
947
892
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
948
893
  "optional": true,
949
894
  "feel": "required",
950
- "group": "filters",
895
+ "group": "tools",
951
896
  "binding": {
952
- "name": "data.connectorMode.standaloneModeFilters.tools.included",
897
+ "name": "data.tools.included",
953
898
  "type": "zeebe:input"
954
899
  },
955
- "condition": {
956
- "allMatch": [
957
- {
958
- "property": "data.connectorMode.operation.type",
959
- "oneOf": ["tools/call", "tools/list"],
960
- "type": "simple"
961
- },
962
- {
963
- "property": "data.connectorMode.type",
964
- "equals": "standalone",
965
- "type": "simple"
966
- }
967
- ]
968
- },
969
900
  "type": "Text"
970
901
  },
971
902
  {
972
- "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
903
+ "id": "data.tools.excluded",
973
904
  "label": "Excluded tools",
974
905
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
975
906
  "optional": true,
976
907
  "feel": "required",
977
- "group": "filters",
908
+ "group": "tools",
978
909
  "binding": {
979
- "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
910
+ "name": "data.tools.excluded",
980
911
  "type": "zeebe:input"
981
912
  },
982
- "condition": {
983
- "allMatch": [
984
- {
985
- "property": "data.connectorMode.operation.type",
986
- "oneOf": ["tools/call", "tools/list"],
987
- "type": "simple"
988
- },
989
- {
990
- "property": "data.connectorMode.type",
991
- "equals": "standalone",
992
- "type": "simple"
993
- }
994
- ]
995
- },
996
913
  "type": "Text"
997
914
  },
998
915
  {
999
- "id": "data.connectorMode.standaloneModeFilters.resources.included",
1000
- "label": "Included resources",
1001
- "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
1002
- "optional": true,
1003
- "feel": "required",
1004
- "group": "filters",
916
+ "id": "version",
917
+ "label": "Version",
918
+ "description": "Version of the element template",
919
+ "value": "1",
920
+ "group": "connector",
1005
921
  "binding": {
1006
- "name": "data.connectorMode.standaloneModeFilters.resources.included",
1007
- "type": "zeebe:input"
922
+ "key": "elementTemplateVersion",
923
+ "type": "zeebe:taskHeader"
1008
924
  },
1009
- "condition": {
1010
- "allMatch": [
1011
- {
1012
- "property": "data.connectorMode.operation.type",
1013
- "oneOf": [
1014
- "resources/read",
1015
- "resources/list",
1016
- "resources/templates/list"
1017
- ],
1018
- "type": "simple"
1019
- },
1020
- {
1021
- "property": "data.connectorMode.type",
1022
- "equals": "standalone",
1023
- "type": "simple"
1024
- }
1025
- ]
925
+ "type": "Hidden"
926
+ },
927
+ {
928
+ "id": "id",
929
+ "label": "ID",
930
+ "description": "ID of the element template",
931
+ "value": "io.camunda.connectors.agenticai.mcp.client.v0",
932
+ "group": "connector",
933
+ "binding": {
934
+ "key": "elementTemplateId",
935
+ "type": "zeebe:taskHeader"
1026
936
  },
1027
- "type": "Text"
937
+ "type": "Hidden"
1028
938
  },
1029
939
  {
1030
- "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
1031
- "label": "Excluded resources",
1032
- "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
1033
- "optional": true,
1034
- "feel": "required",
1035
- "group": "filters",
940
+ "id": "resultVariable",
941
+ "label": "Result variable",
942
+ "description": "Name of variable to store the response in",
943
+ "value": "toolCallResult",
944
+ "group": "output",
1036
945
  "binding": {
1037
- "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
1038
- "type": "zeebe:input"
946
+ "key": "resultVariable",
947
+ "type": "zeebe:taskHeader"
1039
948
  },
1040
- "condition": {
1041
- "allMatch": [
1042
- {
1043
- "property": "data.connectorMode.operation.type",
1044
- "oneOf": [
1045
- "resources/read",
1046
- "resources/list",
1047
- "resources/templates/list"
1048
- ],
1049
- "type": "simple"
1050
- },
1051
- {
1052
- "property": "data.connectorMode.type",
1053
- "equals": "standalone",
1054
- "type": "simple"
1055
- }
1056
- ]
949
+ "type": "String"
950
+ },
951
+ {
952
+ "id": "resultExpression",
953
+ "label": "Result expression",
954
+ "description": "Expression to map the response into process variables",
955
+ "feel": "required",
956
+ "group": "output",
957
+ "binding": {
958
+ "key": "resultExpression",
959
+ "type": "zeebe:taskHeader"
1057
960
  },
1058
961
  "type": "Text"
1059
962
  },
1060
963
  {
1061
- "id": "data.connectorMode.standaloneModeFilters.prompts.included",
1062
- "label": "Included prompts",
1063
- "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
1064
- "optional": true,
964
+ "id": "errorExpression",
965
+ "label": "Error expression",
966
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1065
967
  "feel": "required",
1066
- "group": "filters",
968
+ "group": "error",
1067
969
  "binding": {
1068
- "name": "data.connectorMode.standaloneModeFilters.prompts.included",
1069
- "type": "zeebe:input"
1070
- },
1071
- "condition": {
1072
- "allMatch": [
1073
- {
1074
- "property": "data.connectorMode.operation.type",
1075
- "oneOf": ["prompts/get", "prompts/list"],
1076
- "type": "simple"
1077
- },
1078
- {
1079
- "property": "data.connectorMode.type",
1080
- "equals": "standalone",
1081
- "type": "simple"
1082
- }
1083
- ]
970
+ "key": "errorExpression",
971
+ "type": "zeebe:taskHeader"
1084
972
  },
1085
973
  "type": "Text"
1086
974
  },
1087
975
  {
1088
- "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1089
- "label": "Excluded prompts",
1090
- "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
1091
- "optional": true,
1092
- "feel": "required",
1093
- "group": "filters",
976
+ "id": "retryCount",
977
+ "label": "Retries",
978
+ "description": "Number of retries",
979
+ "value": "3",
980
+ "feel": "optional",
981
+ "group": "retries",
1094
982
  "binding": {
1095
- "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1096
- "type": "zeebe:input"
983
+ "property": "retries",
984
+ "type": "zeebe:taskDefinition"
1097
985
  },
1098
- "condition": {
1099
- "allMatch": [
1100
- {
1101
- "property": "data.connectorMode.operation.type",
1102
- "oneOf": ["prompts/get", "prompts/list"],
1103
- "type": "simple"
1104
- },
1105
- {
1106
- "property": "data.connectorMode.type",
1107
- "equals": "standalone",
1108
- "type": "simple"
1109
- }
1110
- ]
986
+ "type": "String"
987
+ },
988
+ {
989
+ "id": "retryBackoff",
990
+ "label": "Retry backoff",
991
+ "description": "ISO-8601 duration to wait between retries",
992
+ "value": "PT0S",
993
+ "group": "retries",
994
+ "binding": {
995
+ "key": "retryBackoff",
996
+ "type": "zeebe:taskHeader"
1111
997
  },
1112
- "type": "Text"
998
+ "type": "String"
999
+ }
1000
+ ],
1001
+ "icon": {
1002
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
1003
+ }
1004
+ },
1005
+ {
1006
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1007
+ "name": "MCP Client (early access)",
1008
+ "id": "io.camunda.connectors.agenticai.mcp.client.v0",
1009
+ "description": "MCP (Model Context Protocol) client using MCP connections configured on the connector runtime. Only supports tool operations.",
1010
+ "metadata": {
1011
+ "keywords": []
1012
+ },
1013
+ "version": 0,
1014
+ "category": {
1015
+ "id": "connectors",
1016
+ "name": "Connectors"
1017
+ },
1018
+ "appliesTo": ["bpmn:Task"],
1019
+ "elementType": {
1020
+ "value": "bpmn:ServiceTask"
1021
+ },
1022
+ "engines": {
1023
+ "camunda": "^8.8"
1024
+ },
1025
+ "groups": [
1026
+ {
1027
+ "id": "client",
1028
+ "label": "MCP Client"
1113
1029
  },
1114
1030
  {
1115
- "id": "data.connectorMode.toolModeFilters.tools.included",
1031
+ "id": "tools",
1032
+ "label": "Tools"
1033
+ },
1034
+ {
1035
+ "id": "operation",
1036
+ "label": "Operation",
1037
+ "openByDefault": false
1038
+ },
1039
+ {
1040
+ "id": "connector",
1041
+ "label": "Connector"
1042
+ },
1043
+ {
1044
+ "id": "output",
1045
+ "label": "Output mapping"
1046
+ },
1047
+ {
1048
+ "id": "error",
1049
+ "label": "Error handling"
1050
+ },
1051
+ {
1052
+ "id": "retries",
1053
+ "label": "Retries"
1054
+ }
1055
+ ],
1056
+ "properties": [
1057
+ {
1058
+ "value": "io.camunda.agenticai:mcpclient:0",
1059
+ "binding": {
1060
+ "property": "type",
1061
+ "type": "zeebe:taskDefinition"
1062
+ },
1063
+ "type": "Hidden"
1064
+ },
1065
+ {
1066
+ "value": "mcpClient",
1067
+ "binding": {
1068
+ "name": "io.camunda.agenticai.gateway.type",
1069
+ "type": "zeebe:property"
1070
+ },
1071
+ "type": "Hidden"
1072
+ },
1073
+ {
1074
+ "id": "data.client.clientId",
1075
+ "label": "Client ID",
1076
+ "description": "The MCP client ID. This needs to be configured on your connector runtime.",
1077
+ "optional": false,
1078
+ "constraints": {
1079
+ "notEmpty": true
1080
+ },
1081
+ "feel": "optional",
1082
+ "group": "client",
1083
+ "binding": {
1084
+ "name": "data.client.clientId",
1085
+ "type": "zeebe:input"
1086
+ },
1087
+ "type": "String"
1088
+ },
1089
+ {
1090
+ "id": "data.tools.included",
1116
1091
  "label": "Included tools",
1117
1092
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1118
1093
  "optional": true,
1119
1094
  "feel": "required",
1120
- "group": "filters",
1095
+ "group": "tools",
1121
1096
  "binding": {
1122
- "name": "data.connectorMode.toolModeFilters.tools.included",
1097
+ "name": "data.tools.included",
1123
1098
  "type": "zeebe:input"
1124
1099
  },
1125
- "condition": {
1126
- "property": "data.connectorMode.type",
1127
- "equals": "aiAgentTool",
1128
- "type": "simple"
1129
- },
1130
1100
  "type": "Text"
1131
1101
  },
1132
1102
  {
1133
- "id": "data.connectorMode.toolModeFilters.tools.excluded",
1103
+ "id": "data.tools.excluded",
1134
1104
  "label": "Excluded tools",
1135
1105
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1136
1106
  "optional": true,
1137
1107
  "feel": "required",
1138
- "group": "filters",
1108
+ "group": "tools",
1139
1109
  "binding": {
1140
- "name": "data.connectorMode.toolModeFilters.tools.excluded",
1110
+ "name": "data.tools.excluded",
1141
1111
  "type": "zeebe:input"
1142
1112
  },
1143
- "condition": {
1144
- "property": "data.connectorMode.type",
1145
- "equals": "aiAgentTool",
1146
- "type": "simple"
1147
- },
1148
1113
  "type": "Text"
1149
1114
  },
1115
+ {
1116
+ "id": "data.operation.method",
1117
+ "label": "Method",
1118
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
1119
+ "optional": false,
1120
+ "value": "=toolCall.method",
1121
+ "constraints": {
1122
+ "notEmpty": true
1123
+ },
1124
+ "feel": "optional",
1125
+ "group": "operation",
1126
+ "binding": {
1127
+ "name": "data.operation.method",
1128
+ "type": "zeebe:input"
1129
+ },
1130
+ "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>",
1131
+ "type": "String"
1132
+ },
1133
+ {
1134
+ "id": "data.operation.params",
1135
+ "label": "Parameters",
1136
+ "description": "The parameters to be passed to the MCP method.",
1137
+ "optional": true,
1138
+ "value": "=toolCall.params",
1139
+ "feel": "required",
1140
+ "group": "operation",
1141
+ "binding": {
1142
+ "name": "data.operation.params",
1143
+ "type": "zeebe:input"
1144
+ },
1145
+ "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.",
1146
+ "type": "String"
1147
+ },
1150
1148
  {
1151
1149
  "id": "version",
1152
1150
  "label": "Version",
1153
1151
  "description": "Version of the element template",
1154
- "value": "2",
1152
+ "value": "0",
1155
1153
  "group": "connector",
1156
1154
  "binding": {
1157
1155
  "key": "elementTemplateVersion",