@camunda/connectors-element-templates 1.0.17 → 1.0.19

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 (125) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -2
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +4 -7
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +8 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +8 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +8 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +8 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +9 -12
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3770 -29
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6274 -2594
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +549 -552
  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 +736 -739
  14. package/src/element-templates/asana-connector.json +759 -48
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1763 -1759
  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 +747 -10
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1358 -1358
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +383 -18
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +377 -12
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +407 -8
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +317 -0
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +300 -295
  29. package/src/element-templates/aws-lambda-outbound-connector.json +238 -234
  30. package/src/element-templates/aws-s3-outbound-connector.json +646 -5
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +13 -9
  32. package/src/element-templates/aws-sns-inbound-boundary.json +44 -37
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +210 -203
  34. package/src/element-templates/aws-sns-inbound-message-start.json +125 -118
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +134 -127
  37. package/src/element-templates/aws-sns-outbound-connector.json +581 -577
  38. package/src/element-templates/aws-sqs-boundary-connector.json +453 -449
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +530 -526
  40. package/src/element-templates/aws-sqs-outbound-connector.json +711 -709
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +213 -205
  43. package/src/element-templates/aws-sqs-start-message.json +461 -457
  44. package/src/element-templates/aws-textract-outbound-connector.json +109 -105
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +676 -19
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +569 -24
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +13 -5
  50. package/src/element-templates/easy-post-connector.json +1077 -109
  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 +58 -50
  55. package/src/element-templates/email-outbound-connector.json +2116 -243
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3 -6
  57. package/src/element-templates/github-connector.json +15257 -11722
  58. package/src/element-templates/github-webhook-connector-boundary.json +27 -29
  59. package/src/element-templates/github-webhook-connector-intermediate.json +36 -38
  60. package/src/element-templates/github-webhook-connector-message-start.json +11 -13
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +54 -56
  63. package/src/element-templates/gitlab-connector.json +4177 -2545
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +562 -13
  65. package/src/element-templates/google-drive-outbound-connector.json +1386 -766
  66. package/src/element-templates/google-gemini-outbound-connector.json +13 -5
  67. package/src/element-templates/google-maps-platform-connector.json +1059 -30
  68. package/src/element-templates/google-sheets-outbound-connector.json +2449 -1455
  69. package/src/element-templates/graphql-outbound-connector.json +1744 -1735
  70. package/src/element-templates/http-json-connector.json +2982 -2332
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +752 -741
  72. package/src/element-templates/http-polling-connector.json +1512 -1501
  73. package/src/element-templates/hubspot-outbound-connector.json +2371 -25
  74. package/src/element-templates/hugging-face-connector.json +234 -3
  75. package/src/element-templates/jdbc-outbound-connector.json +20 -6
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +613 -604
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +528 -519
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +530 -521
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +518 -512
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +18 -6
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +18 -6
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +18 -6
  85. package/src/element-templates/microsoft-office365-mail-connector.json +893 -10
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5971 -3807
  87. package/src/element-templates/openai-connector.json +550 -87
  88. package/src/element-templates/operate-connector.json +1198 -46
  89. package/src/element-templates/power-automate-connector.json +601 -9
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +444 -435
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +484 -475
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +367 -358
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +479 -470
  95. package/src/element-templates/rabbitmq-outbound-connector.json +356 -350
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +544 -0
  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 +945 -337
  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 +490 -192
  106. package/src/element-templates/slack-inbound-intermediate.json +421 -123
  107. package/src/element-templates/slack-inbound-message-start.json +469 -139
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +216 -211
  110. package/src/element-templates/slack-outbound-connector.json +2451 -753
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1573 -93
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +19 -10
  114. package/src/element-templates/twilio-webhook-connector.json +243 -13
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +34 -25
  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 +594 -2
  119. package/src/element-templates/webhook-connector-boundary.json +580 -570
  120. package/src/element-templates/webhook-connector-intermediate.json +1390 -1380
  121. package/src/element-templates/webhook-connector-receive.json +16 -6
  122. package/src/element-templates/webhook-connector-start-event.json +1382 -1375
  123. package/src/element-templates/webhook-connector-start-message.json +1306 -1296
  124. package/src/element-templates/whatsapp-connector.json +343 -9
  125. package/src/element-templates/http-connector.json.json +0 -654
@@ -1,53 +1,38 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "MCP Remote Client",
4
+ "name": "MCP Remote Client (early access)",
5
5
  "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
6
- "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
6
+ "description": "MCP (Model Context Protocol) client, operating on temporary remote connections. Only supports tool operations.",
7
7
  "metadata": {
8
8
  "keywords": []
9
9
  },
10
- "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-remote-client-connector/",
11
- "version": 2,
10
+ "version": 0,
12
11
  "category": {
13
- "id": "connectors",
14
- "name": "Connectors"
12
+ "id": "aiTools",
13
+ "name": "AI Tools"
15
14
  },
16
15
  "appliesTo": ["bpmn:Task"],
17
16
  "elementType": {
18
17
  "value": "bpmn:ServiceTask"
19
18
  },
20
19
  "engines": {
21
- "camunda": "^8.9"
20
+ "camunda": "^8.8"
22
21
  },
