search_books

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

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 May 9, 2026