Google Keep · Capability

Google Keep API

Google Keep API. 5 operations. Lead operation: List notes. Self-contained Naftiko capability covering one Google Keep business surface.

Run with Naftiko Google KeepGoogle Keep API

What You Can Do

GET
Listnotes — List notes
/v1/v1/notes
POST
Createnote — Create note
/v1/v1/notes
GET
Getattachment — Get attachment
/v1/v1/{name}
POST
Batchcreatepermissions — Batch create permissions
/v1/v1/{parent}/permissions-batchcreate
POST
Batchdeletepermissions — Batch delete permissions
/v1/v1/{parent}/permissions-batchdelete

MCP Tools

list-notes

List notes

read-only idempotent
create-note

Create note

get-attachment

Get attachment

read-only idempotent
batch-create-permissions

Batch create permissions

batch-delete-permissions

Batch delete permissions

Capability Spec

openapi.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Keep API
  description: 'Google Keep API. 5 operations. Lead operation: List notes. Self-contained Naftiko capability covering one
    Google Keep business surface.'
  tags:
  - Google Keep
  - Google Keep API
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_KEEP_API_KEY: GOOGLE_KEEP_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi
    baseUri: https://keep.googleapis.com
    description: Google Keep API business capability. Self-contained, no shared references.
    resources:
    - name: v1-notes
      path: /v1/notes
      operations:
      - name: listnotes
        method: GET
        description: List notes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pageSize
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
        - name: filter
          in: query
          type: string
      - name: createnote
        method: POST
        description: Create note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-name
      path: /v1/{name}
      operations:
      - name: getattachment
        method: GET
        description: Get attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: 'Format: notes/{note}/attachments/{attachment}'
          required: true
    - name: v1-parent-permissions:batchCreate
      path: /v1/{parent}/permissions:batchCreate
      operations:
      - name: batchcreatepermissions
        method: POST
        description: Batch create permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: parent
          in: path
          type: string
          description: 'Format: notes/{note}'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-parent-permissions:batchDelete
      path: /v1/{parent}/permissions:batchDelete
      operations:
      - name: batchdeletepermissions
        method: POST
        description: Batch delete permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: parent
          in: path
          type: string
          description: 'Format: notes/{note}'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: openapi-rest
    port: 8080
    description: REST adapter for Google Keep API. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/v1/notes
      name: v1-notes
      description: REST surface for v1-notes.
      operations:
      - method: GET
        name: listnotes
        description: List notes
        call: openapi.listnotes
        with:
          pageSize: rest.pageSize
          pageToken: rest.pageToken
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createnote
        description: Create note
        call: openapi.createnote
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{name}
      name: v1-name
      description: REST surface for v1-name.
      operations:
      - method: GET
        name: getattachment
        description: Get attachment
        call: openapi.getattachment
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{parent}/permissions-batchcreate
      name: v1-parent-permissions-batchcreate
      description: REST surface for v1-parent-permissions:batchCreate.
      operations:
      - method: POST
        name: batchcreatepermissions
        description: Batch create permissions
        call: openapi.batchcreatepermissions
        with:
          parent: rest.parent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{parent}/permissions-batchdelete
      name: v1-parent-permissions-batchdelete
      description: REST surface for v1-parent-permissions:batchDelete.
      operations:
      - method: POST
        name: batchdeletepermissions
        description: Batch delete permissions
        call: openapi.batchdeletepermissions
        with:
          parent: rest.parent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Keep API. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-notes
      description: List notes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi.listnotes
      with:
        pageSize: tools.pageSize
        pageToken: tools.pageToken
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: create-note
      description: Create note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi.createnote
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-attachment
      description: Get attachment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi.getattachment
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: batch-create-permissions
      description: Batch create permissions
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi.batchcreatepermissions
      with:
        parent: tools.parent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: batch-delete-permissions
      description: Batch delete permissions
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi.batchdeletepermissions
      with:
        parent: tools.parent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.