> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tai42.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add an MCP server as a connector provider

> Add the MCP server at ``url`` as a discovered provider, written to the manifest and broadcast to the fleet.

Its id is ``provider_id`` or a suggestion from the host. An id that is not free — a provider in the
manifest, a stored connection record (live or lapsed), or a stored client row under it — is a 409
naming which; nothing is deleted.



## OpenAPI

````yaml /openapi.json post /api/connectors/providers
openapi: 3.1.0
info:
  description: >-
    The operator HTTP surface served under /api/*. The platform's core routes.
    Plugin routes are published by each plugin.
  title: tai42-skeleton API
  version: 23.0.0
servers: []
security: []
paths:
  /api/connectors/providers:
    post:
      tags:
        - connectors
      summary: Add an MCP server as a connector provider
      description: >-
        Add the MCP server at ``url`` as a discovered provider, written to the
        manifest and broadcast to the fleet.


        Its id is ``provider_id`` or a suggestion from the host. An id that is
        not free — a provider in the

        manifest, a stored connection record (live or lapsed), or a stored
        client row under it — is a 409

        naming which; nothing is deleted.
      operationId: post_api_connectors_providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddServerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ProviderMutationResponse'
                required:
                  - data
                type: object
          description: Success.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Malformed request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Conflict with the current resource state.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReloadingError'
          description: The server is applying a config reload; retry shortly.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AddServerRequest:
      description: Add the MCP server at ``url`` as a discovered provider.
      properties:
        category:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Category
        description:
          default: ''
          title: Description
          type: string
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Display Name
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Icon Url
        id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Id
        scopes:
          items:
            type: string
          title: Scopes
          type: array
        url:
          title: Url
          type: string
      required:
        - url
      title: AddServerRequest
      type: object
    ProviderMutationResponse:
      description: >-
        The provider's catalog entry after a change, and the fleet report of the
        manifest write it made.
      properties:
        fanout:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Fanout
        provider:
          $ref: '#/components/schemas/ProviderCatalogEntry'
      required:
        - provider
      title: ProviderMutationResponse
      type: object
    Error:
      properties:
        code:
          description: >-
            Stable machine-readable reason a client keys a dedicated error state
            on, present on refusals that opt in (e.g. a 501 not-configured
            refusal). Optional: absent when the error carries only a
            human-readable message.
          type: string
        error:
          type: string
      required:
        - error
      type: object
    ReloadingError:
      properties:
        error:
          const: reloading — the server is applying a config reload; retry shortly
          type: string
        reloading:
          const: true
          type: boolean
      required:
        - error
        - reloading
      type: object
    ProviderCatalogEntry:
      description: Wire view of one provider offered in the connector catalog.
      properties:
        category:
          title: Category
          type: string
        client_source:
          anyOf:
            - enum:
                - env
                - manual
                - dynamic
                - unset
              type: string
            - type: 'null'
          default: null
          title: Client Source
        config_fields:
          items:
            $ref: '#/components/schemas/ConfigFieldSpec'
          title: Config Fields
          type: array
        description:
          default: ''
          title: Description
          type: string
        display_name:
          title: Display Name
          type: string
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Icon Url
        id:
          title: Id
          type: string
        kind:
          enum:
            - oauth
            - none
          title: Kind
          type: string
        origin:
          enum:
            - system
            - community
          title: Origin
          type: string
        removable:
          default: false
          title: Removable
          type: boolean
        sub_services:
          items:
            $ref: '#/components/schemas/SubServiceView'
          title: Sub Services
          type: array
      required:
        - id
        - display_name
        - kind
        - origin
        - category
        - sub_services
      title: ProviderCatalogEntry
      type: object
    ConfigFieldSpec:
      description: >-
        One client-supplied static config value for a no-auth provider.


        ``target`` picks the injection channel and MUST match the server
        transport

        (``env`` for stdio, ``header`` for http/websocket). ``secret`` flags a
        value

        masked in the UI and never logged; ``required`` gates connect-time
        validation.
      properties:
        key:
          title: Key
          type: string
        label:
          minLength: 1
          title: Label
          type: string
        required:
          default: true
          title: Required
          type: boolean
        secret:
          default: false
          title: Secret
          type: boolean
        target:
          enum:
            - env
            - header
          title: Target
          type: string
      required:
        - key
        - label
        - target
      title: ConfigFieldSpec
      type: object
    SubServiceView:
      description: Wire view of one sub-service offered by a provider in the catalog.
      properties:
        description:
          default: ''
          title: Description
          type: string
        display_name:
          title: Display Name
          type: string
        id:
          title: Id
          type: string
        scopes:
          items:
            type: string
          title: Scopes
          type: array
      required:
        - id
        - display_name
      title: SubServiceView
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.