Gutendex
liveBooksReferenceSearch and browse Project Gutenberg books via the Gutendex API
4tools
0msauth
free tier50 calls/day
Tools
search_booksrequired: querySearch Project Gutenberg books by title or author name.
Parameters
NameTypeDescription
queryreqstringTitle or author name to search for.Try it
Response
get_bookrequired: idGet detailed information for a specific Project Gutenberg book by its numeric ID.
Parameters
NameTypeDescription
idreqnumberThe numeric Project Gutenberg book ID.Try it
Response
popular_booksGet the most downloaded / popular books on Project Gutenberg.
No parameters required.
Try it
Response
books_by_topicrequired: topicBrowse Project Gutenberg books by topic or subject keyword.
Parameters
NameTypeDescription
topicreqstringTopic or subject keyword to filter books by (e.g. "science", "love", "history").Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/gutendex/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Call a tool
bash
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":"search_books","arguments":{"query": "hello"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_books", {"query":"example"});ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("search and browse project gutenberg books via the gutendex api");