naftiko: 1.0.0-alpha2 info: label: Google Books API description: The Google Books API allows you to perform full-text searches and retrieve book information, viewability, and eBook availability. You can also manage personal bookshelves, access volume metadata, and work with user library data. tags: - Google - Books - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: google-books baseUri: https://www.googleapis.com/books/v1 description: Google Books API HTTP API. authentication: type: bearer token: '{{GOOGLE_BOOKS_TOKEN}}' resources: - name: volumes path: /volumes operations: - name: listvolumes method: GET description: Search for volumes inputParameters: - name: q in: query type: string required: true description: Full-text search query string. - name: maxResults in: query type: integer - name: startIndex in: query type: integer - name: orderBy in: query type: string - name: printType in: query type: string - name: filter in: query type: string - name: langRestrict in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: volumes-volumeid path: /volumes/{volumeId} operations: - name: getvolume method: GET description: Get a volume inputParameters: - name: volumeId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-bookshelves path: /users/{userId}/bookshelves operations: - name: listbookshelves method: GET description: List bookshelves inputParameters: - name: userId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-bookshelves-shelf path: /users/{userId}/bookshelves/{shelf} operations: - name: getbookshelf method: GET description: Get a bookshelf inputParameters: - name: userId in: path type: string required: true - name: shelf in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-bookshelves-shelf-volumes path: /users/{userId}/bookshelves/{shelf}/volumes operations: - name: listbookshelfvolumes method: GET description: List volumes in a bookshelf inputParameters: - name: userId in: path type: string required: true - name: shelf in: path type: string required: true - name: maxResults in: query type: integer - name: startIndex in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mylibrary-bookshelves path: /mylibrary/bookshelves operations: - name: listmybookshelves method: GET description: List my bookshelves outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mylibrary-bookshelves-shelf-addvolume path: /mylibrary/bookshelves/{shelf}/addVolume operations: - name: addvolumetobookshelf method: POST description: Add volume to bookshelf inputParameters: - name: shelf in: path type: string required: true - name: volumeId in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mylibrary-bookshelves-shelf-removevolume path: /mylibrary/bookshelves/{shelf}/removeVolume operations: - name: removevolumefrombookshelf method: POST description: Remove volume from bookshelf inputParameters: - name: shelf in: path type: string required: true - name: volumeId in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: google-books-rest description: REST adapter for Google Books API. resources: - path: /volumes name: listvolumes operations: - method: GET name: listvolumes description: Search for volumes call: google-books.listvolumes outputParameters: - type: object mapping: $. - path: /volumes/{volumeId} name: getvolume operations: - method: GET name: getvolume description: Get a volume call: google-books.getvolume with: volumeId: rest.volumeId outputParameters: - type: object mapping: $. - path: /users/{userId}/bookshelves name: listbookshelves operations: - method: GET name: listbookshelves description: List bookshelves call: google-books.listbookshelves with: userId: rest.userId outputParameters: - type: object mapping: $. - path: /users/{userId}/bookshelves/{shelf} name: getbookshelf operations: - method: GET name: getbookshelf description: Get a bookshelf call: google-books.getbookshelf with: userId: rest.userId shelf: rest.shelf outputParameters: - type: object mapping: $. - path: /users/{userId}/bookshelves/{shelf}/volumes name: listbookshelfvolumes operations: - method: GET name: listbookshelfvolumes description: List volumes in a bookshelf call: google-books.listbookshelfvolumes with: userId: rest.userId shelf: rest.shelf outputParameters: - type: object mapping: $. - path: /mylibrary/bookshelves name: listmybookshelves operations: - method: GET name: listmybookshelves description: List my bookshelves call: google-books.listmybookshelves outputParameters: - type: object mapping: $. - path: /mylibrary/bookshelves/{shelf}/addVolume name: addvolumetobookshelf operations: - method: POST name: addvolumetobookshelf description: Add volume to bookshelf call: google-books.addvolumetobookshelf with: shelf: rest.shelf outputParameters: - type: object mapping: $. - path: /mylibrary/bookshelves/{shelf}/removeVolume name: removevolumefrombookshelf operations: - method: POST name: removevolumefrombookshelf description: Remove volume from bookshelf call: google-books.removevolumefrombookshelf with: shelf: rest.shelf outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: google-books-mcp transport: http description: MCP adapter for Google Books API for AI agent use. tools: - name: listvolumes description: Search for volumes hints: readOnly: true destructive: false idempotent: true call: google-books.listvolumes with: q: tools.q maxResults: tools.maxResults startIndex: tools.startIndex orderBy: tools.orderBy printType: tools.printType filter: tools.filter langRestrict: tools.langRestrict inputParameters: - name: q type: string description: Full-text search query string. required: true - name: maxResults type: integer description: maxResults - name: startIndex type: integer description: startIndex - name: orderBy type: string description: orderBy - name: printType type: string description: printType - name: filter type: string description: filter - name: langRestrict type: string description: langRestrict outputParameters: - type: object mapping: $. - name: getvolume description: Get a volume hints: readOnly: true destructive: false idempotent: true call: google-books.getvolume with: volumeId: tools.volumeId inputParameters: - name: volumeId type: string description: volumeId required: true outputParameters: - type: object mapping: $. - name: listbookshelves description: List bookshelves hints: readOnly: true destructive: false idempotent: true call: google-books.listbookshelves with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: getbookshelf description: Get a bookshelf hints: readOnly: true destructive: false idempotent: true call: google-books.getbookshelf with: userId: tools.userId shelf: tools.shelf inputParameters: - name: userId type: string description: userId required: true - name: shelf type: string description: shelf required: true outputParameters: - type: object mapping: $. - name: listbookshelfvolumes description: List volumes in a bookshelf hints: readOnly: true destructive: false idempotent: true call: google-books.listbookshelfvolumes with: userId: tools.userId shelf: tools.shelf maxResults: tools.maxResults startIndex: tools.startIndex inputParameters: - name: userId type: string description: userId required: true - name: shelf type: string description: shelf required: true - name: maxResults type: integer description: maxResults - name: startIndex type: integer description: startIndex outputParameters: - type: object mapping: $. - name: listmybookshelves description: List my bookshelves hints: readOnly: true destructive: false idempotent: true call: google-books.listmybookshelves outputParameters: - type: object mapping: $. - name: addvolumetobookshelf description: Add volume to bookshelf hints: readOnly: false destructive: false idempotent: false call: google-books.addvolumetobookshelf with: shelf: tools.shelf volumeId: tools.volumeId inputParameters: - name: shelf type: string description: shelf required: true - name: volumeId type: string description: volumeId required: true outputParameters: - type: object mapping: $. - name: removevolumefrombookshelf description: Remove volume from bookshelf hints: readOnly: false destructive: false idempotent: false call: google-books.removevolumefrombookshelf with: shelf: tools.shelf volumeId: tools.volumeId inputParameters: - name: shelf type: string description: shelf required: true - name: volumeId type: string description: volumeId required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: GOOGLE_BOOKS_TOKEN: GOOGLE_BOOKS_TOKEN