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
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Title 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
| Field | Type | Description |
|---|---|---|
count | number | Total number of books matching the search query |
books | array | List 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.