naftiko: 1.0.0-alpha2 info: label: Google Colab Notebooks via Drive API — Files description: 'Google Colab Notebooks via Drive API — Files. 6 operations. Lead operation: Google Colab List Colab notebooks. Self-contained Naftiko capability covering one Google Colab business surface.' tags: - Google Colab - Files created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GOOGLE_COLAB_API_KEY: GOOGLE_COLAB_API_KEY capability: consumes: - type: http namespace: colab-drive-files baseUri: https://www.googleapis.com/drive/v3 description: Google Colab Notebooks via Drive API — Files business capability. Self-contained, no shared references. resources: - name: files path: /files operations: - name: listnotebooks method: GET description: Google Colab List Colab notebooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Query string for filtering (e.g. mimeType filter for Colab files) - name: pageSize in: query type: integer description: Maximum number of files to return - name: pageToken in: query type: string description: Token for next page of results - name: fields in: query type: string description: Fields to include in the response - name: orderBy in: query type: string description: Sort order (e.g. modifiedTime desc) - name: createnotebook method: POST description: Google Colab Create a Colab notebook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: files-fileId path: /files/{fileId} operations: - name: getnotebook method: GET description: Google Colab Get notebook metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string - name: updatenotebook method: PATCH description: Google Colab Update notebook metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletenotebook method: DELETE description: Google Colab Delete a notebook outputRawFormat: json outputParameters: - name: result type: object value: $. - name: files-fileId-copy path: /files/{fileId}/copy operations: - name: copynotebook method: POST description: Google Colab Copy a notebook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.GOOGLE_COLAB_API_KEY}}' exposes: - type: rest namespace: colab-drive-files-rest port: 8080 description: REST adapter for Google Colab Notebooks via Drive API — Files. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/files name: files description: REST surface for files. operations: - method: GET name: listnotebooks description: Google Colab List Colab notebooks call: colab-drive-files.listnotebooks with: q: rest.q pageSize: rest.pageSize pageToken: rest.pageToken fields: rest.fields orderBy: rest.orderBy outputParameters: - type: object mapping: $. - method: POST name: createnotebook description: Google Colab Create a Colab notebook call: colab-drive-files.createnotebook with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/files/{fileid} name: files-fileid description: REST surface for files-fileId. operations: - method: GET name: getnotebook description: Google Colab Get notebook metadata call: colab-drive-files.getnotebook with: fields: rest.fields outputParameters: - type: object mapping: $. - method: PATCH name: updatenotebook description: Google Colab Update notebook metadata call: colab-drive-files.updatenotebook with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletenotebook description: Google Colab Delete a notebook call: colab-drive-files.deletenotebook outputParameters: - type: object mapping: $. - path: /v1/files/{fileid}/copy name: files-fileid-copy description: REST surface for files-fileId-copy. operations: - method: POST name: copynotebook description: Google Colab Copy a notebook call: colab-drive-files.copynotebook with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: colab-drive-files-mcp port: 9090 transport: http description: MCP adapter for Google Colab Notebooks via Drive API — Files. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: google-colab-list-colab-notebooks description: Google Colab List Colab notebooks hints: readOnly: true destructive: false idempotent: true call: colab-drive-files.listnotebooks with: q: tools.q pageSize: tools.pageSize pageToken: tools.pageToken fields: tools.fields orderBy: tools.orderBy outputParameters: - type: object mapping: $. - name: google-colab-create-colab-notebook description: Google Colab Create a Colab notebook hints: readOnly: false destructive: false idempotent: false call: colab-drive-files.createnotebook with: body: tools.body outputParameters: - type: object mapping: $. - name: google-colab-get-notebook-metadata description: Google Colab Get notebook metadata hints: readOnly: true destructive: false idempotent: true call: colab-drive-files.getnotebook with: fields: tools.fields outputParameters: - type: object mapping: $. - name: google-colab-update-notebook-metadata description: Google Colab Update notebook metadata hints: readOnly: false destructive: false idempotent: true call: colab-drive-files.updatenotebook with: body: tools.body outputParameters: - type: object mapping: $. - name: google-colab-delete-notebook description: Google Colab Delete a notebook hints: readOnly: false destructive: true idempotent: true call: colab-drive-files.deletenotebook outputParameters: - type: object mapping: $. - name: google-colab-copy-notebook description: Google Colab Copy a notebook hints: readOnly: false destructive: false idempotent: false call: colab-drive-files.copynotebook with: body: tools.body outputParameters: - type: object mapping: $.