search_books

Pack: gutendex · Endpoint: https://gateway.pipeworx.io/gutendex/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_books for the schema, then POST the same URL with its arguments for the data.

Search for books by title or author name. Returns book IDs, titles, authors, and download counts.

Parameters

NameTypeRequiredDescription
querystringyesTitle or author name to search for.

Example call

Arguments

{
  "query": "Jane Austen"
}

curl

curl -X POST https://gateway.pipeworx.io/gutendex/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_books","arguments":{"query":"Jane Austen"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search_books', {
  "query": "Jane Austen"
});

More examples

{
  "query": "Pride and Prejudice"
}

Response shape

Always returns: count, books

FieldTypeDescription
countnumberTotal number of books matching the search query
booksarrayList of books matching the search query
Full JSON Schema
{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Total number of books matching the search query"
    },
    "books": {
      "type": "array",
      "description": "List of books matching the search query",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Project Gutenberg book ID"
          },
          "title": {
            "type": "string",
            "description": "Book title"
          },
          "authors": {
            "type": "array",
            "description": "List of book authors",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Author name"
                },
                "birth_year": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Author birth year or null"
                },
                "death_year": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Author death year or null"
                }
              },
              "required": [
                "name",
                "birth_year",
                "death_year"
              ]
            }
          },
          "languages": {
            "type": "array",
            "description": "Languages the book is available in",
            "items": {
              "type": "string"
            }
          },
          "subjects": {
            "type": "array",
            "description": "Subject tags for the book",
            "items": {
              "type": "string"
            }
          },
          "download_count": {
            "type": "number",
            "description": "Number of downloads"
          },
          "formats": {
            "type": "object",
            "description": "Available download formats and URLs",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "title",
          "authors",
          "languages",
          "subjects",
          "download_count",
          "formats"
        ]
      }
    }
  },
  "required": [
    "count",
    "books"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "gutendex": {
      "url": "https://gateway.pipeworx.io/gutendex/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 22, 2026