Gutendex
liveBooksReferenceSearch and browse Project Gutenberg books via the Gutendex API
Tools
gutendex_search_booksSearch for books by title or author name. Returns book IDs, titles, authors, and download counts.
No parameters required.
Try it
gutendex_get_bookGet full details for a book by ID. Returns title, author, publication year, language, available formats, and download count.
No parameters required.
Try it
popular_booksGet the most downloaded books ranked by popularity. Returns titles, authors, IDs, and download statistics.
No parameters required.
Try it
books_by_topicrequired: topicBrowse books by subject or topic (e.g., 'science fiction', 'philosophy'). Returns matching titles, authors, and IDs.
topicreqstringTopic or subject keyword to filter books by (e.g. "science", "love", "history").Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/gutendex/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/gutendex/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"gutendex_search_books","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("gutendex_search_books", {});// Or ask in plain English:
const answer = await px.ask("search and browse project gutenberg books via the gutendex api");