Looker · Capability

Looker API — User

Looker API — User. 9 operations. Lead operation: Looker List All Users. Self-contained Naftiko capability covering one Looker business surface.

Run with Naftiko LookerUser

What You Can Do

GET
Allusers — Looker List All Users
/v1/users
POST
Createuser — Looker Create a User
/v1/users
GET
Me — Looker Get Current User
/v1/users/me
GET
Searchusers — Looker Search Users
/v1/users/search
GET
User — Looker Get a User
/v1/users/{user-id}
PATCH
Updateuser — Looker Update a User
/v1/users/{user-id}
DELETE
Deleteuser — Looker Delete a User
/v1/users/{user-id}
GET
Userroles — Looker Get User Roles
/v1/users/{user-id}/roles
PUT
Setuserroles — Looker Set User Roles
/v1/users/{user-id}/roles

MCP Tools

looker-list-all-users

Looker List All Users

read-only idempotent
looker-create-user

Looker Create a User

looker-get-current-user

Looker Get Current User

read-only idempotent
looker-search-users

Looker Search Users

read-only idempotent
looker-get-user

Looker Get a User

read-only idempotent
looker-update-user

Looker Update a User

idempotent
looker-delete-user

Looker Delete a User

idempotent
looker-get-user-roles

Looker Get User Roles

read-only idempotent
looker-set-user-roles

Looker Set User Roles

idempotent

Capability Spec

looker-user.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Looker API — User
  description: 'Looker API — User. 9 operations. Lead operation: Looker List All Users. Self-contained Naftiko capability
    covering one Looker business surface.'
  tags:
  - Looker
  - User
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LOOKER_API_KEY: LOOKER_API_KEY
capability:
  consumes:
  - type: http
    namespace: looker-user
    baseUri: https://{instance}.looker.com/api/4.0
    description: Looker API — User business capability. Self-contained, no shared references.
    resources:
    - name: users
      path: /users
      operations:
      - name: allusers
        method: GET
        description: Looker List All Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sorts
          in: query
          type: string
          description: Sort fields (e.g. last_name asc, created_at desc)
        - name: ids
          in: query
          type: string
          description: Comma-separated list of user IDs to retrieve
      - name: createuser
        method: POST
        description: Looker Create a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users-me
      path: /users/me
      operations:
      - name: me
        method: GET
        description: Looker Get Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-search
      path: /users/search
      operations:
      - name: searchusers
        method: GET
        description: Looker Search Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: first_name
          in: query
          type: string
          description: Filter by first name
        - name: last_name
          in: query
          type: string
          description: Filter by last name
        - name: email
          in: query
          type: string
          description: Filter by email address
        - name: is_disabled
          in: query
          type: boolean
          description: Filter by disabled status
        - name: sorts
          in: query
          type: string
          description: Sort fields
    - name: users-user_id
      path: /users/{user_id}
      operations:
      - name: user
        method: GET
        description: Looker Get a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateuser
        method: PATCH
        description: Looker Update a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteuser
        method: DELETE
        description: Looker Delete a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-user_id-roles
      path: /users/{user_id}/roles
      operations:
      - name: userroles
        method: GET
        description: Looker Get User Roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setuserroles
        method: PUT
        description: Looker Set User Roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.LOOKER_API_KEY}}'
  exposes:
  - type: rest
    namespace: looker-user-rest
    port: 8080
    description: REST adapter for Looker API — User. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/users
      name: users
      description: REST surface for users.
      operations:
      - method: GET
        name: allusers
        description: Looker List All Users
        call: looker-user.allusers
        with:
          sorts: rest.sorts
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createuser
        description: Looker Create a User
        call: looker-user.createuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me
      name: users-me
      description: REST surface for users-me.
      operations:
      - method: GET
        name: me
        description: Looker Get Current User
        call: looker-user.me
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/search
      name: users-search
      description: REST surface for users-search.
      operations:
      - method: GET
        name: searchusers
        description: Looker Search Users
        call: looker-user.searchusers
        with:
          first_name: rest.first_name
          last_name: rest.last_name
          email: rest.email
          is_disabled: rest.is_disabled
          sorts: rest.sorts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{user-id}
      name: users-user-id
      description: REST surface for users-user_id.
      operations:
      - method: GET
        name: user
        description: Looker Get a User
        call: looker-user.user
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateuser
        description: Looker Update a User
        call: looker-user.updateuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteuser
        description: Looker Delete a User
        call: looker-user.deleteuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{user-id}/roles
      name: users-user-id-roles
      description: REST surface for users-user_id-roles.
      operations:
      - method: GET
        name: userroles
        description: Looker Get User Roles
        call: looker-user.userroles
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setuserroles
        description: Looker Set User Roles
        call: looker-user.setuserroles
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: looker-user-mcp
    port: 9090
    transport: http
    description: MCP adapter for Looker API — User. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: looker-list-all-users
      description: Looker List All Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: looker-user.allusers
      with:
        sorts: tools.sorts
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-create-user
      description: Looker Create a User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: looker-user.createuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-get-current-user
      description: Looker Get Current User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: looker-user.me
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-search-users
      description: Looker Search Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: looker-user.searchusers
      with:
        first_name: tools.first_name
        last_name: tools.last_name
        email: tools.email
        is_disabled: tools.is_disabled
        sorts: tools.sorts
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-get-user
      description: Looker Get a User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: looker-user.user
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-update-user
      description: Looker Update a User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: looker-user.updateuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-delete-user
      description: Looker Delete a User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: looker-user.deleteuser
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-get-user-roles
      description: Looker Get User Roles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: looker-user.userroles
      outputParameters:
      - type: object
        mapping: $.
    - name: looker-set-user-roles
      description: Looker Set User Roles
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: looker-user.setuserroles
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.