Jupyter Notebook · Capability

Jupyter Notebook JupyterHub REST API — Proxy

Jupyter Notebook JupyterHub REST API — Proxy. 3 operations. Lead operation: Jupyter Notebook Get proxy routing table. Self-contained Naftiko capability covering one Jupyter Notebook business surface.

Run with Naftiko Jupyter NotebookProxy

What You Can Do

GET
Getproxytable — Jupyter Notebook Get proxy routing table
/v1/proxy
POST
Syncproxy — Jupyter Notebook Force proxy sync
/v1/proxy
PATCH
Addproxyroute — Jupyter Notebook Add a proxy route
/v1/proxy

MCP Tools

jupyter-notebook-get-proxy-routing

Jupyter Notebook Get proxy routing table

read-only idempotent
jupyter-notebook-force-proxy-sync

Jupyter Notebook Force proxy sync

jupyter-notebook-add-proxy-route

Jupyter Notebook Add a proxy route

idempotent

Capability Spec

jupyterhub-rest-proxy.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Jupyter Notebook JupyterHub REST API — Proxy
  description: 'Jupyter Notebook JupyterHub REST API — Proxy. 3 operations. Lead operation: Jupyter Notebook Get proxy routing
    table. Self-contained Naftiko capability covering one Jupyter Notebook business surface.'
  tags:
  - Jupyter Notebook
  - Proxy
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    JUPYTER_NOTEBOOK_API_KEY: JUPYTER_NOTEBOOK_API_KEY
capability:
  consumes:
  - type: http
    namespace: jupyterhub-rest-proxy
    baseUri: http://localhost:8000/hub/api
    description: Jupyter Notebook JupyterHub REST API — Proxy business capability. Self-contained, no shared references.
    resources:
    - name: proxy
      path: /proxy
      operations:
      - name: getproxytable
        method: GET
        description: Jupyter Notebook Get proxy routing table
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: syncproxy
        method: POST
        description: Jupyter Notebook Force proxy sync
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addproxyroute
        method: PATCH
        description: Jupyter Notebook Add a proxy route
        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.JUPYTER_NOTEBOOK_API_KEY}}'
  exposes:
  - type: rest
    namespace: jupyterhub-rest-proxy-rest
    port: 8080
    description: REST adapter for Jupyter Notebook JupyterHub REST API — Proxy. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/proxy
      name: proxy
      description: REST surface for proxy.
      operations:
      - method: GET
        name: getproxytable
        description: Jupyter Notebook Get proxy routing table
        call: jupyterhub-rest-proxy.getproxytable
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: syncproxy
        description: Jupyter Notebook Force proxy sync
        call: jupyterhub-rest-proxy.syncproxy
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: addproxyroute
        description: Jupyter Notebook Add a proxy route
        call: jupyterhub-rest-proxy.addproxyroute
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: jupyterhub-rest-proxy-mcp
    port: 9090
    transport: http
    description: MCP adapter for Jupyter Notebook JupyterHub REST API — Proxy. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: jupyter-notebook-get-proxy-routing
      description: Jupyter Notebook Get proxy routing table
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: jupyterhub-rest-proxy.getproxytable
      outputParameters:
      - type: object
        mapping: $.
    - name: jupyter-notebook-force-proxy-sync
      description: Jupyter Notebook Force proxy sync
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jupyterhub-rest-proxy.syncproxy
      outputParameters:
      - type: object
        mapping: $.
    - name: jupyter-notebook-add-proxy-route
      description: Jupyter Notebook Add a proxy route
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: jupyterhub-rest-proxy.addproxyroute
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.