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

# List MCP servers

> Lists all MCP servers for an organization. Requires admin access to the organization. Results are paginated and ordered by creation date (newest first).



## OpenAPI

````yaml https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/mcp-servers
openapi: 3.1.0
info:
  title: Basedash Public API
  version: 0.0.0
  description: >-
    API for programmatic access to Basedash features. Use API keys for
    authentication.
  contact:
    name: Basedash Support
    url: https://basedash.com
    email: support@basedash.com
servers:
  - url: https://charts.basedash.com
    description: Production
security: []
tags:
  - name: Organizations
    description: Manage organizations
  - name: Groups
    description: Manage organization groups and memberships
  - name: Data Sources
    description: Manage database connections and data sources
  - name: MCP servers
    description: Manage MCP server data sources
  - name: Insights
    description: Manage generated insights
  - name: Automations
    description: Manage automations and automation runs
  - name: Skills
    description: Manage organization skills
  - name: Definitions
    description: Manage reusable SQL definitions
  - name: Dashboards
    description: Manage dashboards and their tabs
  - name: Charts
    description: Manage charts and their SQL queries
  - name: Chats
    description: >-
      Chat with the Basedash AI agent about your data. Start a chat by sending a
      message, then continue the conversation with follow-up messages. The
      assistant responds asynchronously: pass the `wait` query parameter to
      receive the finished response in the same request, or poll the assistant
      message (or stream its events) after an HTTP 202. Chats created through
      the API are not shown in the Basedash app.
paths:
  /api/public/organizations/{orgId}/mcp-servers:
    get:
      tags:
        - MCP servers
      summary: List MCP servers
      description: >-
        Lists all MCP servers for an organization. Requires admin access to the
        organization. Results are paginated and ordered by creation date (newest
        first).
      parameters:
        - schema:
            type: string
            description: Organization ID
          required: true
          description: Organization ID
          name: orgId
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: Maximum number of items to return (1-100, default 50)
          required: false
          description: Maximum number of items to return (1-100, default 50)
          name: limit
          in: query
        - schema:
            type: string
            description: Cursor for pagination (ID of the last item from previous page)
          required: false
          description: Cursor for pagination (ID of the last item from previous page)
          name: cursor
          in: query
      responses:
        '200':
          description: MCP servers retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: MCP server ID
                        displayName:
                          type: string
                          description: Display name for the MCP server
                        serverUrl:
                          type: string
                          description: MCP server URL
                        serverLabel:
                          type: string
                          description: >-
                            Stable server label used when exposing tools to AI
                            models
                        transportType:
                          type:
                            - string
                            - 'null'
                          enum:
                            - STREAMABLE_HTTP
                            - SSE
                            - null
                          description: Transport protocol used by the MCP server
                        setupState:
                          type: string
                          enum:
                            - INCOMPLETE
                            - CONNECTED
                            - BROKEN
                          description: MCP server setup state
                        lastSyncStatus:
                          $ref: '#/components/schemas/SyncStatus'
                        lastSyncAttemptAt:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: Last tool sync attempt timestamp
                        lastSuccessfulSyncAt:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: Last successful tool sync timestamp
                        hasCompletedFirstSync:
                          type: boolean
                          description: Whether the first tool sync has completed
                        syncErrorMessage:
                          type:
                            - string
                            - 'null'
                          description: Error message from the last failed sync
                        tools:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Tool ID
                              name:
                                type: string
                                description: Tool name
                              description:
                                type:
                                  - string
                                  - 'null'
                                description: Tool description
                              readOnlyHint:
                                type:
                                  - boolean
                                  - 'null'
                                description: >-
                                  Whether the tool advertises that it only reads
                                  data
                              accessMode:
                                type: string
                                enum:
                                  - ALWAYS_ALLOW
                                  - NEEDS_APPROVAL
                                  - BLOCKED
                                description: Tool access mode
                              foundInServer:
                                type: boolean
                                description: >-
                                  Whether this tool was found during the latest
                                  sync
                            required:
                              - id
                              - name
                              - description
                              - readOnlyHint
                              - accessMode
                              - foundInServer
                          description: Available MCP tools
                        createdAt:
                          type: string
                          format: date-time
                          description: Creation timestamp
                        updatedAt:
                          type: string
                          format: date-time
                          description: Last update timestamp
                      required:
                        - id
                        - displayName
                        - serverUrl
                        - serverLabel
                        - transportType
                        - setupState
                        - lastSyncStatus
                        - lastSyncAttemptAt
                        - lastSuccessfulSyncAt
                        - hasCompletedFirstSync
                        - syncErrorMessage
                        - tools
                        - createdAt
                        - updatedAt
                  pagination:
                    $ref: '#/components/schemas/PaginationMeta'
                required:
                  - data
                  - pagination
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found - Organization not found or no access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded - Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    SyncStatus:
      anyOf:
        - type: string
          enum:
            - PENDING
        - type: string
          enum:
            - SUCCESS
        - type: string
          enum:
            - FAILED
        - type: string
          enum:
            - NEVER_SYNCED
      description: Status of the last schema sync
    PaginationMeta:
      type: object
      properties:
        nextCursor:
          type:
            - string
            - 'null'
          description: Cursor for the next page (null if no more pages)
        hasMore:
          type: boolean
          description: Whether there are more items after this page
      required:
        - nextCursor
        - hasMore
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    RateLimitErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/RateLimitError'
      required:
        - error
    ApiError:
      type: object
      properties:
        title:
          type: string
          description: Error type identifier
        detail:
          type: string
          description: Human-readable error description
      required:
        - title
        - detail
    RateLimitError:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - type: object
          properties:
            title:
              type: string
              enum:
                - RateLimitExceeded
            retryAfterMs:
              type: number
              description: Milliseconds until the rate limit window resets
          required:
            - retryAfterMs
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication using Bearer token format: `Bearer
        <basedash_api_key>`

````