Google · Capability
Google Books API — My Library
Google Books API — My Library. 7 operations. Lead operation: Google List My Bookshelves. Self-contained Naftiko capability covering one Google business surface.
What You Can Do
GET
Listmybookshelves
— Google List My Bookshelves
/v1/mylibrary/bookshelves
GET
Getmybookshelf
— Google Get My Bookshelf
/v1/mylibrary/bookshelves/{shelf}
POST
Addvolumetobookshelf
— Google Add Volume to Bookshelf
/v1/mylibrary/bookshelves/{shelf}/addvolume
POST
Clearvolumesfrombookshelf
— Google Clear Volumes from Bookshelf
/v1/mylibrary/bookshelves/{shelf}/clearvolumes
POST
Movevolumeinbookshelf
— Google Move Volume in Bookshelf
/v1/mylibrary/bookshelves/{shelf}/movevolume
POST
Removevolumefrombookshelf
— Google Remove Volume from Bookshelf
/v1/mylibrary/bookshelves/{shelf}/removevolume
GET
Listmybookshelfvolumes
— Google List My Bookshelf Volumes
/v1/mylibrary/bookshelves/{shelf}/volumes
MCP Tools
google-list-my-bookshelves
Google List My Bookshelves
read-only
idempotent
google-get-my-bookshelf
Google Get My Bookshelf
read-only
idempotent
google-add-volume-bookshelf
Google Add Volume to Bookshelf
google-clear-volumes-bookshelf
Google Clear Volumes from Bookshelf
google-move-volume-bookshelf
Google Move Volume in Bookshelf
google-remove-volume-bookshelf
Google Remove Volume from Bookshelf
google-list-my-bookshelf-volumes
Google List My Bookshelf Volumes
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Books API — My Library
description: 'Google Books API — My Library. 7 operations. Lead operation: Google List My Bookshelves. Self-contained Naftiko
capability covering one Google business surface.'
tags:
- Google
- My Library
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GOOGLE_API_KEY: GOOGLE_API_KEY
capability:
consumes:
- type: http
namespace: books-my-library
baseUri: https://www.googleapis.com/books/v1
description: Google Books API — My Library business capability. Self-contained, no shared references.
resources:
- name: mylibrary-bookshelves
path: /mylibrary/bookshelves
operations:
- name: listmybookshelves
method: GET
description: Google List My Bookshelves
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf
path: /mylibrary/bookshelves/{shelf}
operations:
- name: getmybookshelf
method: GET
description: Google Get My Bookshelf
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: ID of bookshelf to retrieve
required: true
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf-addVolume
path: /mylibrary/bookshelves/{shelf}/addVolume
operations:
- name: addvolumetobookshelf
method: POST
description: Google Add Volume to Bookshelf
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: ID of bookshelf to which to add a volume
required: true
- name: volumeId
in: query
type: string
description: ID of volume to add
required: true
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf-clearVolumes
path: /mylibrary/bookshelves/{shelf}/clearVolumes
operations:
- name: clearvolumesfrombookshelf
method: POST
description: Google Clear Volumes from Bookshelf
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: ID of bookshelf from which to remove all volumes
required: true
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf-moveVolume
path: /mylibrary/bookshelves/{shelf}/moveVolume
operations:
- name: movevolumeinbookshelf
method: POST
description: Google Move Volume in Bookshelf
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: ID of bookshelf with the volume
required: true
- name: volumeId
in: query
type: string
description: ID of volume to move
required: true
- name: volumePosition
in: query
type: integer
description: Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between
the first and the second and so on)
required: true
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf-removeVolume
path: /mylibrary/bookshelves/{shelf}/removeVolume
operations:
- name: removevolumefrombookshelf
method: POST
description: Google Remove Volume from Bookshelf
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: ID of bookshelf from which to remove a volume
required: true
- name: volumeId
in: query
type: string
description: ID of volume to remove
required: true
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: mylibrary-bookshelves-shelf-volumes
path: /mylibrary/bookshelves/{shelf}/volumes
operations:
- name: listmybookshelfvolumes
method: GET
description: Google List My Bookshelf Volumes
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shelf
in: path
type: string
description: The bookshelf ID or name to retrieve volumes for
required: true
- name: maxResults
in: query
type: integer
description: Maximum number of results to return
- name: projection
in: query
type: string
description: Restrict information returned to a set of selected fields
- name: q
in: query
type: string
description: Full-text search query string in this bookshelf
- name: showPreorders
in: query
type: boolean
description: Set to true to show pre-ordered books
- name: source
in: query
type: string
description: String to identify the originator of this request
- name: startIndex
in: query
type: integer
description: Index of the first element to return (starts at 0)
authentication:
type: bearer
token: '{{env.GOOGLE_API_KEY}}'
exposes:
- type: rest
namespace: books-my-library-rest
port: 8080
description: REST adapter for Google Books API — My Library. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/mylibrary/bookshelves
name: mylibrary-bookshelves
description: REST surface for mylibrary-bookshelves.
operations:
- method: GET
name: listmybookshelves
description: Google List My Bookshelves
call: books-my-library.listmybookshelves
with:
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}
name: mylibrary-bookshelves-shelf
description: REST surface for mylibrary-bookshelves-shelf.
operations:
- method: GET
name: getmybookshelf
description: Google Get My Bookshelf
call: books-my-library.getmybookshelf
with:
shelf: rest.shelf
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}/addvolume
name: mylibrary-bookshelves-shelf-addvolume
description: REST surface for mylibrary-bookshelves-shelf-addVolume.
operations:
- method: POST
name: addvolumetobookshelf
description: Google Add Volume to Bookshelf
call: books-my-library.addvolumetobookshelf
with:
shelf: rest.shelf
volumeId: rest.volumeId
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}/clearvolumes
name: mylibrary-bookshelves-shelf-clearvolumes
description: REST surface for mylibrary-bookshelves-shelf-clearVolumes.
operations:
- method: POST
name: clearvolumesfrombookshelf
description: Google Clear Volumes from Bookshelf
call: books-my-library.clearvolumesfrombookshelf
with:
shelf: rest.shelf
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}/movevolume
name: mylibrary-bookshelves-shelf-movevolume
description: REST surface for mylibrary-bookshelves-shelf-moveVolume.
operations:
- method: POST
name: movevolumeinbookshelf
description: Google Move Volume in Bookshelf
call: books-my-library.movevolumeinbookshelf
with:
shelf: rest.shelf
volumeId: rest.volumeId
volumePosition: rest.volumePosition
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}/removevolume
name: mylibrary-bookshelves-shelf-removevolume
description: REST surface for mylibrary-bookshelves-shelf-removeVolume.
operations:
- method: POST
name: removevolumefrombookshelf
description: Google Remove Volume from Bookshelf
call: books-my-library.removevolumefrombookshelf
with:
shelf: rest.shelf
volumeId: rest.volumeId
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/mylibrary/bookshelves/{shelf}/volumes
name: mylibrary-bookshelves-shelf-volumes
description: REST surface for mylibrary-bookshelves-shelf-volumes.
operations:
- method: GET
name: listmybookshelfvolumes
description: Google List My Bookshelf Volumes
call: books-my-library.listmybookshelfvolumes
with:
shelf: rest.shelf
maxResults: rest.maxResults
projection: rest.projection
q: rest.q
showPreorders: rest.showPreorders
source: rest.source
startIndex: rest.startIndex
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: books-my-library-mcp
port: 9090
transport: http
description: MCP adapter for Google Books API — My Library. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: google-list-my-bookshelves
description: Google List My Bookshelves
hints:
readOnly: true
destructive: false
idempotent: true
call: books-my-library.listmybookshelves
with:
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-get-my-bookshelf
description: Google Get My Bookshelf
hints:
readOnly: true
destructive: false
idempotent: true
call: books-my-library.getmybookshelf
with:
shelf: tools.shelf
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-add-volume-bookshelf
description: Google Add Volume to Bookshelf
hints:
readOnly: false
destructive: false
idempotent: false
call: books-my-library.addvolumetobookshelf
with:
shelf: tools.shelf
volumeId: tools.volumeId
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-clear-volumes-bookshelf
description: Google Clear Volumes from Bookshelf
hints:
readOnly: false
destructive: false
idempotent: false
call: books-my-library.clearvolumesfrombookshelf
with:
shelf: tools.shelf
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-move-volume-bookshelf
description: Google Move Volume in Bookshelf
hints:
readOnly: false
destructive: false
idempotent: false
call: books-my-library.movevolumeinbookshelf
with:
shelf: tools.shelf
volumeId: tools.volumeId
volumePosition: tools.volumePosition
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-remove-volume-bookshelf
description: Google Remove Volume from Bookshelf
hints:
readOnly: false
destructive: false
idempotent: false
call: books-my-library.removevolumefrombookshelf
with:
shelf: tools.shelf
volumeId: tools.volumeId
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: google-list-my-bookshelf-volumes
description: Google List My Bookshelf Volumes
hints:
readOnly: true
destructive: false
idempotent: true
call: books-my-library.listmybookshelfvolumes
with:
shelf: tools.shelf
maxResults: tools.maxResults
projection: tools.projection
q: tools.q
showPreorders: tools.showPreorders
source: tools.source
startIndex: tools.startIndex
outputParameters:
- type: object
mapping: $.