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

> List inbound MCP client connections across an organization.

# List MCP client connections in an organization

The organization bot token must have the following scopes:

* `mcp-client-connection:read`

Returns one result for each member, client, and governance state. Connections are grouped into one row only when `is_enterprise_managed` and `idp_issuer` match, so every workspace in a row can be governed the same way. Within a row, `created_at` is the earliest connection time and `last_active_at` is the most recent activity time.

Use bracket encoding to filter by one or more members or workspaces:

```text theme={null}
?user_ids[]=aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa&workspace_ids[]=bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb
```

Filters only match workspaces in the organization that owns the token. Unknown or out-of-organization IDs return no matching results. A `workspace_ids` filter limits both the returned rows and their connection metadata to the selected workspaces; state from an excluded workspace is not folded into a matching row.

The response contains the standard user reference only. For clients in Notion's trusted registry, `client.name` and `client.type` come from that registry. A custom or unregistered client's name can come from metadata reported by the client and its type is `other`; use `client.key` as the stable identifier. `idp_issuer` is present only for enterprise-managed connections.

This endpoint inventories member-bound OAuth client connections. It does not include direct MCP usage through personal access tokens or workspace-owned internal integrations. Govern personal access tokens with the [personal access token endpoints](/reference/admin/revoke-personal-access-token); manage internal integrations in the workspace's integration settings.


## OpenAPI

````yaml openapi-adminApi.json GET /v1/mcp_client_connections
openapi: 3.1.0
info:
  title: Notion Admin API
  version: 1.0.0
  termsOfService: >-
    https://notion.notion.site/Terms-and-Privacy-28ffdd083dc3473e9c2da6ec011b58ac
servers:
  - url: https://api.notion.com/admin
security:
  - bearerAuth: []
tags:
  - name: Exports
    description: Workspace export endpoints
  - name: Legal holds
    description: Legal hold endpoints
  - name: Managed users
    description: Managed user endpoints
paths:
  /v1/mcp_client_connections:
    get:
      tags:
        - Admin API
      summary: List MCP client connections in an organization
      operationId: list-mcp-client-connections
      parameters:
        - $ref: '#/components/parameters/notionVersion'
        - name: cursor
          in: query
          schema:
            description: Cursor returned by the previous page.
            type: string
        - name: page_size
          in: query
          schema:
            description: >-
              Number of results to return. Defaults to 100 and cannot exceed
              100.
            type: string
        - name: user_ids
          in: query
          schema:
            description: Member IDs to include. Use bracket encoding for multiple values.
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: string
                format: uuid
        - name: workspace_ids
          in: query
          schema:
            description: >-
              Workspace IDs to include. Use bracket encoding for multiple
              values.
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: string
                format: uuid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  has_more:
                    description: Whether another page is available.
                    type: boolean
                  results:
                    description: >-
                      Connections grouped by member, client, and governance
                      state.
                    type: array
                    items:
                      type: object
                      properties:
                        client:
                          description: Client identity metadata.
                          type: object
                          properties:
                            key:
                              description: Stable client key used by the revoke endpoint.
                              type: string
                            name:
                              description: >-
                                Registry name, or the display name reported by a
                                custom client.
                              type: string
                            type:
                              description: >-
                                Registry category, or 'other' for a custom or
                                unregistered client.
                              type: string
                              enum:
                                - canva
                                - chatgpt
                                - claude
                                - composio
                                - cursor
                                - devin
                                - figma_make
                                - github
                                - grok
                                - hubspot
                                - linear
                                - lovable
                                - make
                                - microsoft_365_copilot
                                - mistral
                                - notion
                                - other
                                - perplexity
                                - poke
                                - slack
                                - vscode
                                - zapier
                          required:
                            - key
                            - name
                            - type
                        created_at:
                          description: >-
                            Earliest connection creation time, in epoch
                            milliseconds.
                          type: number
                        is_enterprise_managed:
                          description: >-
                            Whether the grouped connections are
                            enterprise-managed.
                          type: boolean
                        user:
                          description: The member connected to the client.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                          required:
                            - id
                        workspaces:
                          description: >-
                            Workspaces where the member and client have the same
                            governance state.
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                            required:
                              - id
                        idp_issuer:
                          description: >-
                            Identity provider issuer for an enterprise-managed
                            connection.
                          type: string
                        last_active_at:
                          description: Most recent activity time, in epoch milliseconds.
                          type: number
                      required:
                        - client
                        - created_at
                        - is_enterprise_managed
                        - user
                        - workspaces
                  next_cursor:
                    description: >-
                      Cursor for the next page. Present only when 'has_more' is
                      true.
                    type: string
                required:
                  - has_more
                  - results
        '400':
          description: The request body, path parameters, or query parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError400'
              example:
                type: error
                code: validation_error
                status: 400
                message: The request body is invalid.
        '401':
          description: The request is missing a valid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError401'
              example:
                type: error
                code: unauthorized
                status: 401
                message: Unauthorized.
        '403':
          description: >-
            The authenticated bot does not have access to the requested resource
            or scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError403'
              example:
                type: error
                code: forbidden
                status: 403
                message: Forbidden.
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError404'
              example:
                type: error
                code: not_found
                status: 404
                message: Not found.
        '429':
          description: The request was rate limited.
          headers:
            retry-after:
              description: Seconds to wait before retrying the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError429'
              example:
                type: error
                code: rate_limited
                status: 429
                message: Rate limited.
        '500':
          description: An unexpected server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminApiError500'
              example:
                type: error
                code: internal_server_error
                status: 500
                message: An unexpected error occurred.
components:
  parameters:
    notionVersion:
      name: Notion-Version
      in: header
      required: true
      schema:
        enum:
          - '2026-06-01'
      description: The Admin API version to use for this request.
  schemas:
    adminApiError400:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - validation_error
        status:
          enum:
            - 400
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
    adminApiError401:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - unauthorized
        status:
          enum:
            - 401
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
    adminApiError403:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - missing_scope
            - forbidden
        status:
          enum:
            - 403
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
    adminApiError404:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - not_found
        status:
          enum:
            - 404
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
    adminApiError429:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - rate_limited
        status:
          enum:
            - 429
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
    adminApiError500:
      type: object
      properties:
        type:
          enum:
            - error
        code:
          enum:
            - internal_server_error
        status:
          enum:
            - 500
        message:
          type: string
      required:
        - type
        - code
        - status
        - message
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````