naftiko: 1.0.0-alpha2 info: label: Jupyter Notebook Server REST API — Terminals description: 'Jupyter Notebook Server REST API — Terminals. 4 operations. Lead operation: List active terminals. Self-contained Naftiko capability covering one Jupyter Notebooks business surface.' tags: - Jupyter Notebooks - Terminals created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: JUPYTER_NOTEBOOKS_API_KEY: JUPYTER_NOTEBOOKS_API_KEY capability: consumes: - type: http namespace: jupyter-notebooks-terminals baseUri: http://localhost:8888/api description: Jupyter Notebook Server REST API — Terminals business capability. Self-contained, no shared references. resources: - name: terminals path: /terminals operations: - name: listterminals method: GET description: List active terminals outputRawFormat: json outputParameters: - name: result type: object value: $. - name: startterminal method: POST description: Start a new terminal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: terminals-terminal_id path: /terminals/{terminal_id} operations: - name: getterminal method: GET description: Get a terminal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stopterminal method: DELETE description: Stop a terminal outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.JUPYTER_NOTEBOOKS_API_KEY}}' exposes: - type: rest namespace: jupyter-notebooks-terminals-rest port: 8080 description: REST adapter for Jupyter Notebook Server REST API — Terminals. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/terminals name: terminals description: REST surface for terminals. operations: - method: GET name: listterminals description: List active terminals call: jupyter-notebooks-terminals.listterminals outputParameters: - type: object mapping: $. - method: POST name: startterminal description: Start a new terminal call: jupyter-notebooks-terminals.startterminal outputParameters: - type: object mapping: $. - path: /v1/terminals/{terminal-id} name: terminals-terminal-id description: REST surface for terminals-terminal_id. operations: - method: GET name: getterminal description: Get a terminal call: jupyter-notebooks-terminals.getterminal outputParameters: - type: object mapping: $. - method: DELETE name: stopterminal description: Stop a terminal call: jupyter-notebooks-terminals.stopterminal outputParameters: - type: object mapping: $. - type: mcp namespace: jupyter-notebooks-terminals-mcp port: 9090 transport: http description: MCP adapter for Jupyter Notebook Server REST API — Terminals. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-active-terminals description: List active terminals hints: readOnly: true destructive: false idempotent: true call: jupyter-notebooks-terminals.listterminals outputParameters: - type: object mapping: $. - name: start-new-terminal description: Start a new terminal hints: readOnly: false destructive: false idempotent: false call: jupyter-notebooks-terminals.startterminal outputParameters: - type: object mapping: $. - name: get-terminal description: Get a terminal hints: readOnly: true destructive: false idempotent: true call: jupyter-notebooks-terminals.getterminal outputParameters: - type: object mapping: $. - name: stop-terminal description: Stop a terminal hints: readOnly: false destructive: true idempotent: true call: jupyter-notebooks-terminals.stopterminal outputParameters: - type: object mapping: $.