> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-leet-slack-mcp-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List

> List retrieves MCP servers for an app.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/apps/{app_id}/mcp_servers
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/apps/{app_id}/mcp_servers:
    get:
      tags:
        - MCP Servers
      summary: List
      description: List retrieves MCP servers for an app.
      operationId: c1.api.ai_governance.v1.MCPServerService.List
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: App identifier (required).
            type: string
        - in: query
          name: page_size
          schema:
            description: Page size (max 100).
            format: int32
            type: integer
        - in: query
          name: page_token
          schema:
            description: Page token for pagination.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.MCPServerServiceListResponse
          description: >-
            MCPServerServiceListResponse returns a paginated list of MCP
            servers.
      x-codeSamples:
        - lang: go
          label: List
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.MCPServer.List(ctx, operations.C1APIAiGovernanceV1MCPServerServiceListRequest{\n        AppID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.MCPServerServiceListResponse != nil {\n        // handle response\n    }\n}"
components:
  schemas:
    c1.api.ai_governance.v1.MCPServerServiceListResponse:
      description: MCPServerServiceListResponse returns a paginated list of MCP servers.
      properties:
        list:
          description: List of MCP servers.
          items:
            $ref: '#/components/schemas/c1.api.ai_governance.v1.MCPServerView'
          type:
            - array
            - 'null'
        nextPageToken:
          description: Token for next page.
          type: string
      title: Mcp Server Service List Response
      type: object
      x-speakeasy-name-override: MCPServerServiceListResponse
    c1.api.ai_governance.v1.MCPServerView:
      description: >-
        MCPServerView is the API representation of an MCP server (backed by a
        Connector).
      properties:
        appId:
          description: App identifier that owns this MCP server.
          type: string
        authMethod:
          description: Authentication method in use. Read-only; derived from stored config.
          enum:
            - MCP_SERVER_AUTH_METHOD_UNSPECIFIED
            - MCP_SERVER_AUTH_METHOD_NONE
            - MCP_SERVER_AUTH_METHOD_BEARER_TOKEN
            - MCP_SERVER_AUTH_METHOD_OAUTH2
            - MCP_SERVER_AUTH_METHOD_CUSTOM_HEADER
            - MCP_SERVER_AUTH_METHOD_AWS_SIGV4
            - MCP_SERVER_AUTH_METHOD_BASIC_AUTH
          type: string
          x-speakeasy-unknown-values: allow
        awsAccessKeyId:
          description: |-
            AWS SigV4 access key ID (the public half of the credential pair).
             Read-only; derived from stored config. Surfaced so the edit form can
             pre-fill the field on load without exposing the sealed secret.
          readOnly: true
          type: string
        awsSecretAccessKeyConfigured:
          description: Whether an AWS SigV4 secret access key is configured. Read-only.
          readOnly: true
          type: boolean
        awsSessionTokenConfigured:
          description: |-
            Whether an AWS SigV4 session token is configured (optional, only for
             STS temporary credentials). Read-only.
          readOnly: true
          type: boolean
        basicAuthPasswordConfigured:
          description: >-
            Whether a basic-auth password is configured (admin-supplied for
            SHARED,
             irrelevant for PER_USER). Read-only; derived from stored config.
          readOnly: true
          type: boolean
        basicAuthUsername:
          description: The username configured for basic-auth. Read-only.
          readOnly: true
          type: string
        bearerTokenConfigured:
          description: |-
            Whether a bearer-token credential is configured (admin-supplied for
             SHARED, irrelevant for PER_USER). Read-only; derived from stored config.
             Mirrors oauth2_credentials_configured for the bearer-token auth method
             so the edit form can render the password input as "configured" without
             exposing the sealed bytes.
          readOnly: true
          type: boolean
        configFieldValues:
          additionalProperties:
            type: string
          description: >-
            Non-secret configuration field values keyed by catalog config field
            name.
             Read-only; populated from the stored config. Secret fields are omitted.
          readOnly: true
          type: object
        connectorId:
          description: Unique identifier (connector ID).
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        credentialsSetupUrl:
          description: >-
            Deep link to the server's detail page in the C1 admin UI, where an
            admin
             enters or rotates credentials in the browser. Lets an agent hand its human
             a clickable link for credential entry so the secret value never transits
             the agent transcript. Empty when the tenant frontend URL can't be resolved.
             Read-only.
          readOnly: true
          type: string
        customHeaderName:
          description: |-
            The HTTP header name configured for custom-header auth. Read-only;
             derived from stored config. Surfaced so the admin edit form can
             pre-fill the field on load — without this, the form shows blank and
             the admin has to retype it on every edit (which loses the value if
             they only meant to flip token_sharing).
          readOnly: true
          type: string
        customHeaderValueConfigured:
          description: >-
            Whether a custom-header value is configured (admin-supplied for
            SHARED,
             irrelevant for PER_USER). Read-only; derived from stored config.
          readOnly: true
          type: boolean
        dataSensitivity:
          description: Data sensitivity classification.
          enum:
            - MCP_SERVER_DATA_SENSITIVITY_UNSPECIFIED
            - MCP_SERVER_DATA_SENSITIVITY_PUBLIC
            - MCP_SERVER_DATA_SENSITIVITY_INTERNAL
            - MCP_SERVER_DATA_SENSITIVITY_CONFIDENTIAL
            - MCP_SERVER_DATA_SENSITIVITY_RESTRICTED
          type: string
          x-speakeasy-unknown-values: allow
        defaultToolPrefix:
          description: >-
            Default tool-name prefix used when tool_prefix is unset (the hosted
            impl's
             server_prefix / service name); empty for external or legacy servers. Read-only.
          readOnly: true
          type: string
        description:
          description: Admin-provided description.
          type: string
        displayName:
          description: Admin-provided display name.
          type: string
        endpointUrl:
          description: Endpoint URL for external MCP servers. Read-only.
          readOnly: true
          type: string
        lastCalledAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        mcpServerCatalogId:
          description: |-
            Opaque catalog entry ID for hosted MCP servers (27-character KSUID).
             Obtain valid IDs from the ListCatalog or GetCatalog RPCs.
          type: string
        oauth2AuthorizeUrl:
          description: OAuth2 authorization URL. Read-only; derived from stored config.
          readOnly: true
          type: string
        oauth2ClientId:
          description: >-
            OAuth2 client ID (non-secret). Read-only; derived from stored
            config.
          readOnly: true
          type: string
        oauth2ClientIdMode:
          description: >-
            How the OAuth2 client_id was acquired (manual / DCR / CIMD).
            Read-only;
             derived from stored config. Empty for non-authorization_code servers.
          enum:
            - MCP_SERVER_AUTH_OAUTH2_CLIENT_ID_MODE_UNSPECIFIED
            - MCP_SERVER_AUTH_OAUTH2_CLIENT_ID_MODE_DCR
            - MCP_SERVER_AUTH_OAUTH2_CLIENT_ID_MODE_CIMD
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
        oauth2ClientSecretExpiresAt:
          description: |-
            RFC 7591 client_secret expiry (unix seconds; 0 = never). Read-only;
             derived from stored config. Surfaced for display only.
          format: int64
          readOnly: true
          type: string
        oauth2CodeChallengeMethodsSupported:
          description: |-
            PKCE code-challenge methods the IdP advertised at registration.
             Read-only; derived from stored config. Surfaced so the edit form's
             change detection can compare against the saved value rather than an
             implicit empty default — without this, re-running Discover on a
             server with stable methods always reports the field as changed and
             fires a spurious UpdateCredentials.
          items:
            type: string
          readOnly: true
          type:
            - array
            - 'null'
        oauth2CredentialsConfigured:
          description: >-
            Whether OAuth2 client credentials (client_id + client_secret) are
            configured. Read-only.
          readOnly: true
          type: boolean
        oauth2ExtraAuthorizeParams:
          additionalProperties:
            type: string
          description: >-
            Static query params appended to the OAuth2 authorize URL. Read-only
            on the
             view; the edit form surfaces this as an editable key/value list. Empty for
             non-authorization_code servers.
          readOnly: true
          type: object
        oauth2ExtraTokenParams:
          additionalProperties:
            type: string
          description: >-
            Extra body params POSTed to the OAuth2 token endpoint. Read-only on
            the
             view; the edit form takes this value and surfaces it as an editable
             key/value list. Empty for non-OAuth2 / non-client-credentials servers.
          readOnly: true
          type: object
        oauth2IssuerUrl:
          description: >-
            OAuth2 issuer URL. Read-only; derived from stored config. Surfaced
            so
             the registration UI can prefill the Discover input box on edit.
          readOnly: true
          type: string
        oauth2JwtAudience:
          description: JWT audience claim. Read-only.
          readOnly: true
          type: string
        oauth2JwtIssuer:
          description: JWT issuer (service account email). Read-only.
          readOnly: true
          type: string
        oauth2JwtPrivateKeyConfigured:
          description: Whether a JWT private key is configured. Read-only.
          readOnly: true
          type: boolean
        oauth2JwtSubject:
          description: JWT subject (domain-wide delegation). Read-only.
          readOnly: true
          type: string
        oauth2Mode:
          description: OAuth2 mode in use. Read-only; derived from stored config.
          enum:
            - MCP_SERVER_AUTH_OAUTH2_MODE_UNSPECIFIED
            - MCP_SERVER_AUTH_OAUTH2_MODE_SERVICE
            - MCP_SERVER_AUTH_OAUTH2_MODE_PASSTHROUGH
            - MCP_SERVER_AUTH_OAUTH2_MODE_CLIENT_CREDENTIALS
            - MCP_SERVER_AUTH_OAUTH2_MODE_JWT_BEARER
            - MCP_SERVER_AUTH_OAUTH2_MODE_GOOGLE_SERVICE_ACCOUNT
            - MCP_SERVER_AUTH_OAUTH2_MODE_AUTHORIZATION_CODE
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
        oauth2Pkce:
          description: >-
            PKCE behavior for authorization_code mode: "discover" (or empty),
            "s256",
             or "disabled". Read-only on the view. Empty for non-authorization_code servers.
          readOnly: true
          type: string
        oauth2Scopes:
          description: OAuth2 scopes. Read-only; derived from stored config.
          items:
            type: string
          readOnly: true
          type:
            - array
            - 'null'
        oauth2ScopesSupported:
          description: |-
            OAuth scopes the IdP advertised in its discovery doc at the most
             recent Discover. Read-only; derived from stored config. Surfaced so
             the edit form can populate the Scopes chips-input autocomplete from
             a previously-discovered list without forcing the admin to re-run
             Discover. Distinct from oauth2_scopes (= the requested subset).
          items:
            type: string
          readOnly: true
          type:
            - array
            - 'null'
        oauth2ServiceAuthorized:
          description: Whether a service-mode OAuth2 credential exists. Read-only.
          readOnly: true
          type: boolean
        oauth2ServiceAuthorizedAsEmail:
          description: >-
            Email of the external identity authorized (from ID token).
            Read-only.
          readOnly: true
          type: string
        oauth2ServiceAuthorizedAsName:
          description: >-
            Display name of the external identity authorized (from ID token).
            Read-only.
          readOnly: true
          type: string
        oauth2ServiceAuthorizedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        oauth2ServiceAuthorizedBy:
          description: >-
            Passport user ID of who authorized the service-mode OAuth2
            credential. Read-only.
          readOnly: true
          type: string
        oauth2TokenEndpointAuthMethod:
          description: >-
            RFC 7591 token_endpoint_auth_method the authorization server
            assigned
             ("none" for public PKCE-only clients). Read-only; server-set from the DCR
             result. Empty for manual / non-DCR servers.
          readOnly: true
          type: string
        oauth2TokenUrl:
          description: OAuth2 token URL. Read-only; derived from stored config.
          readOnly: true
          type: string
        requireToolApproval:
          description: Per-server override for tool auto-approval.
          enum:
            - OPTIONAL_BOOL_UNSPECIFIED
            - OPTIONAL_BOOL_TRUE
            - OPTIONAL_BOOL_FALSE
          type: string
          x-speakeasy-unknown-values: allow
        serverType:
          description: Whether this is a hosted MCP server.
          enum:
            - MCP_SERVER_TYPE_UNSPECIFIED
            - MCP_SERVER_TYPE_HOSTED
            - MCP_SERVER_TYPE_EXTERNAL
          type: string
          x-speakeasy-unknown-values: allow
        sourceAppId:
          description: Source app ID (hosted servers only).
          type: string
        tokenSharing:
          description: |-
            Token sharing model in use. Read-only; derived from stored config.
             For rows stored under the legacy SERVICE/PASSTHROUGH OAuth2 modes,
             this is synthesized as SHARED/PER_USER respectively.
          enum:
            - MCP_SERVER_TOKEN_SHARING_UNSPECIFIED
            - MCP_SERVER_TOKEN_SHARING_SHARED
            - MCP_SERVER_TOKEN_SHARING_PER_USER
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
        toolPrefix:
          description: |-
            Admin-configured prefix for tool names in the C1 MCP server.
             Tools are exposed as "<tool_prefix>_<tool_name>".
             When empty, the system uses an auto-derived prefix (service name or hostname).
          type: string
        transportType:
          description: Transport type for external MCP servers. Read-only.
          enum:
            - MCP_SERVER_TRANSPORT_TYPE_UNSPECIFIED
            - MCP_SERVER_TRANSPORT_TYPE_STREAMABLE_HTTP
            - MCP_SERVER_TRANSPORT_TYPE_SSE
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
        tunnelApplianceId:
          description: >-
            Credential id (cutename) used to route tool calls through the
            bridge.
             Set only when tunneled == true. Read-only.
          readOnly: true
          type: string
        tunnelBridgeId:
          description: >-
            ID of the bridge (TunnelConnection.id, a KSUID) that proxies this
            server.
             Set only when tunneled == true. Read-only.
          readOnly: true
          type: string
        tunnelServiceName:
          description: |-
            Bridge-announced service name used to route to this server. Set only
             when tunneled == true. Read-only.
          readOnly: true
          type: string
        tunneled:
          description: |-
            Whether the MCP server is reached over a tunnel to a private bridge
             appliance instead of a public URL. Read-only.
          readOnly: true
          type: boolean
        updatedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
      title: Mcp Server View
      type: object
      x-speakeasy-name-override: MCPServerView
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````