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

# List

> List the tenant's Virtual MCP Servers.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/virtual_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/virtual_mcp_servers:
    get:
      tags:
        - Virtual MCP Servers
      summary: List
      description: List the tenant's Virtual MCP Servers.
      operationId: c1.api.ai_governance.v1.VirtualMCPServerService.List
      parameters:
        - in: query
          name: page_size
          schema:
            description: Maximum number of results to return. The maximum is 100.
            format: int32
            type: integer
        - in: query
          name: page_token
          schema:
            description: Pagination token returned by a previous request.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.VirtualMCPServerServiceListResponse
          description: >-
            VirtualMCPServerServiceListResponse contains one page of Virtual MCP
            Servers.
components:
  schemas:
    c1.api.ai_governance.v1.VirtualMCPServerServiceListResponse:
      description: >-
        VirtualMCPServerServiceListResponse contains one page of Virtual MCP
        Servers.
      properties:
        list:
          description: Virtual MCP Servers in this page.
          items:
            $ref: '#/components/schemas/c1.api.ai_governance.v1.VirtualMCPServer'
          type:
            - array
            - 'null'
        nextPageToken:
          description: >-
            Token to retrieve the next page. Empty when there are no more
            results.
          type: string
      title: Virtual Mcp Server Service List Response
      type: object
      x-speakeasy-name-override: VirtualMCPServerServiceListResponse
    c1.api.ai_governance.v1.VirtualMCPServer:
      description: >
        VirtualMCPServer is a tenant-managed MCP endpoint backed by one
        composition.


        This message contains a oneof named composition. Only a single field of
        the following list may be set at a time:
          - mappedSource
          - assignedTools
      properties:
        allowPersonalSources:
          description: Permit owner-scoped personal MCP sources on supported compositions.
          type: boolean
        assignedTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPAssignedTools
            - type: 'null'
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        displayName:
          description: Human-readable name shown to administrators and users.
          type: string
        id:
          description: Immutable unique identifier for this Virtual MCP Server.
          type: string
        mappedSource:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPMappedSource
            - type: 'null'
        presentation:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPPresentation
            - type: 'null'
        requireDeviceTrust:
          description: >-
            When true, require an active ConductorOne-managed device in addition
            to
             DPoP. require_device_trust=true requires require_dpop=true.
          type: boolean
        requireDpop:
          description: When true, require DPoP proof-of-possession for OAuth access tokens.
          type: boolean
        slug:
          description: >-
            Current canonical lowercase route segment, unique for the tenant.
            Renaming
             preserves the previous slug as a deprecated alias until it is reused.
          type: string
        state:
          description: Current lifecycle state.
          enum:
            - VIRTUAL_MCP_SERVER_STATE_UNSPECIFIED
            - VIRTUAL_MCP_SERVER_STATE_ACTIVE
            - VIRTUAL_MCP_SERVER_STATE_DISABLED
          type: string
          x-speakeasy-unknown-values: allow
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
        useEntitlementId:
          description: >-
            Identifier of the governed `use` entitlement for this server. This
            is the
             same immutable identifier as id and is returned for access-profile setup.
          type: string
      title: Virtual Mcp Server
      type: object
      x-speakeasy-name-override: VirtualMCPServer
    c1.api.ai_governance.v1.VirtualMCPAssignedTools:
      description: >-
        VirtualMCPAssignedTools marks a Virtual MCP Server composed from
        selected
         Toolsets and individual tools.
      title: Virtual Mcp Assigned Tools
      type: object
      x-speakeasy-name-override: VirtualMCPAssignedTools
    c1.api.ai_governance.v1.VirtualMCPMappedSource:
      description: VirtualMCPMappedSource identifies one app-scoped MCP source.
      properties:
        appId:
          description: Application that owns the MCP source.
          type: string
        connectorId:
          description: Connector that provides the MCP source within the application.
          type: string
      title: Virtual Mcp Mapped Source
      type: object
      x-speakeasy-name-override: VirtualMCPMappedSource
    c1.api.ai_governance.v1.VirtualMCPPresentation:
      description: >
        VirtualMCPPresentation selects one presentation mode and provides a
        stable
         location for mode-specific settings.

        This message contains a oneof named mode. Only a single field of the
        following list may be set at a time:
          - rawTools
          - codeMode
          - dynamicTools
      properties:
        codeMode:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPCodeModePresentation
            - type: 'null'
        dynamicTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPDynamicToolsPresentation
            - type: 'null'
        rawTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPRawToolsPresentation
            - type: 'null'
      title: Virtual Mcp Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPPresentation
    c1.api.ai_governance.v1.VirtualMCPCodeModePresentation:
      description: VirtualMCPCodeModePresentation configures code-execution presentation.
      title: Virtual Mcp Code Mode Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPCodeModePresentation
    c1.api.ai_governance.v1.VirtualMCPDynamicToolsPresentation:
      description: >-
        VirtualMCPDynamicToolsPresentation configures a session-specific tool
        registry.
      title: Virtual Mcp Dynamic Tools Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPDynamicToolsPresentation
    c1.api.ai_governance.v1.VirtualMCPRawToolsPresentation:
      description: VirtualMCPRawToolsPresentation configures direct tool presentation.
      title: Virtual Mcp Raw Tools Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPRawToolsPresentation
  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

````