@celigo/api-specs 0.2.34 → 0.2.35
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.
- package/dist/mcp-server.yml +263 -0
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/mcp-server.yml
CHANGED
|
@@ -502,6 +502,269 @@ paths:
|
|
|
502
502
|
$ref: '#/components/responses/401-unauthorized'
|
|
503
503
|
'404':
|
|
504
504
|
$ref: '#/components/responses/404-not-found'
|
|
505
|
+
/v1/mcpservers/template/{_templateId}:
|
|
506
|
+
post:
|
|
507
|
+
x-internal: false
|
|
508
|
+
operationId: installMcpServerTemplate
|
|
509
|
+
tags:
|
|
510
|
+
- MCP Servers
|
|
511
|
+
summary: Install a published MCP server template
|
|
512
|
+
description: |-
|
|
513
|
+
Installs a published MCP-server marketplace template (a template whose
|
|
514
|
+
`type` is `mcpserver`). The request takes no parameters — the published
|
|
515
|
+
template ZIP is the source of truth for everything the install creates,
|
|
516
|
+
and there is no `connectionMap` (unlike the integration-template
|
|
517
|
+
install).
|
|
518
|
+
|
|
519
|
+
What the install creates depends on the template's contents, reported by
|
|
520
|
+
the response's `destination` envelope:
|
|
521
|
+
|
|
522
|
+
- **Prompt-only templates** (no tools) create the MCP server
|
|
523
|
+
immediately, disabled. `destination.resourceType` is `mcpservers`.
|
|
524
|
+
- **Tool-bearing templates** hand off to the Integration installer:
|
|
525
|
+
`destination.resourceType` is `integrations` and names an Integration
|
|
526
|
+
in install mode, where connection mapping and the remaining install
|
|
527
|
+
steps continue. The MCP server is created — disabled — by the
|
|
528
|
+
Integration's terminal install step, after the tools are cloned.
|
|
529
|
+
|
|
530
|
+
Integration templates do not install through this path — they use
|
|
531
|
+
`POST /v1/integrations/template/{_id}`. Each path rejects the other
|
|
532
|
+
class: this one returns 404 for a template that is not a published
|
|
533
|
+
MCP-server template, and the integration path rejects MCP-server
|
|
534
|
+
templates with a 400 `invalid_template` error.
|
|
535
|
+
|
|
536
|
+
Every request that reaches the platform starts a new install — there is
|
|
537
|
+
no idempotency key, so retrying after a timeout or ambiguous failure
|
|
538
|
+
creates a duplicate server or install-mode Integration. Duplicates are
|
|
539
|
+
kept apart by URI suffixing: each new server's `relativeURI` gets `-2`
|
|
540
|
+
through `-100` appended when the un-suffixed value is taken; once all
|
|
541
|
+
100 are in use the install fails with a 422 `invalid_value` error.
|
|
542
|
+
|
|
543
|
+
Requires the `install:published:template` permission.
|
|
544
|
+
x-celigo-ai-guidance:
|
|
545
|
+
- Send an empty JSON object as the body. Connection mapping for tool-bearing templates happens later, in the created Integration's install steps — never invent a connectionMap for this endpoint.
|
|
546
|
+
- Never retry this POST after a timeout or an ambiguous failure — a request that reached the platform already started an install, and a second request installs a duplicate.
|
|
547
|
+
- Branch the follow-up on destination.resourceType — "integrations" means install steps continue on the created Integration (its setup page); "mcpservers" means the disabled MCP server already exists and needs enabling and access before clients can use it.
|
|
548
|
+
parameters:
|
|
549
|
+
- name: _templateId
|
|
550
|
+
in: path
|
|
551
|
+
required: true
|
|
552
|
+
description: The published MCP-server template to install.
|
|
553
|
+
schema:
|
|
554
|
+
type: string
|
|
555
|
+
format: objectId
|
|
556
|
+
x-celigo-refModel: templates
|
|
557
|
+
examples:
|
|
558
|
+
- 6ab129aeb9e4547494c0667f
|
|
559
|
+
requestBody:
|
|
560
|
+
required: false
|
|
561
|
+
content:
|
|
562
|
+
application/json:
|
|
563
|
+
schema:
|
|
564
|
+
type: object
|
|
565
|
+
description: Empty object — the install takes no parameters.
|
|
566
|
+
examples:
|
|
567
|
+
empty:
|
|
568
|
+
summary: The install takes no parameters
|
|
569
|
+
value: {}
|
|
570
|
+
responses:
|
|
571
|
+
'201':
|
|
572
|
+
description: Installation started.
|
|
573
|
+
content:
|
|
574
|
+
application/json:
|
|
575
|
+
schema:
|
|
576
|
+
type: object
|
|
577
|
+
required:
|
|
578
|
+
- destination
|
|
579
|
+
properties:
|
|
580
|
+
destination:
|
|
581
|
+
type: object
|
|
582
|
+
description: The resource the install created first.
|
|
583
|
+
required:
|
|
584
|
+
- resourceType
|
|
585
|
+
- resourceId
|
|
586
|
+
properties:
|
|
587
|
+
resourceType:
|
|
588
|
+
type: string
|
|
589
|
+
enum:
|
|
590
|
+
- mcpservers
|
|
591
|
+
- integrations
|
|
592
|
+
x-enumDescriptions:
|
|
593
|
+
mcpservers: The disabled MCP server created directly from a prompt-only template
|
|
594
|
+
integrations: The install-mode Integration created for a tool-bearing template
|
|
595
|
+
description: |-
|
|
596
|
+
Which resource type the install created — determines
|
|
597
|
+
where the caller continues the setup.
|
|
598
|
+
resourceId:
|
|
599
|
+
type: string
|
|
600
|
+
format: objectId
|
|
601
|
+
description: |-
|
|
602
|
+
The created resource's ID, in the collection named by
|
|
603
|
+
`resourceType`.
|
|
604
|
+
examples:
|
|
605
|
+
toolBearing:
|
|
606
|
+
summary: Tool-bearing template — Integration in install mode
|
|
607
|
+
value:
|
|
608
|
+
destination:
|
|
609
|
+
resourceType: integrations
|
|
610
|
+
resourceId: 6ab130000000000000000d01
|
|
611
|
+
promptOnly:
|
|
612
|
+
summary: Prompt-only template — disabled MCP server
|
|
613
|
+
value:
|
|
614
|
+
destination:
|
|
615
|
+
resourceType: mcpservers
|
|
616
|
+
resourceId: 6ab130000000000000000d02
|
|
617
|
+
'401':
|
|
618
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
619
|
+
'403':
|
|
620
|
+
$ref: '#/components/responses/403-forbidden'
|
|
621
|
+
'404':
|
|
622
|
+
description: |-
|
|
623
|
+
No published MCP-server template with this ID. Integration templates
|
|
624
|
+
return 404 here too — they install via
|
|
625
|
+
`POST /v1/integrations/template/{_id}`.
|
|
626
|
+
content:
|
|
627
|
+
application/json:
|
|
628
|
+
schema:
|
|
629
|
+
$ref: '#/components/schemas/Error'
|
|
630
|
+
examples:
|
|
631
|
+
notFound:
|
|
632
|
+
value:
|
|
633
|
+
errors:
|
|
634
|
+
- code: invalid_ref
|
|
635
|
+
message: Template not found.
|
|
636
|
+
'422':
|
|
637
|
+
description: |-
|
|
638
|
+
The install was rejected before anything was created. As-built
|
|
639
|
+
cases: the template packages capabilities an MCP-server template
|
|
640
|
+
cannot carry (`invalid_template` — only tools and inline prompts
|
|
641
|
+
are portable), a packaged tool is missing or inaccessible
|
|
642
|
+
(`invalid_template`), or `relativeURI` de-duplication exhausted its
|
|
643
|
+
`-2`…`-100` suffixes (`invalid_value` — the account already holds
|
|
644
|
+
100 servers on that URI; delete or rename some before installing
|
|
645
|
+
again). None of these are retryable unchanged — and never retry
|
|
646
|
+
the POST blindly, since a request that reached the platform may
|
|
647
|
+
already have installed something.
|
|
648
|
+
content:
|
|
649
|
+
application/json:
|
|
650
|
+
schema:
|
|
651
|
+
$ref: '#/components/schemas/Error'
|
|
652
|
+
examples:
|
|
653
|
+
uriSuffixesExhausted:
|
|
654
|
+
summary: relativeURI de-duplication exhausted
|
|
655
|
+
value:
|
|
656
|
+
errors:
|
|
657
|
+
- code: invalid_value
|
|
658
|
+
message: Unable to generate a unique relative URI for the MCP server from /installed-mcp-server.
|
|
659
|
+
unsupportedCapability:
|
|
660
|
+
summary: Template packages non-portable capabilities
|
|
661
|
+
value:
|
|
662
|
+
errors:
|
|
663
|
+
- code: invalid_template
|
|
664
|
+
message: 'Installing an MCP server supports only tools and prompts. Unsupported: apis, resources.'
|
|
665
|
+
/v1/mcpservers/{_id}/template:
|
|
666
|
+
get:
|
|
667
|
+
x-internal: false
|
|
668
|
+
operationId: exportMcpServerTemplate
|
|
669
|
+
tags:
|
|
670
|
+
- MCP Servers
|
|
671
|
+
summary: Export an MCP server as a template ZIP
|
|
672
|
+
description: |-
|
|
673
|
+
Generates a template ZIP from the MCP server and returns a temporary
|
|
674
|
+
signed URL for downloading it. The ZIP contains the server document,
|
|
675
|
+
its inline prompts, its tools, and the resources those tools depend on
|
|
676
|
+
(exports, imports, connections, scripts) — a prompt-only server (no
|
|
677
|
+
tools) exports successfully. The ZIP is the artifact a publisher
|
|
678
|
+
uploads when authoring an MCP-server marketplace template; installing
|
|
679
|
+
that template recreates the server via
|
|
680
|
+
`POST /v1/mcpservers/template/{_templateId}`.
|
|
681
|
+
|
|
682
|
+
Only tools and inline prompts are portable. A server that publishes
|
|
683
|
+
APIs (`apis[]`) or file resources (`resources[]`) fails the export up
|
|
684
|
+
front with a 400 `invalid_template` error — no ZIP is generated;
|
|
685
|
+
nothing is stripped to make it succeed.
|
|
686
|
+
|
|
687
|
+
The signed URL expires after about 60 seconds — download promptly, and
|
|
688
|
+
call the endpoint again for a fresh URL rather than storing this one.
|
|
689
|
+
|
|
690
|
+
Requires the `create:mcpserver:template` permission.
|
|
691
|
+
parameters:
|
|
692
|
+
- name: _id
|
|
693
|
+
in: path
|
|
694
|
+
required: true
|
|
695
|
+
description: The MCP server to export.
|
|
696
|
+
schema:
|
|
697
|
+
type: string
|
|
698
|
+
format: objectId
|
|
699
|
+
x-celigo-refModel: mcpservers
|
|
700
|
+
examples:
|
|
701
|
+
- 69eb9fb5b4fc023618e490b8
|
|
702
|
+
responses:
|
|
703
|
+
'200':
|
|
704
|
+
description: Temporary signed URL for the generated ZIP.
|
|
705
|
+
content:
|
|
706
|
+
application/json:
|
|
707
|
+
schema:
|
|
708
|
+
type: object
|
|
709
|
+
required:
|
|
710
|
+
- signedURL
|
|
711
|
+
- key
|
|
712
|
+
properties:
|
|
713
|
+
signedURL:
|
|
714
|
+
type: string
|
|
715
|
+
format: uri
|
|
716
|
+
description: |-
|
|
717
|
+
Time-limited download URL for the generated template ZIP —
|
|
718
|
+
expires after about 60 seconds.
|
|
719
|
+
key:
|
|
720
|
+
type: string
|
|
721
|
+
description: |-
|
|
722
|
+
Storage key of the generated ZIP object — stable across
|
|
723
|
+
the URL's expiry, useful for correlating repeated exports.
|
|
724
|
+
examples:
|
|
725
|
+
exported:
|
|
726
|
+
summary: Signed URL for the generated ZIP
|
|
727
|
+
value:
|
|
728
|
+
signedURL: https://s3.amazonaws.com/templates/mcp-export/69eb9fb5b4fc023618e490b8.zip?X-Amz-Expires=60
|
|
729
|
+
key: mcp-export/69eb9fb5b4fc023618e490b8.zip
|
|
730
|
+
'400':
|
|
731
|
+
description: |-
|
|
732
|
+
The server publishes capabilities a template cannot carry — only
|
|
733
|
+
tools and inline prompts are portable. Remove the APIs / file
|
|
734
|
+
resources (or export a server without them); retrying unchanged
|
|
735
|
+
fails identically.
|
|
736
|
+
content:
|
|
737
|
+
application/json:
|
|
738
|
+
schema:
|
|
739
|
+
$ref: '#/components/schemas/Error'
|
|
740
|
+
examples:
|
|
741
|
+
unsupportedCapability:
|
|
742
|
+
summary: Server publishes APIs or file resources
|
|
743
|
+
value:
|
|
744
|
+
errors:
|
|
745
|
+
- code: invalid_template
|
|
746
|
+
message: 'Installing an MCP server supports only tools and prompts. Unsupported: apis, resources.'
|
|
747
|
+
'401':
|
|
748
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
749
|
+
'403':
|
|
750
|
+
$ref: '#/components/responses/403-forbidden'
|
|
751
|
+
'404':
|
|
752
|
+
$ref: '#/components/responses/404-not-found'
|
|
753
|
+
'422':
|
|
754
|
+
description: |-
|
|
755
|
+
The export could not assemble a complete ZIP — a tool or its
|
|
756
|
+
backing integration is missing or not accessible to the caller.
|
|
757
|
+
content:
|
|
758
|
+
application/json:
|
|
759
|
+
schema:
|
|
760
|
+
$ref: '#/components/schemas/Error'
|
|
761
|
+
examples:
|
|
762
|
+
dependencyInvalid:
|
|
763
|
+
summary: A tool dependency is missing or inaccessible
|
|
764
|
+
value:
|
|
765
|
+
errors:
|
|
766
|
+
- code: invalid_template
|
|
767
|
+
message: The MCP server template contains a missing or inaccessible tool dependency.
|
|
505
768
|
/v1/mcpservers/{_id}/dependencies:
|
|
506
769
|
get:
|
|
507
770
|
x-internal: false
|
package/package.json
CHANGED