23
22
  "groups": [
24
23
  {
25
- "id": "transport",
26
- "label": "Transport",
27
- "tooltip": "Configure the connection to the remote MCP server."
28
- },
29
- {
30
- "id": "authentication",
31
- "label": "Authentication"
32
- },
33
- {
34
- "id": "options",
35
- "label": "Options"
24
+ "id": "connection",
25
+ "label": "HTTP Connection",
26
+ "tooltip": "Configure the HTTP/SSE connection to the remote MCP server. Setting authentication headers is not supported yet."
36
27
  },
37
28
  {
38
- "id": "connectorMode",
39
- "label": "Connector mode",
40
- "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
29
+ "id": "tools",
30
+ "label": "Tools"
41
31
  },
42
32
  {
43
33
  "id": "operation",
44
34
  "label": "Operation"
45
35
  },
46
- {
47
- "id": "filters",
48
- "label": "Filters",
49
- "openByDefault": false
50
- },
51
36
  {
52
37
  "id": "connector",
53
38
  "label": "Connector"
@@ -67,7 +52,7 @@
67
52
  ],
68
53
  "properties": [
69
54
  {
70
- "value": "io.camunda.agenticai:mcpremoteclient:1",
55
+ "value": "io.camunda.agenticai:mcpremoteclient:0",
71
56
  "binding": {
72
57
  "property": "type",
73
58
  "type": "zeebe:taskDefinition"
@@ -80,200 +65,471 @@
80
65
  "name": "io.camunda.agenticai.gateway.type",
81
66
  "type": "zeebe:property"
82
67
  },
83
- "condition": {
84
- "property": "data.connectorMode.type",
85
- "equals": "aiAgentTool",
86
- "type": "simple"
87
- },
88
68
  "type": "Hidden"
89
69
  },
90
70
  {
91
- "id": "data.transport.type",
92
- "label": "Type",
93
- "description": "Specify the MCP transport type.",
94
- "value": "http",
95
- "group": "transport",
96
- "binding": {
97
- "name": "data.transport.type",
98
- "type": "zeebe:input"
99
- },
100
- "type": "Dropdown",
101
- "choices": [
102
- {
103
- "name": "Streamable HTTP",
104
- "value": "http"
105
- },
106
- {
107
- "name": "SSE",
108
- "value": "sse"
109
- }
110
- ]
111
- },
112
- {
113
- "id": "data.transport.http.url",
114
- "label": "URL",
115
- "description": "URL to connect to the MCP server. Typically ends with <code>/mcp</code>.",
71
+ "id": "data.connection.sseUrl",
72
+ "label": "SSE URL",
73
+ "description": "SSE URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
116
74
  "optional": false,
117
75
  "constraints": {
118
76
  "notEmpty": true
119
77
  },
120
78
  "feel": "optional",
121
- "group": "transport",
79
+ "group": "connection",
122
80
  "binding": {
123
- "name": "data.transport.http.url",
81
+ "name": "data.connection.sseUrl",
124
82
  "type": "zeebe:input"
125
83
  },
126
- "condition": {
127
- "property": "data.transport.type",
128
- "equals": "http",
129
- "type": "simple"
130
- },
131
84
  "type": "String"
132
85
  },
133
86
  {
134
- "id": "data.transport.http.headers",
87
+ "id": "data.connection.headers",
135
88
  "label": "HTTP headers",
136
- "description": "Map of HTTP headers to add to the request.",
89
+ "description": "Map of HTTP headers to add to the request <strong>(NOT SUPPORTED YET)</strong>.",
137
90
  "optional": true,
138
- "feel": "required",
139
- "group": "transport",
91
+ "group": "connection",
140
92
  "binding": {
141
- "name": "data.transport.http.headers",
93
+ "name": "data.connection.headers",
142
94
  "type": "zeebe:input"
143
95
  },
144
- "condition": {
145
- "property": "data.transport.type",
146
- "equals": "http",
147
- "type": "simple"
148
- },
149
- "type": "String"
96
+ "type": "Hidden"
150
97
  },
151
98
  {
152
- "id": "data.transport.http.timeout",
99
+ "id": "data.connection.timeout",
153
100
  "label": "Timeout",
154
101
  "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
155
102
  "optional": true,
156
- "feel": "optional",
157
- "group": "transport",
103
+ "group": "connection",
158
104
  "binding": {
159
- "name": "data.transport.http.timeout",
105
+ "name": "data.connection.timeout",
160
106
  "type": "zeebe:input"
161
107
  },
162
- "condition": {
163
- "property": "data.transport.type",
164
- "equals": "http",
165
- "type": "simple"
108
+ "type": "Hidden"
109
+ },
110
+ {
111
+ "id": "data.tools.included",
112
+ "label": "Included tools",
113
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
114
+ "optional": true,
115
+ "feel": "required",
116
+ "group": "tools",
117
+ "binding": {
118
+ "name": "data.tools.included",
119
+ "type": "zeebe:input"
166
120
  },
167
- "type": "String"
121
+ "type": "Text"
168
122
  },
169
123
  {
170
- "id": "data.transport.sse.url",
171
- "label": "URL",
172
- "description": "URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
124
+ "id": "data.tools.excluded",
125
+ "label": "Excluded tools",
126
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
127
+ "optional": true,
128
+ "feel": "required",
129
+ "group": "tools",
130
+ "binding": {
131
+ "name": "data.tools.excluded",
132
+ "type": "zeebe:input"
133
+ },
134
+ "type": "Text"
135
+ },
136
+ {
137
+ "id": "data.operation.method",
138
+ "label": "Method",
139
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
173
140
  "optional": false,
141
+ "value": "=toolCall.method",
174
142
  "constraints": {
175
143
  "notEmpty": true
176
144
  },
177
145
  "feel": "optional",
178
- "group": "transport",
146
+ "group": "operation",
179
147
  "binding": {
180
- "name": "data.transport.sse.url",
148
+ "name": "data.operation.method",
181
149
  "type": "zeebe:input"
182
150
  },
183
- "condition": {
184
- "property": "data.transport.type",
185
- "equals": "sse",
186
- "type": "simple"
187
- },
151
+ "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>",
188
152
  "type": "String"
189
153
  },
190
154
  {
191
- "id": "data.transport.sse.headers",
192
- "label": "HTTP headers",
193
- "description": "Map of HTTP headers to add to the request.",
155
+ "id": "data.operation.params",
156
+ "label": "Parameters",
157
+ "description": "The parameters to be passed to the MCP method.",
194
158
  "optional": true,
159
+ "value": "=toolCall.params",
195
160
  "feel": "required",
196
- "group": "transport",
161
+ "group": "operation",
197
162
  "binding": {
198
- "name": "data.transport.sse.headers",
163
+ "name": "data.operation.params",
199
164
  "type": "zeebe:input"
200
165
  },
201
- "condition": {
202
- "property": "data.transport.type",
203
- "equals": "sse",
204
- "type": "simple"
205
- },
166
+ "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.",
206
167
  "type": "String"
207
168
  },
208
169
  {
209
- "id": "data.transport.sse.timeout",
210
- "label": "Timeout",
211
- "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
212
- "optional": true,
213
- "feel": "optional",
214
- "group": "transport",
170
+ "id": "version",
171
+ "label": "Version",
172
+ "description": "Version of the element template",
173
+ "value": "0",
174
+ "group": "connector",
215
175
  "binding": {
216
- "name": "data.transport.sse.timeout",
217
- "type": "zeebe:input"
218
- },
219
- "condition": {
220
- "property": "data.transport.type",
221
- "equals": "sse",
222
- "type": "simple"
176
+ "key": "elementTemplateVersion",
177
+ "type": "zeebe:taskHeader"
223
178
  },
224
- "type": "String"
179
+ "type": "Hidden"
225
180
  },
226
181
  {
227
- "id": "data.transport.http.authentication.type",
228
- "label": "Type",
229
- "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
230
- "value": "noAuth",
231
- "group": "authentication",
182
+ "id": "id",
183
+ "label": "ID",
184
+ "description": "ID of the element template",
185
+ "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
186
+ "group": "connector",
232
187
  "binding": {
233
- "name": "data.transport.http.authentication.type",
234
- "type": "zeebe:input"
235
- },
236
- "condition": {
237
- "property": "data.transport.type",
238
- "equals": "http",
239
- "type": "simple"
188
+ "key": "elementTemplateId",
189
+ "type": "zeebe:taskHeader"
240
190
  },
241
- "type": "Dropdown",
242
- "choices": [
243
- {
244
- "name": "None",
245
- "value": "noAuth"
246
- },
247
- {
248
- "name": "Basic",
249
- "value": "basic"
250
- },
251
- {
252
- "name": "Bearer token",
253
- "value": "bearer"
254
- },
255
- {
256
- "name": "OAuth 2.0",
257
- "value": "oauth-client-credentials-flow"
258
- }
259
- ]
191
+ "type": "Hidden"
260
192
  },
261
193
  {
262
- "id": "data.transport.http.authentication.username",
263
- "label": "Username",
264
- "optional": false,
265
- "constraints": {
266
- "notEmpty": true
194
+ "id": "resultVariable",
195
+ "label": "Result variable",
196
+ "description": "Name of variable to store the response in",
197
+ "value": "toolCallResult",
198
+ "group": "output",
199
+ "binding": {
200
+ "key": "resultVariable",
201
+ "type": "zeebe:taskHeader"
267
202
  },
268
- "feel": "optional",
269
- "group": "authentication",
203
+ "type": "String"
204
+ },
205
+ {
206
+ "id": "resultExpression",
207
+ "label": "Result expression",
208
+ "description": "Expression to map the response into process variables",
209
+ "feel": "required",
210
+ "group": "output",
270
211
  "binding": {
271
- "name": "data.transport.http.authentication.username",
272
- "type": "zeebe:input"
212
+ "key": "resultExpression",
213
+ "type": "zeebe:taskHeader"
273
214
  },
274
- "condition": {
275
- "allMatch": [
276
- {
215
+ "type": "Text"
216
+ },
217
+ {
218
+ "id": "errorExpression",
219
+ "label": "Error expression",
220
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
221
+ "feel": "required",
222
+ "group": "error",
223
+ "binding": {
224
+ "key": "errorExpression",
225
+ "type": "zeebe:taskHeader"
226
+ },
227
+ "type": "Text"
228
+ },
229
+ {
230
+ "id": "retryCount",
231
+ "label": "Retries",
232
+ "description": "Number of retries",
233
+ "value": "3",
234
+ "feel": "optional",
235
+ "group": "retries",
236
+ "binding": {
237
+ "property": "retries",
238
+ "type": "zeebe:taskDefinition"
239
+ },
240
+ "type": "String"
241
+ },
242
+ {
243
+ "id": "retryBackoff",
244
+ "label": "Retry backoff",
245
+ "description": "ISO-8601 duration to wait between retries",
246
+ "value": "PT0S",
247
+ "group": "retries",
248
+ "binding": {
249
+ "key": "retryBackoff",
250
+ "type": "zeebe:taskHeader"
251
+ },
252
+ "type": "String"
253
+ }
254
+ ],
255
+ "icon": {
256
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
257
+ }
258
+ },
259
+ {
260
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
261
+ "name": "MCP Remote Client (early access)",
262
+ "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
263
+ "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
264
+ "metadata": {
265
+ "keywords": []
266
+ },
267
+ "version": 1,
268
+ "category": {
269
+ "id": "aiTools",
270
+ "name": "AI Tools"
271
+ },
272
+ "appliesTo": ["bpmn:Task"],
273
+ "elementType": {
274
+ "value": "bpmn:ServiceTask"
275
+ },
276
+ "engines": {
277
+ "camunda": "^8.9"
278
+ },
279
+ "groups": [
280
+ {
281
+ "id": "transport",
282
+ "label": "Transport",
283
+ "tooltip": "Configure the connection to the remote MCP server."
284
+ },
285
+ {
286
+ "id": "authentication",
287
+ "label": "Authentication"
288
+ },
289
+ {
290
+ "id": "options",
291
+ "label": "Options"
292
+ },
293
+ {
294
+ "id": "connectorMode",
295
+ "label": "Connector mode",
296
+ "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
297
+ },
298
+ {
299
+ "id": "operation",
300
+ "label": "Operation"
301
+ },
302
+ {
303
+ "id": "tools",
304
+ "label": "Tools",
305
+ "openByDefault": false
306
+ },
307
+ {
308
+ "id": "connector",
309
+ "label": "Connector"
310
+ },
311
+ {
312
+ "id": "output",
313
+ "label": "Output mapping"
314
+ },
315
+ {
316
+ "id": "error",
317
+ "label": "Error handling"
318
+ },
319
+ {
320
+ "id": "retries",
321
+ "label": "Retries"
322
+ }
323
+ ],
324
+ "properties": [
325
+ {
326
+ "value": "io.camunda.agenticai:mcpremoteclient:1",
327
+ "binding": {
328
+ "property": "type",
329
+ "type": "zeebe:taskDefinition"
330
+ },
331
+ "type": "Hidden"
332
+ },
333
+ {
334
+ "value": "mcpClient",
335
+ "binding": {
336
+ "name": "io.camunda.agenticai.gateway.type",
337
+ "type": "zeebe:property"
338
+ },
339
+ "condition": {
340
+ "property": "data.connectorMode.type",
341
+ "equals": "aiAgentTool",
342
+ "type": "simple"
343
+ },
344
+ "type": "Hidden"
345
+ },
346
+ {
347
+ "id": "data.transport.type",
348
+ "label": "Type",
349
+ "description": "Specify the MCP transport type.",
350
+ "value": "http",
351
+ "group": "transport",
352
+ "binding": {
353
+ "name": "data.transport.type",
354
+ "type": "zeebe:input"
355
+ },
356
+ "type": "Dropdown",
357
+ "choices": [
358
+ {
359
+ "name": "Streamable HTTP",
360
+ "value": "http"
361
+ },
362
+ {
363
+ "name": "SSE",
364
+ "value": "sse"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "id": "data.transport.http.url",
370
+ "label": "URL",
371
+ "description": "URL to connect to the MCP server. Typically ends with <code>/mcp</code>.",
372
+ "optional": false,
373
+ "constraints": {
374
+ "notEmpty": true
375
+ },
376
+ "feel": "optional",
377
+ "group": "transport",
378
+ "binding": {
379
+ "name": "data.transport.http.url",
380
+ "type": "zeebe:input"
381
+ },
382
+ "condition": {
383
+ "property": "data.transport.type",
384
+ "equals": "http",
385
+ "type": "simple"
386
+ },
387
+ "type": "String"
388
+ },
389
+ {
390
+ "id": "data.transport.http.headers",
391
+ "label": "HTTP headers",
392
+ "description": "Map of HTTP headers to add to the request.",
393
+ "optional": true,
394
+ "feel": "required",
395
+ "group": "transport",
396
+ "binding": {
397
+ "name": "data.transport.http.headers",
398
+ "type": "zeebe:input"
399
+ },
400
+ "condition": {
401
+ "property": "data.transport.type",
402
+ "equals": "http",
403
+ "type": "simple"
404
+ },
405
+ "type": "String"
406
+ },
407
+ {
408
+ "id": "data.transport.http.timeout",
409
+ "label": "Timeout",
410
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
411
+ "optional": true,
412
+ "feel": "optional",
413
+ "group": "transport",
414
+ "binding": {
415
+ "name": "data.transport.http.timeout",
416
+ "type": "zeebe:input"
417
+ },
418
+ "condition": {
419
+ "property": "data.transport.type",
420
+ "equals": "http",
421
+ "type": "simple"
422
+ },
423
+ "type": "String"
424
+ },
425
+ {
426
+ "id": "data.transport.sse.url",
427
+ "label": "URL",
428
+ "description": "URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
429
+ "optional": false,
430
+ "constraints": {
431
+ "notEmpty": true
432
+ },
433
+ "feel": "optional",
434
+ "group": "transport",
435
+ "binding": {
436
+ "name": "data.transport.sse.url",
437
+ "type": "zeebe:input"
438
+ },
439
+ "condition": {
440
+ "property": "data.transport.type",
441
+ "equals": "sse",
442
+ "type": "simple"
443
+ },
444
+ "type": "String"
445
+ },
446
+ {
447
+ "id": "data.transport.sse.headers",
448
+ "label": "HTTP headers",
449
+ "description": "Map of HTTP headers to add to the request.",
450
+ "optional": true,
451
+ "feel": "required",
452
+ "group": "transport",
453
+ "binding": {
454
+ "name": "data.transport.sse.headers",
455
+ "type": "zeebe:input"
456
+ },
457
+ "condition": {
458
+ "property": "data.transport.type",
459
+ "equals": "sse",
460
+ "type": "simple"
461
+ },
462
+ "type": "String"
463
+ },
464
+ {
465
+ "id": "data.transport.sse.timeout",
466
+ "label": "Timeout",
467
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
468
+ "optional": true,
469
+ "feel": "optional",
470
+ "group": "transport",
471
+ "binding": {
472
+ "name": "data.transport.sse.timeout",
473
+ "type": "zeebe:input"
474
+ },
475
+ "condition": {
476
+ "property": "data.transport.type",
477
+ "equals": "sse",
478
+ "type": "simple"
479
+ },
480
+ "type": "String"
481
+ },
482
+ {
483
+ "id": "data.transport.http.authentication.type",
484
+ "label": "Type",
485
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
486
+ "value": "noAuth",
487
+ "group": "authentication",
488
+ "binding": {
489
+ "name": "data.transport.http.authentication.type",
490
+ "type": "zeebe:input"
491
+ },
492
+ "condition": {
493
+ "property": "data.transport.type",
494
+ "equals": "http",
495
+ "type": "simple"
496
+ },
497
+ "type": "Dropdown",
498
+ "choices": [
499
+ {
500
+ "name": "None",
501
+ "value": "noAuth"
502
+ },
503
+ {
504
+ "name": "Basic",
505
+ "value": "basic"
506
+ },
507
+ {
508
+ "name": "Bearer token",
509
+ "value": "bearer"
510
+ },
511
+ {
512
+ "name": "OAuth 2.0",
513
+ "value": "oauth-client-credentials-flow"
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "id": "data.transport.http.authentication.username",
519
+ "label": "Username",
520
+ "optional": false,
521
+ "constraints": {
522
+ "notEmpty": true
523
+ },
524
+ "feel": "optional",
525
+ "group": "authentication",
526
+ "binding": {
527
+ "name": "data.transport.http.authentication.username",
528
+ "type": "zeebe:input"
529
+ },
530
+ "condition": {
531
+ "allMatch": [
532
+ {
277
533
  "property": "data.transport.http.authentication.type",
278
534
  "equals": "basic",
279
535
  "type": "simple"
@@ -889,134 +1145,27 @@
889
1145
  "name": "data.connectorMode.operation.type",
890
1146
  "type": "zeebe:input"
891
1147
  },
892
- "condition": {
893
- "property": "data.connectorMode.type",
894
- "equals": "standalone",
895
- "type": "simple"
896
- },
897
- "type": "Dropdown",
898
- "choices": [
899
- {
900
- "name": "List Tools",
901
- "value": "tools/list"
902
- },
903
- {
904
- "name": "Call Tool",
905
- "value": "tools/call"
906
- },
907
- {
908
- "name": "List Resources",
909
- "value": "resources/list"
910
- },
911
- {
912
- "name": "List Resource Templates",
913
- "value": "resources/templates/list"
914
- },
915
- {
916
- "name": "Read Resource",
917
- "value": "resources/read"
918
- },
919
- {
920
- "name": "List Prompts",
921
- "value": "prompts/list"
922
- },
923
- {
924
- "name": "Get Prompt",
925
- "value": "prompts/get"
926
- }
927
- ]
928
- },
929
- {
930
- "id": "data.connectorMode.operation.toolName",
931
- "label": "Tool name",
932
- "description": "The name of the tool to call.",
933
- "optional": false,
934
- "constraints": {
935
- "notEmpty": true
936
- },
937
- "feel": "optional",
938
- "group": "operation",
939
- "binding": {
940
- "name": "data.connectorMode.operation.toolName",
941
- "type": "zeebe:input"
942
- },
943
- "condition": {
944
- "allMatch": [
945
- {
946
- "property": "data.connectorMode.operation.type",
947
- "equals": "tools/call",
948
- "type": "simple"
949
- },
950
- {
951
- "property": "data.connectorMode.type",
952
- "equals": "standalone",
953
- "type": "simple"
954
- }
955
- ]
956
- },
957
- "type": "String"
958
- },
959
- {
960
- "id": "data.connectorMode.operation.toolArguments",
961
- "label": "Tool arguments",
962
- "description": "The arguments to pass to the tool.",
963
- "optional": true,
964
- "feel": "required",
965
- "group": "operation",
966
- "binding": {
967
- "name": "data.connectorMode.operation.toolArguments",
968
- "type": "zeebe:input"
969
- },
970
- "condition": {
971
- "allMatch": [
972
- {
973
- "property": "data.connectorMode.operation.type",
974
- "equals": "tools/call",
975
- "type": "simple"
976
- },
977
- {
978
- "property": "data.connectorMode.type",
979
- "equals": "standalone",
980
- "type": "simple"
981
- }
982
- ]
983
- },
984
- "type": "String"
985
- },
986
- {
987
- "id": "data.connectorMode.operation.resourceUri",
988
- "label": "Resource URI",
989
- "description": "The URI of the resource to read.",
990
- "optional": false,
991
- "constraints": {
992
- "notEmpty": true
993
- },
994
- "feel": "optional",
995
- "group": "operation",
996
- "binding": {
997
- "name": "data.connectorMode.operation.resourceUri",
998
- "type": "zeebe:input"
999
- },
1000
- "condition": {
1001
- "allMatch": [
1002
- {
1003
- "property": "data.connectorMode.operation.type",
1004
- "equals": "resources/read",
1005
- "type": "simple"
1006
- },
1007
- {
1008
- "property": "data.connectorMode.type",
1009
- "equals": "standalone",
1010
- "type": "simple"
1011
- }
1012
- ]
1148
+ "condition": {
1149
+ "property": "data.connectorMode.type",
1150
+ "equals": "standalone",
1151
+ "type": "simple"
1013
1152
  },
1014
- "type": "String"
1153
+ "type": "Dropdown",
1154
+ "choices": [
1155
+ {
1156
+ "name": "Call Tool",
1157
+ "value": "tools/call"
1158
+ },
1159
+ {
1160
+ "name": "List Tools",
1161
+ "value": "tools/list"
1162
+ }
1163
+ ]
1015
1164
  },
1016
1165
  {
1017
- "id": "data.connectorMode.operation.promptName",
1018
- "label": "Prompt name",
1019
- "description": "The name of the prompt to get.",
1166
+ "id": "data.connectorMode.operation.toolName",
1167
+ "label": "Tool name",
1168
+ "description": "The name of the tool to call.",
1020
1169
  "optional": false,
1021
1170
  "constraints": {
1022
1171
  "notEmpty": true
@@ -1024,14 +1173,14 @@
1024
1173
  "feel": "optional",
1025
1174
  "group": "operation",
1026
1175
  "binding": {
1027
- "name": "data.connectorMode.operation.promptName",
1176
+ "name": "data.connectorMode.operation.toolName",
1028
1177
  "type": "zeebe:input"
1029
1178
  },
1030
1179
  "condition": {
1031
1180
  "allMatch": [
1032
1181
  {
1033
1182
  "property": "data.connectorMode.operation.type",
1034
- "equals": "prompts/get",
1183
+ "equals": "tools/call",
1035
1184
  "type": "simple"
1036
1185
  },
1037
1186
  {
@@ -1044,21 +1193,21 @@
1044
1193
  "type": "String"
1045
1194
  },
1046
1195
  {
1047
- "id": "data.connectorMode.operation.promptArguments",
1048
- "label": "Prompt arguments",
1049
- "description": "The arguments to pass to the prompt generation.",
1196
+ "id": "data.connectorMode.operation.toolArguments",
1197
+ "label": "Tool arguments",
1198
+ "description": "The arguments to pass to the tool.",
1050
1199
  "optional": true,
1051
1200
  "feel": "required",
1052
1201
  "group": "operation",
1053
1202
  "binding": {
1054
- "name": "data.connectorMode.operation.promptArguments",
1203
+ "name": "data.connectorMode.operation.toolArguments",
1055
1204
  "type": "zeebe:input"
1056
1205
  },
1057
1206
  "condition": {
1058
1207
  "allMatch": [
1059
1208
  {
1060
1209
  "property": "data.connectorMode.operation.type",
1061
- "equals": "prompts/get",
1210
+ "equals": "tools/call",
1062
1211
  "type": "simple"
1063
1212
  },
1064
1213
  {
@@ -1114,216 +1263,36 @@
1114
1263
  "type": "String"
1115
1264
  },
1116
1265
  {
1117
- "id": "data.connectorMode.standaloneModeFilters.tools.included",
1118
- "label": "Included tools",
1119
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1120
- "optional": true,
1121
- "feel": "required",
1122
- "group": "filters",
1123
- "binding": {
1124
- "name": "data.connectorMode.standaloneModeFilters.tools.included",
1125
- "type": "zeebe:input"
1126
- },
1127
- "condition": {
1128
- "allMatch": [
1129
- {
1130
- "property": "data.connectorMode.operation.type",
1131
- "oneOf": ["tools/call", "tools/list"],
1132
- "type": "simple"
1133
- },
1134
- {
1135
- "property": "data.connectorMode.type",
1136
- "equals": "standalone",
1137
- "type": "simple"
1138
- }
1139
- ]
1140
- },
1141
- "type": "Text"
1142
- },
1143
- {
1144
- "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
1145
- "label": "Excluded tools",
1146
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1147
- "optional": true,
1148
- "feel": "required",
1149
- "group": "filters",
1150
- "binding": {
1151
- "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
1152
- "type": "zeebe:input"
1153
- },
1154
- "condition": {
1155
- "allMatch": [
1156
- {
1157
- "property": "data.connectorMode.operation.type",
1158
- "oneOf": ["tools/call", "tools/list"],
1159
- "type": "simple"
1160
- },
1161
- {
1162
- "property": "data.connectorMode.type",
1163
- "equals": "standalone",
1164
- "type": "simple"
1165
- }
1166
- ]
1167
- },
1168
- "type": "Text"
1169
- },
1170
- {
1171
- "id": "data.connectorMode.standaloneModeFilters.resources.included",
1172
- "label": "Included resources",
1173
- "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
1174
- "optional": true,
1175
- "feel": "required",
1176
- "group": "filters",
1177
- "binding": {
1178
- "name": "data.connectorMode.standaloneModeFilters.resources.included",
1179
- "type": "zeebe:input"
1180
- },
1181
- "condition": {
1182
- "allMatch": [
1183
- {
1184
- "property": "data.connectorMode.operation.type",
1185
- "oneOf": [
1186
- "resources/read",
1187
- "resources/list",
1188
- "resources/templates/list"
1189
- ],
1190
- "type": "simple"
1191
- },
1192
- {
1193
- "property": "data.connectorMode.type",
1194
- "equals": "standalone",
1195
- "type": "simple"
1196
- }
1197
- ]
1198
- },
1199
- "type": "Text"
1200
- },
1201
- {
1202
- "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
1203
- "label": "Excluded resources",
1204
- "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
1205
- "optional": true,
1206
- "feel": "required",
1207
- "group": "filters",
1208
- "binding": {
1209
- "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
1210
- "type": "zeebe:input"
1211
- },
1212
- "condition": {
1213
- "allMatch": [
1214
- {
1215
- "property": "data.connectorMode.operation.type",
1216
- "oneOf": [
1217
- "resources/read",
1218
- "resources/list",
1219
- "resources/templates/list"
1220
- ],
1221
- "type": "simple"
1222
- },
1223
- {
1224
- "property": "data.connectorMode.type",
1225
- "equals": "standalone",
1226
- "type": "simple"
1227
- }
1228
- ]
1229
- },
1230
- "type": "Text"
1231
- },
1232
- {
1233
- "id": "data.connectorMode.standaloneModeFilters.prompts.included",
1234
- "label": "Included prompts",
1235
- "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
1236
- "optional": true,
1237
- "feel": "required",
1238
- "group": "filters",
1239
- "binding": {
1240
- "name": "data.connectorMode.standaloneModeFilters.prompts.included",
1241
- "type": "zeebe:input"
1242
- },
1243
- "condition": {
1244
- "allMatch": [
1245
- {
1246
- "property": "data.connectorMode.operation.type",
1247
- "oneOf": ["prompts/get", "prompts/list"],
1248
- "type": "simple"
1249
- },
1250
- {
1251
- "property": "data.connectorMode.type",
1252
- "equals": "standalone",
1253
- "type": "simple"
1254
- }
1255
- ]
1256
- },
1257
- "type": "Text"
1258
- },
1259
- {
1260
- "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1261
- "label": "Excluded prompts",
1262
- "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
1263
- "optional": true,
1264
- "feel": "required",
1265
- "group": "filters",
1266
- "binding": {
1267
- "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1268
- "type": "zeebe:input"
1269
- },
1270
- "condition": {
1271
- "allMatch": [
1272
- {
1273
- "property": "data.connectorMode.operation.type",
1274
- "oneOf": ["prompts/get", "prompts/list"],
1275
- "type": "simple"
1276
- },
1277
- {
1278
- "property": "data.connectorMode.type",
1279
- "equals": "standalone",
1280
- "type": "simple"
1281
- }
1282
- ]
1283
- },
1284
- "type": "Text"
1285
- },
1286
- {
1287
- "id": "data.connectorMode.toolModeFilters.tools.included",
1266
+ "id": "data.tools.included",
1288
1267
  "label": "Included tools",
1289
1268
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1290
1269
  "optional": true,
1291
1270
  "feel": "required",
1292
- "group": "filters",
1271
+ "group": "tools",
1293
1272
  "binding": {
1294
- "name": "data.connectorMode.toolModeFilters.tools.included",
1273
+ "name": "data.tools.included",
1295
1274
  "type": "zeebe:input"
1296
1275
  },
1297
- "condition": {
1298
- "property": "data.connectorMode.type",
1299
- "equals": "aiAgentTool",
1300
- "type": "simple"
1301
- },
1302
1276
  "type": "Text"
1303
1277
  },
1304
1278
  {
1305
- "id": "data.connectorMode.toolModeFilters.tools.excluded",
1279
+ "id": "data.tools.excluded",
1306
1280
  "label": "Excluded tools",
1307
1281
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1308
1282
  "optional": true,
1309
1283
  "feel": "required",
1310
- "group": "filters",
1284
+ "group": "tools",
1311
1285
  "binding": {
1312
- "name": "data.connectorMode.toolModeFilters.tools.excluded",
1286
+ "name": "data.tools.excluded",
1313
1287
  "type": "zeebe:input"
1314
1288
  },
1315
- "condition": {
1316
- "property": "data.connectorMode.type",
1317
- "equals": "aiAgentTool",
1318
- "type": "simple"
1319
- },
1320
1289
  "type": "Text"
1321
1290
  },
1322
1291
  {
1323
1292
  "id": "version",
1324
1293
  "label": "Version",
1325
1294
  "description": "Version of the element template",
1326
- "value": "2",
1295
+ "value": "1",
1327
1296
  "group": "connector",
1328
1297
  "binding": {
1329
1298
  "key": "elementTemplateVersion",
@@ -1411,16 +1380,14 @@
1411
1380
  },
1412
1381
  {
1413
1382
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1414
- "name": "MCP Remote Client (early access)",
1383
+ "name": "MCP Remote Client",
1415
1384
  "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
1416
1385
  "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
1417
- "metadata": {
1418
- "keywords": []
1419
- },
1420
- "version": 1,
1386
+ "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-remote-client-connector/",
1387
+ "version": 2,
1421
1388
  "category": {
1422
- "id": "connectors",
1423
- "name": "Connectors"
1389
+ "id": "aiTools",
1390
+ "name": "AI Tools"
1424
1391
  },
1425
1392
  "appliesTo": ["bpmn:Task"],
1426
1393
  "elementType": {
@@ -1453,8 +1420,8 @@
1453
1420
  "label": "Operation"
1454
1421
  },
1455
1422
  {
1456
- "id": "tools",
1457
- "label": "Tools",
1423
+ "id": "filters",
1424
+ "label": "Filters",
1458
1425
  "openByDefault": false
1459
1426
  },
1460
1427
  {
@@ -2306,12 +2273,32 @@
2306
2273
  "type": "Dropdown",
2307
2274
  "choices": [
2308
2275
  {
2309
- "name": "Call Tool",
2310
- "value": "tools/call"
2276
+ "name": "List Tools",
2277
+ "value": "tools/list"
2278
+ },
2279
+ {
2280
+ "name": "Call Tool",
2281
+ "value": "tools/call"
2282
+ },
2283
+ {
2284
+ "name": "List Resources",
2285
+ "value": "resources/list"
2286
+ },
2287
+ {
2288
+ "name": "List Resource Templates",
2289
+ "value": "resources/templates/list"
2290
+ },
2291
+ {
2292
+ "name": "Read Resource",
2293
+ "value": "resources/read"
2311
2294
  },
2312
2295
  {
2313
- "name": "List Tools",
2314
- "value": "tools/list"
2296
+ "name": "List Prompts",
2297
+ "value": "prompts/list"
2298
+ },
2299
+ {
2300
+ "name": "Get Prompt",
2301
+ "value": "prompts/get"
2315
2302
  }
2316
2303
  ]
2317
2304
  },
@@ -2373,336 +2360,346 @@
2373
2360
  "type": "String"
2374
2361
  },
2375
2362
  {
2376
- "id": "data.connectorMode.toolOperation.method",
2377
- "label": "Method",
2378
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2363
+ "id": "data.connectorMode.operation.resourceUri",
2364
+ "label": "Resource URI",
2365
+ "description": "The URI of the resource to read.",
2379
2366
  "optional": false,
2380
- "value": "=toolCall.method",
2381
2367
  "constraints": {
2382
2368
  "notEmpty": true
2383
2369
  },
2384
2370
  "feel": "optional",
2385
2371
  "group": "operation",
2386
2372
  "binding": {
2387
- "name": "data.connectorMode.toolOperation.method",
2373
+ "name": "data.connectorMode.operation.resourceUri",
2388
2374
  "type": "zeebe:input"
2389
2375
  },
2390
2376
  "condition": {
2391
- "property": "data.connectorMode.type",
2392
- "equals": "aiAgentTool",
2393
- "type": "simple"
2377
+ "allMatch": [
2378
+ {
2379
+ "property": "data.connectorMode.operation.type",
2380
+ "equals": "resources/read",
2381
+ "type": "simple"
2382
+ },
2383
+ {
2384
+ "property": "data.connectorMode.type",
2385
+ "equals": "standalone",
2386
+ "type": "simple"
2387
+ }
2388
+ ]
2394
2389
  },
2395
- "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>",
2396
2390
  "type": "String"
2397
2391
  },
2398
2392
  {
2399
- "id": "data.connectorMode.toolOperation.params",
2400
- "label": "Parameters",
2401
- "description": "The parameters to be passed to the MCP method.",
2402
- "optional": true,
2403
- "value": "=toolCall.params",
2404
- "feel": "required",
2393
+ "id": "data.connectorMode.operation.promptName",
2394
+ "label": "Prompt name",
2395
+ "description": "The name of the prompt to get.",
2396
+ "optional": false,
2397
+ "constraints": {
2398
+ "notEmpty": true
2399
+ },
2400
+ "feel": "optional",
2405
2401
  "group": "operation",
2406
2402
  "binding": {
2407
- "name": "data.connectorMode.toolOperation.params",
2403
+ "name": "data.connectorMode.operation.promptName",
2408
2404
  "type": "zeebe:input"
2409
2405
  },
2410
2406
  "condition": {
2411
- "property": "data.connectorMode.type",
2412
- "equals": "aiAgentTool",
2413
- "type": "simple"
2407
+ "allMatch": [
2408
+ {
2409
+ "property": "data.connectorMode.operation.type",
2410
+ "equals": "prompts/get",
2411
+ "type": "simple"
2412
+ },
2413
+ {
2414
+ "property": "data.connectorMode.type",
2415
+ "equals": "standalone",
2416
+ "type": "simple"
2417
+ }
2418
+ ]
2414
2419
  },
2415
- "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.",
2416
2420
  "type": "String"
2417
2421
  },
2418
2422
  {
2419
- "id": "data.tools.included",
2420
- "label": "Included tools",
2421
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2422
- "optional": true,
2423
- "feel": "required",
2424
- "group": "tools",
2425
- "binding": {
2426
- "name": "data.tools.included",
2427
- "type": "zeebe:input"
2428
- },
2429
- "type": "Text"
2430
- },
2431
- {
2432
- "id": "data.tools.excluded",
2433
- "label": "Excluded tools",
2434
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2423
+ "id": "data.connectorMode.operation.promptArguments",
2424
+ "label": "Prompt arguments",
2425
+ "description": "The arguments to pass to the prompt generation.",
2435
2426
  "optional": true,
2436
2427
  "feel": "required",
2437
- "group": "tools",
2428
+ "group": "operation",
2438
2429
  "binding": {
2439
- "name": "data.tools.excluded",
2430
+ "name": "data.connectorMode.operation.promptArguments",
2440
2431
  "type": "zeebe:input"
2441
2432
  },
2442
- "type": "Text"
2443
- },
2444
- {
2445
- "id": "version",
2446
- "label": "Version",
2447
- "description": "Version of the element template",
2448
- "value": "1",
2449
- "group": "connector",
2450
- "binding": {
2451
- "key": "elementTemplateVersion",
2452
- "type": "zeebe:taskHeader"
2453
- },
2454
- "type": "Hidden"
2455
- },
2456
- {
2457
- "id": "id",
2458
- "label": "ID",
2459
- "description": "ID of the element template",
2460
- "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
2461
- "group": "connector",
2462
- "binding": {
2463
- "key": "elementTemplateId",
2464
- "type": "zeebe:taskHeader"
2465
- },
2466
- "type": "Hidden"
2467
- },
2468
- {
2469
- "id": "resultVariable",
2470
- "label": "Result variable",
2471
- "description": "Name of variable to store the response in",
2472
- "value": "toolCallResult",
2473
- "group": "output",
2474
- "binding": {
2475
- "key": "resultVariable",
2476
- "type": "zeebe:taskHeader"
2477
- },
2478
- "type": "String"
2479
- },
2480
- {
2481
- "id": "resultExpression",
2482
- "label": "Result expression",
2483
- "description": "Expression to map the response into process variables",
2484
- "feel": "required",
2485
- "group": "output",
2486
- "binding": {
2487
- "key": "resultExpression",
2488
- "type": "zeebe:taskHeader"
2489
- },
2490
- "type": "Text"
2491
- },
2492
- {
2493
- "id": "errorExpression",
2494
- "label": "Error expression",
2495
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2496
- "feel": "required",
2497
- "group": "error",
2498
- "binding": {
2499
- "key": "errorExpression",
2500
- "type": "zeebe:taskHeader"
2501
- },
2502
- "type": "Text"
2503
- },
2504
- {
2505
- "id": "retryCount",
2506
- "label": "Retries",
2507
- "description": "Number of retries",
2508
- "value": "3",
2509
- "feel": "optional",
2510
- "group": "retries",
2511
- "binding": {
2512
- "property": "retries",
2513
- "type": "zeebe:taskDefinition"
2514
- },
2515
- "type": "String"
2516
- },
2517
- {
2518
- "id": "retryBackoff",
2519
- "label": "Retry backoff",
2520
- "description": "ISO-8601 duration to wait between retries",
2521
- "value": "PT0S",
2522
- "group": "retries",
2523
- "binding": {
2524
- "key": "retryBackoff",
2525
- "type": "zeebe:taskHeader"
2526
- },
2527
- "type": "String"
2528
- }
2529
- ],
2530
- "icon": {
2531
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
2532
- }
2533
- },
2534
- {
2535
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2536
- "name": "MCP Remote Client (early access)",
2537
- "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
2538
- "description": "MCP (Model Context Protocol) client, operating on temporary remote connections. Only supports tool operations.",
2539
- "metadata": {
2540
- "keywords": []
2541
- },
2542
- "version": 0,
2543
- "category": {
2544
- "id": "connectors",
2545
- "name": "Connectors"
2546
- },
2547
- "appliesTo": ["bpmn:Task"],
2548
- "elementType": {
2549
- "value": "bpmn:ServiceTask"
2550
- },
2551
- "engines": {
2552
- "camunda": "^8.8"
2553
- },
2554
- "groups": [
2555
- {
2556
- "id": "connection",
2557
- "label": "HTTP Connection",
2558
- "tooltip": "Configure the HTTP/SSE connection to the remote MCP server. Setting authentication headers is not supported yet."
2559
- },
2560
- {
2561
- "id": "tools",
2562
- "label": "Tools"
2563
- },
2564
- {
2565
- "id": "operation",
2566
- "label": "Operation"
2567
- },
2568
- {
2569
- "id": "connector",
2570
- "label": "Connector"
2571
- },
2572
- {
2573
- "id": "output",
2574
- "label": "Output mapping"
2575
- },
2576
- {
2577
- "id": "error",
2578
- "label": "Error handling"
2579
- },
2580
- {
2581
- "id": "retries",
2582
- "label": "Retries"
2583
- }
2584
- ],
2585
- "properties": [
2586
- {
2587
- "value": "io.camunda.agenticai:mcpremoteclient:0",
2588
- "binding": {
2589
- "property": "type",
2590
- "type": "zeebe:taskDefinition"
2591
- },
2592
- "type": "Hidden"
2593
- },
2594
- {
2595
- "value": "mcpClient",
2596
- "binding": {
2597
- "name": "io.camunda.agenticai.gateway.type",
2598
- "type": "zeebe:property"
2433
+ "condition": {
2434
+ "allMatch": [
2435
+ {
2436
+ "property": "data.connectorMode.operation.type",
2437
+ "equals": "prompts/get",
2438
+ "type": "simple"
2439
+ },
2440
+ {
2441
+ "property": "data.connectorMode.type",
2442
+ "equals": "standalone",
2443
+ "type": "simple"
2444
+ }
2445
+ ]
2599
2446
  },
2600
- "type": "Hidden"
2447
+ "type": "String"
2601
2448
  },
2602
2449
  {
2603
- "id": "data.connection.sseUrl",
2604
- "label": "SSE URL",
2605
- "description": "SSE URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
2450
+ "id": "data.connectorMode.toolOperation.method",
2451
+ "label": "Method",
2452
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2606
2453
  "optional": false,
2454
+ "value": "=toolCall.method",
2607
2455
  "constraints": {
2608
2456
  "notEmpty": true
2609
2457
  },
2610
2458
  "feel": "optional",
2611
- "group": "connection",
2459
+ "group": "operation",
2612
2460
  "binding": {
2613
- "name": "data.connection.sseUrl",
2461
+ "name": "data.connectorMode.toolOperation.method",
2614
2462
  "type": "zeebe:input"
2615
2463
  },
2464
+ "condition": {
2465
+ "property": "data.connectorMode.type",
2466
+ "equals": "aiAgentTool",
2467
+ "type": "simple"
2468
+ },
2469
+ "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>",
2616
2470
  "type": "String"
2617
2471
  },
2618
2472
  {
2619
- "id": "data.connection.headers",
2620
- "label": "HTTP headers",
2621
- "description": "Map of HTTP headers to add to the request <strong>(NOT SUPPORTED YET)</strong>.",
2473
+ "id": "data.connectorMode.toolOperation.params",
2474
+ "label": "Parameters",
2475
+ "description": "The parameters to be passed to the MCP method.",
2622
2476
  "optional": true,
2623
- "group": "connection",
2477
+ "value": "=toolCall.params",
2478
+ "feel": "required",
2479
+ "group": "operation",
2624
2480
  "binding": {
2625
- "name": "data.connection.headers",
2481
+ "name": "data.connectorMode.toolOperation.params",
2626
2482
  "type": "zeebe:input"
2627
2483
  },
2628
- "type": "Hidden"
2484
+ "condition": {
2485
+ "property": "data.connectorMode.type",
2486
+ "equals": "aiAgentTool",
2487
+ "type": "simple"
2488
+ },
2489
+ "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.",
2490
+ "type": "String"
2629
2491
  },
2630
2492
  {
2631
- "id": "data.connection.timeout",
2632
- "label": "Timeout",
2633
- "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
2493
+ "id": "data.connectorMode.standaloneModeFilters.tools.included",
2494
+ "label": "Included tools",
2495
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2634
2496
  "optional": true,
2635
- "group": "connection",
2497
+ "feel": "required",
2498
+ "group": "filters",
2636
2499
  "binding": {
2637
- "name": "data.connection.timeout",
2500
+ "name": "data.connectorMode.standaloneModeFilters.tools.included",
2638
2501
  "type": "zeebe:input"
2639
2502
  },
2640
- "type": "Hidden"
2503
+ "condition": {
2504
+ "allMatch": [
2505
+ {
2506
+ "property": "data.connectorMode.operation.type",
2507
+ "oneOf": ["tools/call", "tools/list"],
2508
+ "type": "simple"
2509
+ },
2510
+ {
2511
+ "property": "data.connectorMode.type",
2512
+ "equals": "standalone",
2513
+ "type": "simple"
2514
+ }
2515
+ ]
2516
+ },
2517
+ "type": "Text"
2641
2518
  },
2642
2519
  {
2643
- "id": "data.tools.included",
2644
- "label": "Included tools",
2645
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2520
+ "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
2521
+ "label": "Excluded tools",
2522
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2646
2523
  "optional": true,
2647
2524
  "feel": "required",
2648
- "group": "tools",
2525
+ "group": "filters",
2649
2526
  "binding": {
2650
- "name": "data.tools.included",
2527
+ "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
2651
2528
  "type": "zeebe:input"
2652
2529
  },
2530
+ "condition": {
2531
+ "allMatch": [
2532
+ {
2533
+ "property": "data.connectorMode.operation.type",
2534
+ "oneOf": ["tools/call", "tools/list"],
2535
+ "type": "simple"
2536
+ },
2537
+ {
2538
+ "property": "data.connectorMode.type",
2539
+ "equals": "standalone",
2540
+ "type": "simple"
2541
+ }
2542
+ ]
2543
+ },
2653
2544
  "type": "Text"
2654
2545
  },
2655
2546
  {
2656
- "id": "data.tools.excluded",
2657
- "label": "Excluded tools",
2658
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2547
+ "id": "data.connectorMode.standaloneModeFilters.resources.included",
2548
+ "label": "Included resources",
2549
+ "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
2659
2550
  "optional": true,
2660
2551
  "feel": "required",
2661
- "group": "tools",
2552
+ "group": "filters",
2662
2553
  "binding": {
2663
- "name": "data.tools.excluded",
2554
+ "name": "data.connectorMode.standaloneModeFilters.resources.included",
2664
2555
  "type": "zeebe:input"
2665
2556
  },
2557
+ "condition": {
2558
+ "allMatch": [
2559
+ {
2560
+ "property": "data.connectorMode.operation.type",
2561
+ "oneOf": [
2562
+ "resources/read",
2563
+ "resources/list",
2564
+ "resources/templates/list"
2565
+ ],
2566
+ "type": "simple"
2567
+ },
2568
+ {
2569
+ "property": "data.connectorMode.type",
2570
+ "equals": "standalone",
2571
+ "type": "simple"
2572
+ }
2573
+ ]
2574
+ },
2666
2575
  "type": "Text"
2667
2576
  },
2668
2577
  {
2669
- "id": "data.operation.method",
2670
- "label": "Method",
2671
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2672
- "optional": false,
2673
- "value": "=toolCall.method",
2674
- "constraints": {
2675
- "notEmpty": true
2578
+ "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
2579
+ "label": "Excluded resources",
2580
+ "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
2581
+ "optional": true,
2582
+ "feel": "required",
2583
+ "group": "filters",
2584
+ "binding": {
2585
+ "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
2586
+ "type": "zeebe:input"
2676
2587
  },
2677
- "feel": "optional",
2678
- "group": "operation",
2588
+ "condition": {
2589
+ "allMatch": [
2590
+ {
2591
+ "property": "data.connectorMode.operation.type",
2592
+ "oneOf": [
2593
+ "resources/read",
2594
+ "resources/list",
2595
+ "resources/templates/list"
2596
+ ],
2597
+ "type": "simple"
2598
+ },
2599
+ {
2600
+ "property": "data.connectorMode.type",
2601
+ "equals": "standalone",
2602
+ "type": "simple"
2603
+ }
2604
+ ]
2605
+ },
2606
+ "type": "Text"
2607
+ },
2608
+ {
2609
+ "id": "data.connectorMode.standaloneModeFilters.prompts.included",
2610
+ "label": "Included prompts",
2611
+ "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
2612
+ "optional": true,
2613
+ "feel": "required",
2614
+ "group": "filters",
2679
2615
  "binding": {
2680
- "name": "data.operation.method",
2616
+ "name": "data.connectorMode.standaloneModeFilters.prompts.included",
2681
2617
  "type": "zeebe:input"
2682
2618
  },
2683
- "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>",
2684
- "type": "String"
2619
+ "condition": {
2620
+ "allMatch": [
2621
+ {
2622
+ "property": "data.connectorMode.operation.type",
2623
+ "oneOf": ["prompts/get", "prompts/list"],
2624
+ "type": "simple"
2625
+ },
2626
+ {
2627
+ "property": "data.connectorMode.type",
2628
+ "equals": "standalone",
2629
+ "type": "simple"
2630
+ }
2631
+ ]
2632
+ },
2633
+ "type": "Text"
2685
2634
  },
2686
2635
  {
2687
- "id": "data.operation.params",
2688
- "label": "Parameters",
2689
- "description": "The parameters to be passed to the MCP method.",
2636
+ "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2637
+ "label": "Excluded prompts",
2638
+ "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
2690
2639
  "optional": true,
2691
- "value": "=toolCall.params",
2692
2640
  "feel": "required",
2693
- "group": "operation",
2641
+ "group": "filters",
2694
2642
  "binding": {
2695
- "name": "data.operation.params",
2643
+ "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2696
2644
  "type": "zeebe:input"
2697
2645
  },
2698
- "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.",
2699
- "type": "String"
2646
+ "condition": {
2647
+ "allMatch": [
2648
+ {
2649
+ "property": "data.connectorMode.operation.type",
2650
+ "oneOf": ["prompts/get", "prompts/list"],
2651
+ "type": "simple"
2652
+ },
2653
+ {
2654
+ "property": "data.connectorMode.type",
2655
+ "equals": "standalone",
2656
+ "type": "simple"
2657
+ }
2658
+ ]
2659
+ },
2660
+ "type": "Text"
2661
+ },
2662
+ {
2663
+ "id": "data.connectorMode.toolModeFilters.tools.included",
2664
+ "label": "Included tools",
2665
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2666
+ "optional": true,
2667
+ "feel": "required",
2668
+ "group": "filters",
2669
+ "binding": {
2670
+ "name": "data.connectorMode.toolModeFilters.tools.included",
2671
+ "type": "zeebe:input"
2672
+ },
2673
+ "condition": {
2674
+ "property": "data.connectorMode.type",
2675
+ "equals": "aiAgentTool",
2676
+ "type": "simple"
2677
+ },
2678
+ "type": "Text"
2679
+ },
2680
+ {
2681
+ "id": "data.connectorMode.toolModeFilters.tools.excluded",
2682
+ "label": "Excluded tools",
2683
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2684
+ "optional": true,
2685
+ "feel": "required",
2686
+ "group": "filters",
2687
+ "binding": {
2688
+ "name": "data.connectorMode.toolModeFilters.tools.excluded",
2689
+ "type": "zeebe:input"
2690
+ },
2691
+ "condition": {
2692
+ "property": "data.connectorMode.type",
2693
+ "equals": "aiAgentTool",
2694
+ "type": "simple"
2695
+ },
2696
+ "type": "Text"
2700
2697
  },
2701
2698
  {
2702
2699
  "id": "version",
2703
2700
  "label": "Version",
2704
2701
  "description": "Version of the element template",
2705
- "value": "0",
2702
+ "value": "2",
2706
2703
  "group": "connector",
2707
2704
  "binding": {
2708
2705
  "key": "elementTemplateVersion",
@@ -2725,7 +2722,7 @@
2725
2722
  {
2726
2723
  "id": "resultVariable",
2727
2724
  "label": "Result variable",
2728
- "description": "Name of variable to store the response in",
2725
+ "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>.",
2729
2726
  "value": "toolCallResult",
2730
2727
  "group": "output",
2731
2728
  "binding": {
@@ -2737,7 +2734,7 @@
2737
2734
  {
2738
2735
  "id": "resultExpression",
2739
2736
  "label": "Result expression",
2740
- "description": "Expression to map the response into process variables",
2737
+ "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>.",
2741
2738
  "feel": "required",
2742
2739
  "group": "output",
2743
2740
  "binding": {