Kong MCP Servers API

The MCP Servers API from Kong — 9 operation(s) for mcp servers.

OpenAPI Specification

kong-mcp-servers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@konghq.com
    name: Kong Inc
    url: https://konghq.com
  description: 'OpenAPI 3.0 spec for Kong Gateway''s Admin API.


    You can learn more about Kong Gateway at [developer.konghq.com](https://developer.konghq.com).

    Give Kong a star at the [Kong/kong](https://github.com/kong/kong) repository.'
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Kong Enterprise Admin ACLs MCP Servers API
  version: 3.14.0
servers:
- description: Default Admin API URL
  url: '{protocol}://{hostname}:{port}{path}'
  variables:
    hostname:
      default: localhost
      description: Hostname for Kong's Admin API
    path:
      default: /
      description: Base path for Kong's Admin API
    port:
      default: '8001'
      description: Port for Kong's Admin API
    protocol:
      default: http
      description: Protocol for requests to Kong's Admin API
      enum:
      - http
      - https
security:
- adminToken: []
tags:
- name: MCP Servers
paths:
  /v1/mcp-cp/{controlPlaneId}/mcp-servers:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    get:
      operationId: list-mcp-servers-by-control-plane
      summary: List MCP Servers by Control Plane
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Returns an array of MCP server objects for the specified control plane.'
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageAfter'
      - $ref: '#/components/parameters/MCPServerCommonFilter'
      responses:
        '200':
          $ref: '#/components/responses/ListMCPServersCPInfoResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - MCP Servers
  /v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    - $ref: '#/components/parameters/mcpServerId'
    get:
      operationId: get-mcp-server-by-control-plane
      summary: Get MCP Server by Control Plane
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Retrieves an MCP server by its ID within a specific control plane context.'
      responses:
        '200':
          description: A response to retrieving a single MCP server within a control plane context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerCPInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
  /v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/code:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    - $ref: '#/components/parameters/mcpServerId'
    get:
      operationId: get-mcp-server-code
      summary: Get generated Python code for the MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Generates MCP server Python code from the OpenAPI specifications associated with the MCP server.'
      responses:
        '200':
          description: Generated Python code for the MCP server
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerCodeResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
  /v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/kong-entities:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    - $ref: '#/components/parameters/mcpServerId'
    get:
      operationId: get-mcp-server-kong-entities
      summary: Get Kong entities for the MCP Server Gateway
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Retrieves Kong entities (Routes, Services, Plugins) for the Gateway in front of the MCP Server.'
      parameters:
      - name: runtime_version
        in: query
        description: Kong Gateway runtime version to generate entities for
        required: false
        schema:
          type: string
          example: 3.13.0.0
      responses:
        '200':
          description: Kong entities for the MCP server
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KongEntitiesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
  /v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/status:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    - $ref: '#/components/parameters/mcpServerId'
    post:
      operationId: post-mcp-server-status
      summary: Report MCP Server deployment status
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Reports the current deployment status of an MCP server, including replica counts and per-version pod statuses.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCPServerStatusRequest'
      responses:
        '204':
          description: Status accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
  /v1/mcp-cp/{controlPlaneId}/signals:
    parameters:
    - $ref: '#/components/parameters/controlPlaneId'
    get:
      operationId: get-mcp-server-signals
      summary: Get MCP Server Signals
      description: "**Pre-release Endpoint**\nThis endpoint is currently in beta and is subject to change.\n\nClient-initiated signals fetch with long-polling capabilities.\nThe client supplies `capabilities` as a deepObject query parameter:\n\n\n  - Keys are capability names (e.g. `mcp`)\n  - Values contain the capability request fields (`version`)\n\nExample:\n\n\n  GET /mcp-cp/{controlPlaneId}/signals?capabilities[mcp][version]=5\n\nThe CP responds with a JSON payload containing zero or more signals that the client should process.\nIf no signals are available, the CP responds with HTTP 304 Not Modified."
      parameters:
      - $ref: '#/components/parameters/MCPCapabilities'
      responses:
        '200':
          $ref: '#/components/responses/MCPServerSignalsResponse'
        '304':
          description: No signals available (client is up to date)
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - MCP Servers
  /v1/mcp-servers:
    get:
      operationId: list-mcp-server-configs
      summary: List all MCP Servers
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Returns an array of MCP server objects.'
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageAfter'
      - $ref: '#/components/parameters/MCPServerCommonFilter'
      responses:
        '200':
          $ref: '#/components/responses/ListMCPServersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - MCP Servers
    post:
      operationId: create-mcp-server-config
      summary: Create an MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Create an MCP Server in the Konnect Organization.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMCPServerRequest'
      responses:
        '201':
          $ref: '#/components/responses/CreateMCPServerResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
      tags:
      - MCP Servers
  /v1/mcp-servers/{mcpServerId}:
    parameters:
    - $ref: '#/components/parameters/mcpServerId'
    get:
      operationId: get-mcp-server-config
      summary: Get MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Returns information about an individual MCP server.'
      responses:
        '200':
          description: A response to retrieving a single MCP server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
    put:
      operationId: update-mcp-server-config
      summary: Update MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Update an individual MCP server.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMCPServerRequest'
      responses:
        '200':
          $ref: '#/components/responses/UpdateMCPServerResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
      tags:
      - MCP Servers
    patch:
      operationId: patch-mcp-server-config
      summary: Partially Update MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Partially update an individual MCP server.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchMCPServerRequest'
      responses:
        '200':
          $ref: '#/components/responses/UpdateMCPServerResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
      tags:
      - MCP Servers
    delete:
      operationId: delete-mcp-server-config
      summary: Delete MCP Server
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Delete an MCP server.'
      responses:
        '204':
          description: Successfully deleted MCP server.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
  /v1/mcp-servers/{mcpServerId}/status:
    parameters:
    - $ref: '#/components/parameters/mcpServerId'
    get:
      operationId: get-mcp-server-status
      summary: Get MCP Server deployment status
      description: '**Pre-release Endpoint**

        This endpoint is currently in beta and is subject to change.


        Returns the current aggregated deployment status of an MCP server.'
      responses:
        '200':
          description: Deployment status of the MCP server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerStatusResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - MCP Servers
components:
  schemas:
    InvalidParameterMinimumLength:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - min_length
          - min_digits
          - min_lowercase
          - min_uppercase
          - min_symbols
          - min_items
          - min
          nullable: false
          readOnly: true
          x-speakeasy-unknown-values: allow
        minimum:
          type: integer
          example: 8
        source:
          type: string
          example: body
        reason:
          type: string
          example: must have at least 8 characters
          readOnly: true
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - minimum
    MCPServerCodeResponse:
      type: object
      properties:
        code:
          description: Generated Python code for the MCP server implementation
          type: string
          example: print("Hello MCP")
      required:
      - code
    UpdatedAt:
      description: An ISO-8601 timestamp representation of entity update date.
      type: string
      format: date-time
      example: '2022-11-04T20:10:06.927Z'
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    ConflictError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 409
          title:
            example: Conflict
          type:
            example: https://httpstatuses.com/409
          instance:
            example: kong:trace:1234567890
          detail:
            example: Conflict
    InvalidParameterChoiceItem:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - enum
          nullable: false
          readOnly: true
        reason:
          type: string
          example: is a required field
          readOnly: true
        choices:
          type: array
          items: {}
          minItems: 1
          nullable: false
          readOnly: true
          uniqueItems: true
        source:
          type: string
          example: body
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - choices
    MCPServerVersionStatus:
      type: object
      properties:
        version:
          description: The version identifier of the MCP server deployment.
          type: string
          example: v1
        desired_replicas:
          description: The desired number of replicas for this version.
          type: integer
          example: 2
          minimum: 0
        created_replicas:
          description: The number of replicas that have been created for this version.
          type: integer
          example: 2
          minimum: 0
        pods_status:
          $ref: '#/components/schemas/MCPServerPodsStatus'
      required:
      - version
      - desired_replicas
      - created_replicas
      - pods_status
    InvalidParameterMaximumLength:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - max_length
          - max_items
          - max
          nullable: false
          readOnly: true
          x-speakeasy-unknown-values: allow
        maximum:
          type: integer
          example: 8
        source:
          type: string
          example: body
        reason:
          type: string
          example: must not have more than 8 characters
          readOnly: true
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - maximum
    KongRoute:
      type: object
      properties:
        id:
          description: Route ID
          type: string
          format: uuid
        name:
          description: Route name
          type: string
          example: mcp-test-route-jsonrpc
        service:
          description: Reference to the service
          type: object
          properties:
            id:
              type: string
              format: uuid
        paths:
          description: Request paths
          type: array
          items:
            type: string
          example:
          - /mcp/test-service
        methods:
          description: HTTP methods
          type: array
          items:
            type: string
          example:
          - POST
      required:
      - name
      - paths
      - methods
    UpdateMCPServerRequest:
      type: object
      properties:
        name:
          description: The name of the MCP server.
          type: string
          maxLength: 256
          minLength: 1
        description:
          description: A description of the MCP server.
          type: string
          maxLength: 1024
        labels:
          description: Labels for the MCP server.
          type: object
          additionalProperties:
            type: string
        control_plane_id:
          description: The control plane ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
        resource_id:
          description: The MCP resource ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
      required:
      - name
    ListMCPServersCPInfoResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/MCPServerCPInfo'
        meta:
          $ref: '#/components/schemas/CursorMeta'
      required:
      - data
      - meta
    CreateMCPServerRequest:
      type: object
      properties:
        name:
          description: The name of the MCP server.
          type: string
          maxLength: 256
          minLength: 1
        description:
          description: A description of the MCP server.
          type: string
          maxLength: 1024
        labels:
          description: Labels for the MCP server.
          type: object
          additionalProperties:
            type: string
        control_plane_id:
          description: The control plane ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
        resource_id:
          description: The MCP resource ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
      required:
      - name
    MCPServerSignal:
      description: A single signal envelope containing exactly one typed capability signal.
      discriminator:
        propertyName: type
        mapping:
          mcp: '#/components/schemas/MCPServerSignalV1'
      oneOf:
      - $ref: '#/components/schemas/MCPServerSignalV1'
    MCPCapabilitiesMap:
      description: "Map of capability name -> capability request fields.\n\nExample:\n  {\n    \"mcp\": { \"version\": \"v1\", \"offset\": \"5\" }\n  }\n"
      type: object
      properties:
        mcp:
          $ref: '#/components/schemas/MCPCapabilityRequest'
    ForbiddenError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 403
          title:
            example: Forbidden
          type:
            example: https://httpstatuses.com/403
          instance:
            example: kong:trace:1234567890
          detail:
            example: Forbidden
    UnauthorizedError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 401
          title:
            example: Unauthorized
          type:
            example: https://httpstatuses.com/401
          instance:
            example: kong:trace:1234567890
          detail:
            example: Invalid credentials
    MCPServerCPInfo:
      allOf:
      - $ref: '#/components/schemas/MCPServerInfo'
      - type: object
        properties:
          container:
            allOf:
            - $ref: '#/components/schemas/ContainerSpec'
            - description: Configuration for the main container.
          init_container:
            allOf:
            - $ref: '#/components/schemas/ContainerSpec'
            - description: Configuration for the init container.
    CursorMetaPage:
      type: object
      properties:
        first:
          description: URI to the first page
          type: string
          format: path
        last:
          description: URI to the last page
          type: string
          format: path
        next:
          description: URI to the next page
          type: string
          format: path
          nullable: true
        previous:
          description: URI to the previous page
          type: string
          format: path
          nullable: true
        size:
          description: Requested page size
          type: number
          example: 10
      required:
      - size
      - next
      - previous
    CursorMeta:
      description: Pagination metadata.
      type: object
      properties:
        page:
          $ref: '#/components/schemas/CursorMetaPage'
      required:
      - page
    MCPServerPodsStatus:
      type: object
      properties:
        ready:
          description: Number of pods in the ready state.
          type: integer
          example: 2
          minimum: 0
        starting:
          description: Number of pods in the starting state.
          type: integer
          example: 0
          minimum: 0
        failing:
          description: Number of pods in the failing state.
          type: integer
          example: 0
          minimum: 0
      required:
      - ready
      - starting
      - failing
    MCPServerStatusResponse:
      type: object
      properties:
        status:
          description: 'Aggregated deployment status of the MCP server.

            - `deploying` — single version with desired replicas not yet fully ready.

            - `healthy` — single version running with no failing pods.

            - `pending` — no deployment status has been reported yet.

            - `unhealthy` — one or more failing pods across any version.

            - `upgrading` — multiple versions running with no failing pods.'
          type: string
          example: healthy
          enum:
          - deploying
          - healthy
          - pending
          - unhealthy
          - upgrading
          x-speakeasy-unknown-values: allow
      required:
      - status
    KongEntitiesResponse:
      type: object
      properties:
        routes:
          type: array
          items:
            $ref: '#/components/schemas/KongRoute'
        services:
          type: array
          items:
            $ref: '#/components/schemas/KongService'
      required:
      - routes
      - services
    CreatedAt:
      description: An ISO-8601 timestamp representation of entity creation date.
      type: string
      format: date-time
      example: '2022-11-04T20:10:06.927Z'
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    KongService:
      type: object
      properties:
        id:
          description: Service ID
          type: string
          format: uuid
        name:
          description: Service name
          type: string
          example: mcp-test-service
        protocol:
          description: The protocol used to communicate with the Service.
          type: string
          example: https
        host:
          description: Service host
          type: string
          example: mcp-test-service.svc.cluster.local
        port:
          description: Service port
          type: integer
          example: 80
          maximum: 65535
          minimum: 1
        path:
          description: Service path
          type: string
          example: /
      required:
      - name
      - protocol
      - host
      - port
      - path
    BaseError:
      description: standard error
      type: object
      properties:
        status:
          description: 'The HTTP status code of the error. Useful when passing the response

            body to child properties in a frontend UI. Must be returned as an integer.

            '
          type: integer
          readOnly: true
        title:
          description: 'A short, human-readable summary of the problem. It should not

            change between occurences of a problem, except for localization.

            Should be provided as "Sentence case" for direct use in the UI.

            '
          type: string
          readOnly: true
        type:
          description: The error type.
          type: string
          readOnly: true
        instance:
          description: 'Used to return the correlation ID back to the user, in the format

            kong:trace:<correlation_id>. This helps us find the relevant logs

            when a customer reports an issue.

            '
          type: string
          readOnly: true
        detail:
          description: 'A human readable explanation specific to this occurence of the problem.

            This field may contain request/entity data to help the user understand

            what went wrong. Enclose variable values in square brackets. Should be

            provided as "Sentence case" for direct use in the UI.

            '
          type: string
          readOnly: true
      required:
      - status
      - title
      - instance
      - detail
      title: Error
    InvalidParameterDependentItem:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - dependent_fields
          nullable: true
          readOnly: true
        reason:
          type: string
          example: is a required field
          readOnly: true
        dependents:
          type: array
          items: {}
          nullable: true
          readOnly: true
          uniqueItems: true
        source:
          type: string
          example: body
      additionalProperties: false
      required:
      - field
      - rule
      - reason
      - dependents
    MCPServerStatusRequest:
      description: 'List of per-version deployment statuses for the MCP server.

        '
      type: array
      items:
        $ref: '#/components/schemas/MCPServerVersionStatus'
    MCPServerInfo:
      type: object
      properties:
        id:
          description: The unique identifier for the MCP server.
          type: string
          format: uuid
        name:
          description: The name of the MCP server.
          type: string
          maxLength: 256
          minLength: 1
        description:
          description: A description of the MCP server.
          type: string
          maxLength: 1024
        labels:
          description: Labels for the MCP server.
          type: object
          additionalProperties:
            type: string
        deployed_at:
          description: The timestamp when the MCP server was deployed.
          type: string
          format: date-time
        control_plane_id:
          description: The control plane ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
        resource_id:
          description: The MCP resource ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
        version:
          description: The version of the MCP server.
          type: string
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
      required:
      - id
      - name
      - created_at
      - updated_at
      - version
    PatchMCPServerRequest:
      type: object
      properties:
        name:
          description: The name of the MCP server.
          type: string
          maxLength: 256
          minLength: 1
        description:
          description: A description of the MCP server.
          type: string
          maxLength: 1024
          nullable: true
        labels:
          description: Labels for the MCP server.
          type: object
          additionalProperties:
            type: string
          nullable: true
        deployed_at:
          description: The timestamp when the MCP server was deployed.
          type: string
          format: date-time
          nullable: true
        control_plane_id:
          description: The control plane ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
        resource_id:
          description: The MCP resource ID associated with the MCP server.
          type: string
          format: uuid
          nullable: true
    MCPServerSignals:
      description: The MCP server signals response.
      type: object
      properties:
        signals:
          description: A list of signals for the MCP server.
          type: array
          items:
            $ref: '#/components/schemas/MCPServerSignal'
      required:
      - signals
    MCPServerSignalV1:
      description: 'Signal notifying the client that the MCP control plane config has changed.

        '
      type: object
      properties:
        type:
          type: string
          enum:
          - mcp
        version:
          description: The current version of the MCP control plane.
          type: string
        offset:
          description: The offset for the MCP signal.
          type: string
      example:
        type: mcp
        version: v1
        offset: '6'
      additionalProperties: false
      required:
      - type
      - version
      - offset
    BadRequestError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        required:
        - invalid_parameters
        properties:
          invalid_parameters:
            $ref: '#/components/schemas/InvalidParameters'
    InvalidParameters:
      description: invalid parameters
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/InvalidParameterStandard'
        - $ref: '#/components/schemas/InvalidParameterMinimumLength'
        - $ref: '#/components/schemas/InvalidParameterMaximumLength'
        - $ref: '#/components/schemas/InvalidParameterChoiceItem'
        - $ref: '#/components/schemas/InvalidParameterDependentItem'
      minItems: 1
      nullable: false
      uniqueItems: true
    InvalidRules:
      description: invalid parameters rules
      type: string
      enum:
      - required
      - is_array
      - is_base64
      - is_boolean
      - is_date_time
      - is_integer
      - is_null
      - is_number
 

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kong/refs/heads/main/openapi/kong-mcp-servers-api-openapi.yml