@camunda/connectors-element-templates 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "MCP Remote Client (experimental)",
4
+ "name": "MCP Remote Client (early access)",
5
5
  "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
6
6
  "description": "MCP (Model Context Protocol) client, operating on temporary remote connections. Only supports tool operations.",
7
7
  "metadata": {
@@ -255,5 +255,1127 @@
255
255
  "icon": {
256
256
  "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
257
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": "connectors",
270
+ "name": "Connectors"
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
+ {
533
+ "property": "data.transport.http.authentication.type",
534
+ "equals": "basic",
535
+ "type": "simple"
536
+ },
537
+ {
538
+ "property": "data.transport.type",
539
+ "equals": "http",
540
+ "type": "simple"
541
+ }
542
+ ]
543
+ },
544
+ "type": "String"
545
+ },
546
+ {
547
+ "id": "data.transport.http.authentication.password",
548
+ "label": "Password",
549
+ "optional": false,
550
+ "constraints": {
551
+ "notEmpty": true
552
+ },
553
+ "feel": "optional",
554
+ "group": "authentication",
555
+ "binding": {
556
+ "name": "data.transport.http.authentication.password",
557
+ "type": "zeebe:input"
558
+ },
559
+ "condition": {
560
+ "allMatch": [
561
+ {
562
+ "property": "data.transport.http.authentication.type",
563
+ "equals": "basic",
564
+ "type": "simple"
565
+ },
566
+ {
567
+ "property": "data.transport.type",
568
+ "equals": "http",
569
+ "type": "simple"
570
+ }
571
+ ]
572
+ },
573
+ "type": "String"
574
+ },
575
+ {
576
+ "id": "data.transport.http.authentication.token",
577
+ "label": "Bearer token",
578
+ "optional": false,
579
+ "constraints": {
580
+ "notEmpty": true
581
+ },
582
+ "feel": "optional",
583
+ "group": "authentication",
584
+ "binding": {
585
+ "name": "data.transport.http.authentication.token",
586
+ "type": "zeebe:input"
587
+ },
588
+ "condition": {
589
+ "allMatch": [
590
+ {
591
+ "property": "data.transport.http.authentication.type",
592
+ "equals": "bearer",
593
+ "type": "simple"
594
+ },
595
+ {
596
+ "property": "data.transport.type",
597
+ "equals": "http",
598
+ "type": "simple"
599
+ }
600
+ ]
601
+ },
602
+ "type": "String"
603
+ },
604
+ {
605
+ "id": "data.transport.http.authentication.oauthTokenEndpoint",
606
+ "label": "OAuth 2.0 token endpoint",
607
+ "description": "The OAuth token endpoint",
608
+ "optional": false,
609
+ "constraints": {
610
+ "notEmpty": true,
611
+ "pattern": {
612
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
613
+ "message": "Must be a http(s) URL"
614
+ }
615
+ },
616
+ "feel": "optional",
617
+ "group": "authentication",
618
+ "binding": {
619
+ "name": "data.transport.http.authentication.oauthTokenEndpoint",
620
+ "type": "zeebe:input"
621
+ },
622
+ "condition": {
623
+ "allMatch": [
624
+ {
625
+ "property": "data.transport.http.authentication.type",
626
+ "equals": "oauth-client-credentials-flow",
627
+ "type": "simple"
628
+ },
629
+ {
630
+ "property": "data.transport.type",
631
+ "equals": "http",
632
+ "type": "simple"
633
+ }
634
+ ]
635
+ },
636
+ "type": "String"
637
+ },
638
+ {
639
+ "id": "data.transport.http.authentication.clientId",
640
+ "label": "Client ID",
641
+ "description": "Your application's client ID from the OAuth client",
642
+ "optional": false,
643
+ "constraints": {
644
+ "notEmpty": true
645
+ },
646
+ "feel": "optional",
647
+ "group": "authentication",
648
+ "binding": {
649
+ "name": "data.transport.http.authentication.clientId",
650
+ "type": "zeebe:input"
651
+ },
652
+ "condition": {
653
+ "allMatch": [
654
+ {
655
+ "property": "data.transport.http.authentication.type",
656
+ "equals": "oauth-client-credentials-flow",
657
+ "type": "simple"
658
+ },
659
+ {
660
+ "property": "data.transport.type",
661
+ "equals": "http",
662
+ "type": "simple"
663
+ }
664
+ ]
665
+ },
666
+ "type": "String"
667
+ },
668
+ {
669
+ "id": "data.transport.http.authentication.clientSecret",
670
+ "label": "Client secret",
671
+ "description": "Your application's client secret from the OAuth client",
672
+ "optional": false,
673
+ "constraints": {
674
+ "notEmpty": true
675
+ },
676
+ "feel": "optional",
677
+ "group": "authentication",
678
+ "binding": {
679
+ "name": "data.transport.http.authentication.clientSecret",
680
+ "type": "zeebe:input"
681
+ },
682
+ "condition": {
683
+ "allMatch": [
684
+ {
685
+ "property": "data.transport.http.authentication.type",
686
+ "equals": "oauth-client-credentials-flow",
687
+ "type": "simple"
688
+ },
689
+ {
690
+ "property": "data.transport.type",
691
+ "equals": "http",
692
+ "type": "simple"
693
+ }
694
+ ]
695
+ },
696
+ "type": "String"
697
+ },
698
+ {
699
+ "id": "data.transport.http.authentication.audience",
700
+ "label": "Audience",
701
+ "description": "The unique identifier of the target API you want to access",
702
+ "optional": true,
703
+ "feel": "optional",
704
+ "group": "authentication",
705
+ "binding": {
706
+ "name": "data.transport.http.authentication.audience",
707
+ "type": "zeebe:input"
708
+ },
709
+ "condition": {
710
+ "allMatch": [
711
+ {
712
+ "property": "data.transport.http.authentication.type",
713
+ "equals": "oauth-client-credentials-flow",
714
+ "type": "simple"
715
+ },
716
+ {
717
+ "property": "data.transport.type",
718
+ "equals": "http",
719
+ "type": "simple"
720
+ }
721
+ ]
722
+ },
723
+ "type": "String"
724
+ },
725
+ {
726
+ "id": "data.transport.http.authentication.clientAuthentication",
727
+ "label": "Client authentication",
728
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
729
+ "optional": false,
730
+ "value": "BASIC_AUTH_HEADER",
731
+ "constraints": {
732
+ "notEmpty": true
733
+ },
734
+ "group": "authentication",
735
+ "binding": {
736
+ "name": "data.transport.http.authentication.clientAuthentication",
737
+ "type": "zeebe:input"
738
+ },
739
+ "condition": {
740
+ "allMatch": [
741
+ {
742
+ "property": "data.transport.http.authentication.type",
743
+ "equals": "oauth-client-credentials-flow",
744
+ "type": "simple"
745
+ },
746
+ {
747
+ "property": "data.transport.type",
748
+ "equals": "http",
749
+ "type": "simple"
750
+ }
751
+ ]
752
+ },
753
+ "type": "Dropdown",
754
+ "choices": [
755
+ {
756
+ "name": "Send as Basic Auth header",
757
+ "value": "BASIC_AUTH_HEADER"
758
+ },
759
+ {
760
+ "name": "Send client credentials in body",
761
+ "value": "CREDENTIALS_BODY"
762
+ }
763
+ ]
764
+ },
765
+ {
766
+ "id": "data.transport.http.authentication.scopes",
767
+ "label": "Scopes",
768
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
769
+ "optional": true,
770
+ "feel": "optional",
771
+ "group": "authentication",
772
+ "binding": {
773
+ "name": "data.transport.http.authentication.scopes",
774
+ "type": "zeebe:input"
775
+ },
776
+ "condition": {
777
+ "allMatch": [
778
+ {
779
+ "property": "data.transport.http.authentication.type",
780
+ "equals": "oauth-client-credentials-flow",
781
+ "type": "simple"
782
+ },
783
+ {
784
+ "property": "data.transport.type",
785
+ "equals": "http",
786
+ "type": "simple"
787
+ }
788
+ ]
789
+ },
790
+ "type": "String"
791
+ },
792
+ {
793
+ "id": "data.transport.sse.authentication.type",
794
+ "label": "Type",
795
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
796
+ "value": "noAuth",
797
+ "group": "authentication",
798
+ "binding": {
799
+ "name": "data.transport.sse.authentication.type",
800
+ "type": "zeebe:input"
801
+ },
802
+ "condition": {
803
+ "property": "data.transport.type",
804
+ "equals": "sse",
805
+ "type": "simple"
806
+ },
807
+ "type": "Dropdown",
808
+ "choices": [
809
+ {
810
+ "name": "None",
811
+ "value": "noAuth"
812
+ },
813
+ {
814
+ "name": "Basic",
815
+ "value": "basic"
816
+ },
817
+ {
818
+ "name": "Bearer token",
819
+ "value": "bearer"
820
+ },
821
+ {
822
+ "name": "OAuth 2.0",
823
+ "value": "oauth-client-credentials-flow"
824
+ }
825
+ ]
826
+ },
827
+ {
828
+ "id": "data.transport.sse.authentication.username",
829
+ "label": "Username",
830
+ "optional": false,
831
+ "constraints": {
832
+ "notEmpty": true
833
+ },
834
+ "feel": "optional",
835
+ "group": "authentication",
836
+ "binding": {
837
+ "name": "data.transport.sse.authentication.username",
838
+ "type": "zeebe:input"
839
+ },
840
+ "condition": {
841
+ "allMatch": [
842
+ {
843
+ "property": "data.transport.sse.authentication.type",
844
+ "equals": "basic",
845
+ "type": "simple"
846
+ },
847
+ {
848
+ "property": "data.transport.type",
849
+ "equals": "sse",
850
+ "type": "simple"
851
+ }
852
+ ]
853
+ },
854
+ "type": "String"
855
+ },
856
+ {
857
+ "id": "data.transport.sse.authentication.password",
858
+ "label": "Password",
859
+ "optional": false,
860
+ "constraints": {
861
+ "notEmpty": true
862
+ },
863
+ "feel": "optional",
864
+ "group": "authentication",
865
+ "binding": {
866
+ "name": "data.transport.sse.authentication.password",
867
+ "type": "zeebe:input"
868
+ },
869
+ "condition": {
870
+ "allMatch": [
871
+ {
872
+ "property": "data.transport.sse.authentication.type",
873
+ "equals": "basic",
874
+ "type": "simple"
875
+ },
876
+ {
877
+ "property": "data.transport.type",
878
+ "equals": "sse",
879
+ "type": "simple"
880
+ }
881
+ ]
882
+ },
883
+ "type": "String"
884
+ },
885
+ {
886
+ "id": "data.transport.sse.authentication.token",
887
+ "label": "Bearer token",
888
+ "optional": false,
889
+ "constraints": {
890
+ "notEmpty": true
891
+ },
892
+ "feel": "optional",
893
+ "group": "authentication",
894
+ "binding": {
895
+ "name": "data.transport.sse.authentication.token",
896
+ "type": "zeebe:input"
897
+ },
898
+ "condition": {
899
+ "allMatch": [
900
+ {
901
+ "property": "data.transport.sse.authentication.type",
902
+ "equals": "bearer",
903
+ "type": "simple"
904
+ },
905
+ {
906
+ "property": "data.transport.type",
907
+ "equals": "sse",
908
+ "type": "simple"
909
+ }
910
+ ]
911
+ },
912
+ "type": "String"
913
+ },
914
+ {
915
+ "id": "data.transport.sse.authentication.oauthTokenEndpoint",
916
+ "label": "OAuth 2.0 token endpoint",
917
+ "description": "The OAuth token endpoint",
918
+ "optional": false,
919
+ "constraints": {
920
+ "notEmpty": true,
921
+ "pattern": {
922
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
923
+ "message": "Must be a http(s) URL"
924
+ }
925
+ },
926
+ "feel": "optional",
927
+ "group": "authentication",
928
+ "binding": {
929
+ "name": "data.transport.sse.authentication.oauthTokenEndpoint",
930
+ "type": "zeebe:input"
931
+ },
932
+ "condition": {
933
+ "allMatch": [
934
+ {
935
+ "property": "data.transport.sse.authentication.type",
936
+ "equals": "oauth-client-credentials-flow",
937
+ "type": "simple"
938
+ },
939
+ {
940
+ "property": "data.transport.type",
941
+ "equals": "sse",
942
+ "type": "simple"
943
+ }
944
+ ]
945
+ },
946
+ "type": "String"
947
+ },
948
+ {
949
+ "id": "data.transport.sse.authentication.clientId",
950
+ "label": "Client ID",
951
+ "description": "Your application's client ID from the OAuth client",
952
+ "optional": false,
953
+ "constraints": {
954
+ "notEmpty": true
955
+ },
956
+ "feel": "optional",
957
+ "group": "authentication",
958
+ "binding": {
959
+ "name": "data.transport.sse.authentication.clientId",
960
+ "type": "zeebe:input"
961
+ },
962
+ "condition": {
963
+ "allMatch": [
964
+ {
965
+ "property": "data.transport.sse.authentication.type",
966
+ "equals": "oauth-client-credentials-flow",
967
+ "type": "simple"
968
+ },
969
+ {
970
+ "property": "data.transport.type",
971
+ "equals": "sse",
972
+ "type": "simple"
973
+ }
974
+ ]
975
+ },
976
+ "type": "String"
977
+ },
978
+ {
979
+ "id": "data.transport.sse.authentication.clientSecret",
980
+ "label": "Client secret",
981
+ "description": "Your application's client secret from the OAuth client",
982
+ "optional": false,
983
+ "constraints": {
984
+ "notEmpty": true
985
+ },
986
+ "feel": "optional",
987
+ "group": "authentication",
988
+ "binding": {
989
+ "name": "data.transport.sse.authentication.clientSecret",
990
+ "type": "zeebe:input"
991
+ },
992
+ "condition": {
993
+ "allMatch": [
994
+ {
995
+ "property": "data.transport.sse.authentication.type",
996
+ "equals": "oauth-client-credentials-flow",
997
+ "type": "simple"
998
+ },
999
+ {
1000
+ "property": "data.transport.type",
1001
+ "equals": "sse",
1002
+ "type": "simple"
1003
+ }
1004
+ ]
1005
+ },
1006
+ "type": "String"
1007
+ },
1008
+ {
1009
+ "id": "data.transport.sse.authentication.audience",
1010
+ "label": "Audience",
1011
+ "description": "The unique identifier of the target API you want to access",
1012
+ "optional": true,
1013
+ "feel": "optional",
1014
+ "group": "authentication",
1015
+ "binding": {
1016
+ "name": "data.transport.sse.authentication.audience",
1017
+ "type": "zeebe:input"
1018
+ },
1019
+ "condition": {
1020
+ "allMatch": [
1021
+ {
1022
+ "property": "data.transport.sse.authentication.type",
1023
+ "equals": "oauth-client-credentials-flow",
1024
+ "type": "simple"
1025
+ },
1026
+ {
1027
+ "property": "data.transport.type",
1028
+ "equals": "sse",
1029
+ "type": "simple"
1030
+ }
1031
+ ]
1032
+ },
1033
+ "type": "String"
1034
+ },
1035
+ {
1036
+ "id": "data.transport.sse.authentication.clientAuthentication",
1037
+ "label": "Client authentication",
1038
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1039
+ "optional": false,
1040
+ "value": "BASIC_AUTH_HEADER",
1041
+ "constraints": {
1042
+ "notEmpty": true
1043
+ },
1044
+ "group": "authentication",
1045
+ "binding": {
1046
+ "name": "data.transport.sse.authentication.clientAuthentication",
1047
+ "type": "zeebe:input"
1048
+ },
1049
+ "condition": {
1050
+ "allMatch": [
1051
+ {
1052
+ "property": "data.transport.sse.authentication.type",
1053
+ "equals": "oauth-client-credentials-flow",
1054
+ "type": "simple"
1055
+ },
1056
+ {
1057
+ "property": "data.transport.type",
1058
+ "equals": "sse",
1059
+ "type": "simple"
1060
+ }
1061
+ ]
1062
+ },
1063
+ "type": "Dropdown",
1064
+ "choices": [
1065
+ {
1066
+ "name": "Send as Basic Auth header",
1067
+ "value": "BASIC_AUTH_HEADER"
1068
+ },
1069
+ {
1070
+ "name": "Send client credentials in body",
1071
+ "value": "CREDENTIALS_BODY"
1072
+ }
1073
+ ]
1074
+ },
1075
+ {
1076
+ "id": "data.transport.sse.authentication.scopes",
1077
+ "label": "Scopes",
1078
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1079
+ "optional": true,
1080
+ "feel": "optional",
1081
+ "group": "authentication",
1082
+ "binding": {
1083
+ "name": "data.transport.sse.authentication.scopes",
1084
+ "type": "zeebe:input"
1085
+ },
1086
+ "condition": {
1087
+ "allMatch": [
1088
+ {
1089
+ "property": "data.transport.sse.authentication.type",
1090
+ "equals": "oauth-client-credentials-flow",
1091
+ "type": "simple"
1092
+ },
1093
+ {
1094
+ "property": "data.transport.type",
1095
+ "equals": "sse",
1096
+ "type": "simple"
1097
+ }
1098
+ ]
1099
+ },
1100
+ "type": "String"
1101
+ },
1102
+ {
1103
+ "id": "data.options.clientCache",
1104
+ "label": "Enable client caching",
1105
+ "description": "If enabled, the MCP client instance is cached on the connector runtime and reused across requests.",
1106
+ "optional": true,
1107
+ "feel": "static",
1108
+ "group": "options",
1109
+ "binding": {
1110
+ "name": "data.options.clientCache",
1111
+ "type": "zeebe:input"
1112
+ },
1113
+ "tooltip": "Only enable this option if you are sure that the configuration or authentication details of this client will not change between invocations.<br>Caching the client instance can improve performance by reusing existing connections.",
1114
+ "type": "Boolean"
1115
+ },
1116
+ {
1117
+ "id": "data.connectorMode.type",
1118
+ "label": "Connector mode",
1119
+ "description": "Select how this connector is used.",
1120
+ "value": "aiAgentTool",
1121
+ "group": "connectorMode",
1122
+ "binding": {
1123
+ "name": "data.connectorMode.type",
1124
+ "type": "zeebe:input"
1125
+ },
1126
+ "type": "Dropdown",
1127
+ "choices": [
1128
+ {
1129
+ "name": "Standalone",
1130
+ "value": "standalone"
1131
+ },
1132
+ {
1133
+ "name": "AI Agent tool",
1134
+ "value": "aiAgentTool"
1135
+ }
1136
+ ]
1137
+ },
1138
+ {
1139
+ "id": "data.connectorMode.operation.type",
1140
+ "label": "Operation",
1141
+ "description": "The type of operation to perform.",
1142
+ "value": "tools/list",
1143
+ "group": "operation",
1144
+ "binding": {
1145
+ "name": "data.connectorMode.operation.type",
1146
+ "type": "zeebe:input"
1147
+ },
1148
+ "condition": {
1149
+ "property": "data.connectorMode.type",
1150
+ "equals": "standalone",
1151
+ "type": "simple"
1152
+ },
1153
+ "type": "Dropdown",
1154
+ "choices": [
1155
+ {
1156
+ "name": "List Tools",
1157
+ "value": "tools/list"
1158
+ },
1159
+ {
1160
+ "name": "Call Tool",
1161
+ "value": "tools/call"
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "id": "data.connectorMode.operation.toolName",
1167
+ "label": "Tool name",
1168
+ "description": "The name of the tool to call.",
1169
+ "optional": false,
1170
+ "constraints": {
1171
+ "notEmpty": true
1172
+ },
1173
+ "feel": "optional",
1174
+ "group": "operation",
1175
+ "binding": {
1176
+ "name": "data.connectorMode.operation.toolName",
1177
+ "type": "zeebe:input"
1178
+ },
1179
+ "condition": {
1180
+ "allMatch": [
1181
+ {
1182
+ "property": "data.connectorMode.operation.type",
1183
+ "equals": "tools/call",
1184
+ "type": "simple"
1185
+ },
1186
+ {
1187
+ "property": "data.connectorMode.type",
1188
+ "equals": "standalone",
1189
+ "type": "simple"
1190
+ }
1191
+ ]
1192
+ },
1193
+ "type": "String"
1194
+ },
1195
+ {
1196
+ "id": "data.connectorMode.operation.toolArguments",
1197
+ "label": "Tool arguments",
1198
+ "description": "The arguments to pass to the tool.",
1199
+ "optional": true,
1200
+ "feel": "required",
1201
+ "group": "operation",
1202
+ "binding": {
1203
+ "name": "data.connectorMode.operation.toolArguments",
1204
+ "type": "zeebe:input"
1205
+ },
1206
+ "condition": {
1207
+ "allMatch": [
1208
+ {
1209
+ "property": "data.connectorMode.operation.type",
1210
+ "equals": "tools/call",
1211
+ "type": "simple"
1212
+ },
1213
+ {
1214
+ "property": "data.connectorMode.type",
1215
+ "equals": "standalone",
1216
+ "type": "simple"
1217
+ }
1218
+ ]
1219
+ },
1220
+ "type": "String"
1221
+ },
1222
+ {
1223
+ "id": "data.connectorMode.toolOperation.method",
1224
+ "label": "Method",
1225
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
1226
+ "optional": false,
1227
+ "value": "=toolCall.method",
1228
+ "constraints": {
1229
+ "notEmpty": true
1230
+ },
1231
+ "feel": "optional",
1232
+ "group": "operation",
1233
+ "binding": {
1234
+ "name": "data.connectorMode.toolOperation.method",
1235
+ "type": "zeebe:input"
1236
+ },
1237
+ "condition": {
1238
+ "property": "data.connectorMode.type",
1239
+ "equals": "aiAgentTool",
1240
+ "type": "simple"
1241
+ },
1242
+ "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>",
1243
+ "type": "String"
1244
+ },
1245
+ {
1246
+ "id": "data.connectorMode.toolOperation.params",
1247
+ "label": "Parameters",
1248
+ "description": "The parameters to be passed to the MCP method.",
1249
+ "optional": true,
1250
+ "value": "=toolCall.params",
1251
+ "feel": "required",
1252
+ "group": "operation",
1253
+ "binding": {
1254
+ "name": "data.connectorMode.toolOperation.params",
1255
+ "type": "zeebe:input"
1256
+ },
1257
+ "condition": {
1258
+ "property": "data.connectorMode.type",
1259
+ "equals": "aiAgentTool",
1260
+ "type": "simple"
1261
+ },
1262
+ "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.",
1263
+ "type": "String"
1264
+ },
1265
+ {
1266
+ "id": "data.tools.included",
1267
+ "label": "Included tools",
1268
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1269
+ "optional": true,
1270
+ "feel": "required",
1271
+ "group": "tools",
1272
+ "binding": {
1273
+ "name": "data.tools.included",
1274
+ "type": "zeebe:input"
1275
+ },
1276
+ "type": "Text"
1277
+ },
1278
+ {
1279
+ "id": "data.tools.excluded",
1280
+ "label": "Excluded tools",
1281
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1282
+ "optional": true,
1283
+ "feel": "required",
1284
+ "group": "tools",
1285
+ "binding": {
1286
+ "name": "data.tools.excluded",
1287
+ "type": "zeebe:input"
1288
+ },
1289
+ "type": "Text"
1290
+ },
1291
+ {
1292
+ "id": "version",
1293
+ "label": "Version",
1294
+ "description": "Version of the element template",
1295
+ "value": "1",
1296
+ "group": "connector",
1297
+ "binding": {
1298
+ "key": "elementTemplateVersion",
1299
+ "type": "zeebe:taskHeader"
1300
+ },
1301
+ "type": "Hidden"
1302
+ },
1303
+ {
1304
+ "id": "id",
1305
+ "label": "ID",
1306
+ "description": "ID of the element template",
1307
+ "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
1308
+ "group": "connector",
1309
+ "binding": {
1310
+ "key": "elementTemplateId",
1311
+ "type": "zeebe:taskHeader"
1312
+ },
1313
+ "type": "Hidden"
1314
+ },
1315
+ {
1316
+ "id": "resultVariable",
1317
+ "label": "Result variable",
1318
+ "description": "Name of variable to store the response in",
1319
+ "value": "toolCallResult",
1320
+ "group": "output",
1321
+ "binding": {
1322
+ "key": "resultVariable",
1323
+ "type": "zeebe:taskHeader"
1324
+ },
1325
+ "type": "String"
1326
+ },
1327
+ {
1328
+ "id": "resultExpression",
1329
+ "label": "Result expression",
1330
+ "description": "Expression to map the response into process variables",
1331
+ "feel": "required",
1332
+ "group": "output",
1333
+ "binding": {
1334
+ "key": "resultExpression",
1335
+ "type": "zeebe:taskHeader"
1336
+ },
1337
+ "type": "Text"
1338
+ },
1339
+ {
1340
+ "id": "errorExpression",
1341
+ "label": "Error expression",
1342
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1343
+ "feel": "required",
1344
+ "group": "error",
1345
+ "binding": {
1346
+ "key": "errorExpression",
1347
+ "type": "zeebe:taskHeader"
1348
+ },
1349
+ "type": "Text"
1350
+ },
1351
+ {
1352
+ "id": "retryCount",
1353
+ "label": "Retries",
1354
+ "description": "Number of retries",
1355
+ "value": "3",
1356
+ "feel": "optional",
1357
+ "group": "retries",
1358
+ "binding": {
1359
+ "property": "retries",
1360
+ "type": "zeebe:taskDefinition"
1361
+ },
1362
+ "type": "String"
1363
+ },
1364
+ {
1365
+ "id": "retryBackoff",
1366
+ "label": "Retry backoff",
1367
+ "description": "ISO-8601 duration to wait between retries",
1368
+ "value": "PT0S",
1369
+ "group": "retries",
1370
+ "binding": {
1371
+ "key": "retryBackoff",
1372
+ "type": "zeebe:taskHeader"
1373
+ },
1374
+ "type": "String"
1375
+ }
1376
+ ],
1377
+ "icon": {
1378
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
1379
+ }
258
1380
  }
259
1381
  ]