JupyterLab · Capability

JupyterLab Server REST API — Workspaces

JupyterLab Server REST API — Workspaces. 4 operations. Lead operation: JupyterLab List workspaces. Self-contained Naftiko capability covering one Jupyterlab business surface.

Run with Naftiko JupyterlabWorkspaces

What You Can Do

GET
Listworkspaces — JupyterLab List workspaces
/v1/workspaces
GET
Getworkspace — JupyterLab Get workspace
/v1/workspaces/{space-name}
PUT
Updateworkspace — JupyterLab Update workspace
/v1/workspaces/{space-name}
DELETE
Deleteworkspace — JupyterLab Delete workspace
/v1/workspaces/{space-name}

MCP Tools

jupyterlab-list-workspaces

JupyterLab List workspaces

read-only idempotent
jupyterlab-get-workspace

JupyterLab Get workspace

read-only idempotent
jupyterlab-update-workspace

JupyterLab Update workspace

idempotent
jupyterlab-delete-workspace

JupyterLab Delete workspace

idempotent

Capability Spec

server-rest-workspaces.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: JupyterLab Server REST API — Workspaces
  description: 'JupyterLab Server REST API — Workspaces. 4 operations. Lead operation: JupyterLab List workspaces. Self-contained
    Naftiko capability covering one Jupyterlab business surface.'
  tags:
  - Jupyterlab
  - Workspaces
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    JUPYTERLAB_API_KEY: JUPYTERLAB_API_KEY
capability:
  consumes:
  - type: http
    namespace: server-rest-workspaces
    baseUri: http://localhost:8888/lab/api
    description: JupyterLab Server REST API — Workspaces business capability. Self-contained, no shared references.
    resources:
    - name: workspaces
      path: /workspaces
      operations:
      - name: listworkspaces
        method: GET
        description: JupyterLab List workspaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces-space_name
      path: /workspaces/{space_name}
      operations:
      - name: getworkspace
        method: GET
        description: JupyterLab Get workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: space_name
          in: path
          type: string
          required: true
      - name: updateworkspace
        method: PUT
        description: JupyterLab Update workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: space_name
          in: path
          type: string
          required: true
      - name: deleteworkspace
        method: DELETE
        description: JupyterLab Delete workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: space_name
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.JUPYTERLAB_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: server-rest-workspaces-rest
    port: 8080
    description: REST adapter for JupyterLab Server REST API — Workspaces. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/workspaces
      name: workspaces
      description: REST surface for workspaces.
      operations:
      - method: GET
        name: listworkspaces
        description: JupyterLab List workspaces
        call: server-rest-workspaces.listworkspaces
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{space-name}
      name: workspaces-space-name
      description: REST surface for workspaces-space_name.
      operations:
      - method: GET
        name: getworkspace
        description: JupyterLab Get workspace
        call: server-rest-workspaces.getworkspace
        with:
          space_name: rest.space_name
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateworkspace
        description: JupyterLab Update workspace
        call: server-rest-workspaces.updateworkspace
        with:
          space_name: rest.space_name
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteworkspace
        description: JupyterLab Delete workspace
        call: server-rest-workspaces.deleteworkspace
        with:
          space_name: rest.space_name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: server-rest-workspaces-mcp
    port: 9090
    transport: http
    description: MCP adapter for JupyterLab Server REST API — Workspaces. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: jupyterlab-list-workspaces
      description: JupyterLab List workspaces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: server-rest-workspaces.listworkspaces
      outputParameters:
      - type: object
        mapping: $.
    - name: jupyterlab-get-workspace
      description: JupyterLab Get workspace
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: server-rest-workspaces.getworkspace
      with:
        space_name: tools.space_name
      outputParameters:
      - type: object
        mapping: $.
    - name: jupyterlab-update-workspace
      description: JupyterLab Update workspace
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: server-rest-workspaces.updateworkspace
      with:
        space_name: tools.space_name
      outputParameters:
      - type: object
        mapping: $.
    - name: jupyterlab-delete-workspace
      description: JupyterLab Delete workspace
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: server-rest-workspaces.deleteworkspace
      with:
        space_name: tools.space_name
      outputParameters:
      - type: object
        mapping: $.