tools:
  - name: get_server_info
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties: {}
      additionalProperties: false
  - name: get_auth_info
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties: {}
      additionalProperties: false
  - name: list_collections
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        includeSystem:
          type: boolean
          default: false
          description: Whether to include system collections
      additionalProperties: false
  - name: create_record
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - data
      properties:
        data:
          type: object
          description: Record data
          additionalProperties: {}
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: create_collection
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - name
        - schema
      properties:
        name:
          type: string
          description: Collection name
        schema:
          type: array
          items:
            type: object
            required:
              - name
              - type
            properties:
              name:
                type: string
              type:
                type: string
              options:
                type: object
                additionalProperties: {}
              required:
                type: boolean
            additionalProperties: false
          description: Collection schema
      additionalProperties: false
  - name: list_records
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        page:
          type: number
          description: Page number
        sort:
          type: string
          description: Sort field and direction
        filter:
          type: string
          description: Filter query
        perPage:
          type: number
          description: Items per page
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: update_record
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - id
        - data
      properties:
        id:
          type: string
          description: Record ID
        data:
          type: object
          description: Updated record data
          additionalProperties: {}
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: delete_record
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - id
      properties:
        id:
          type: string
          description: Record ID
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: authenticate_user
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        email:
          type: string
          description: User email (required unless isAdmin=true and env vars are set)
        isAdmin:
          type: boolean
          default: false
          description: Whether to authenticate as an admin
        password:
          type: string
          description: User password (required unless isAdmin=true and env vars are set)
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: authenticate_with_oauth2
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - provider
        - code
        - codeVerifier
        - redirectUrl
      properties:
        code:
          type: string
          description: Authorization code
        provider:
          type: string
          description: OAuth2 provider name
        collection:
          type: string
          default: users
          description: Collection name
        redirectUrl:
          type: string
          description: Redirect URL
        codeVerifier:
          type: string
          description: PKCE code verifier
      additionalProperties: false
  - name: authenticate_with_otp
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - email
      properties:
        email:
          type: string
          description: User email
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: auth_refresh
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: request_verification
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - email
      properties:
        email:
          type: string
          description: User email
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: confirm_verification
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - token
      properties:
        token:
          type: string
          description: Verification token
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: request_password_reset
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - email
      properties:
        email:
          type: string
          description: User email
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: confirm_password_reset
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - token
        - password
        - passwordConfirm
      properties:
        token:
          type: string
          description: Reset token
        password:
          type: string
          description: New password
        collection:
          type: string
          default: users
          description: Collection name
        passwordConfirm:
          type: string
          description: Confirm new password
      additionalProperties: false
  - name: request_email_change
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - newEmail
      properties:
        newEmail:
          type: string
          description: New email address
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: confirm_email_change
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - token
        - password
      properties:
        token:
          type: string
          description: Email change token
        password:
          type: string
          description: Current password for confirmation
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: impersonate_user
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - userId
      properties:
        userId:
          type: string
          description: ID of the user to impersonate
        collection:
          type: string
          default: users
          description: Collection name
      additionalProperties: false
  - name: create_user
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - email
        - password
        - passwordConfirm
      properties:
        name:
          type: string
          description: User name
        email:
          type: string
          description: User email
        password:
          type: string
          description: User password
        collection:
          type: string
          default: users
          description: Collection name
        passwordConfirm:
          type: string
          description: Password confirmation
      additionalProperties: false
  - name: get_record
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - id
      properties:
        id:
          type: string
          description: Record ID
        expand:
          type: string
          description: Relations to expand
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: set_collection_rules
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        listRule:
          type:
            - string
            - "null"
          description: List rule (PocketBase filter syntax or null)
        viewRule:
          type:
            - string
            - "null"
          description: View rule (PocketBase filter syntax or null)
        collection:
          type: string
          description: Collection name or ID
        createRule:
          type:
            - string
            - "null"
          description: Create rule (PocketBase filter syntax or null)
        deleteRule:
          type:
            - string
            - "null"
          description: Delete rule (PocketBase filter syntax or null)
        updateRule:
          type:
            - string
            - "null"
          description: Update rule (PocketBase filter syntax or null)
      additionalProperties: false
  - name: update_collection_schema
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        addFields:
          type: array
          items:
            type: object
            required:
              - name
              - type
            properties:
              name:
                type: string
              type:
                type: string
              options:
                type: object
                additionalProperties: {}
              required:
                type: boolean
                default: false
            additionalProperties: false
          description: Fields to add
        collection:
          type: string
          description: Collection name or ID
        removeFields:
          type: array
          items:
            type: string
          description: Names of fields to remove
        updateFields:
          type: array
          items:
            type: object
            required:
              - name
            properties:
              name:
                type: string
                description: Name of the field to update
              type:
                type: string
                description: Optional new type
              newName:
                type: string
                description: Optional new name for the field
              options:
                type: object
                description: Optional new options
                additionalProperties: {}
              required:
                type: boolean
                description: Optional new required status
            additionalProperties: false
          description: Fields to update
      additionalProperties: false
  - name: get_collection_schema
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        collection:
          type: string
          description: Collection name or ID
      additionalProperties: false
  - name: backup_database
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        format:
          enum:
            - json
            - csv
          type: string
          default: json
          description: Export format
      additionalProperties: false
  - name: import_data
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - data
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: Array of records to import
        mode:
          enum:
            - create
            - update
            - upsert
          type: string
          default: create
          description: Import mode
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: migrate_collection
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - newSchema
      properties:
        newSchema:
          type: array
          items:
            type: object
            required:
              - name
              - type
            properties:
              name:
                type: string
              type:
                type: string
              options:
                type: object
                additionalProperties: {}
              required:
                type: boolean
                default: false
            additionalProperties: false
          description: New collection schema
        collection:
          type: string
          description: Collection name
        dataTransforms:
          type: object
          description: Field transformation mappings
          additionalProperties:
            type: string
      additionalProperties: false
  - name: query_collection
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        sort:
          type: string
          description: Sort expression
        expand:
          type: string
          description: Relations to expand
        filter:
          type: string
          description: Filter expression
        aggregate:
          type: object
          description: Aggregation settings
          additionalProperties:
            type: string
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: manage_indexes
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - action
      properties:
        index:
          type: object
          required:
            - name
            - fields
          properties:
            name:
              type: string
            fields:
              type: array
              items:
                type: string
            unique:
              type: boolean
          description: Index configuration (for create)
          additionalProperties: false
        action:
          enum:
            - create
            - delete
            - list
          type: string
          description: Action to perform
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: upload_file
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - fileData
      properties:
        fileData:
          type: object
          required:
            - name
            - content
          properties:
            name:
              type: string
              description: File name
            type:
              type: string
              description: File MIME type
            content:
              type: string
              description: Base64 encoded file content
          description: File data in base64 format
          additionalProperties: false
        recordId:
          type: string
          description: Record ID (optional - if not provided, creates new record)
        collection:
          type: string
          description: Collection name
        additionalFields:
          type: object
          description: Additional record fields
          additionalProperties: {}
      additionalProperties: false
  - name: build_filter
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - expression
        - params
      properties:
        params:
          type: object
          description: Parameter values
          additionalProperties: {}
        expression:
          type: string
          description: Filter expression with placeholders
      additionalProperties: false
  - name: set_request_options
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        headers:
          type: object
          description: Custom headers
          additionalProperties:
            type: string
        requestKey:
          type:
            - string
            - "null"
          description: Custom request identifier
        autoCancellation:
          type: boolean
          description: Enable/disable auto cancellation
      additionalProperties: false
  - name: manage_auth_store
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - action
      properties:
        data:
          type: object
          description: Data for the action
          additionalProperties: {}
        action:
          enum:
            - save
            - clear
            - export_cookie
            - load_cookie
          type: string
          description: Action to perform
      additionalProperties: false
  - name: subscribe_to_collection
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
      properties:
        filter:
          type: string
          description: Filter expression for subscription (optional)
        recordId:
          type: string
          description: Specific record ID to subscribe to (optional)
        collection:
          type: string
          description: Collection name to subscribe to
      additionalProperties: false
  - name: batch_update_records
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - records
      properties:
        records:
          type: array
          items:
            type: object
            required:
              - id
              - data
            properties:
              id:
                type: string
                description: Record ID to update
              data:
                type: object
                description: Data to update
                additionalProperties: {}
            additionalProperties: false
          description: Array of records to update
        collection:
          type: string
          description: Collection name
      additionalProperties: false
  - name: batch_delete_records
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - collection
        - recordIds
      properties:
        recordIds:
          type: array
          items:
            type: string
          description: Array of Record IDs to delete
        collection:
          type: string
          description: Collection name
      additionalProperties: false
