Open Library
live BooksReferenceInternet Archive's open book metadata — 50M+ editions, author bios, work/edition split, subjects, covers. Stronger than Google Books for out-of-print titles.
4 tools
0ms auth
free tier 50 calls/day
Tools
search_books
required: query Title/author/subject search.
Parameters
Name Type Description
query req string Search string limit opt number 1-100 (default 20) page opt number 1-based page Try it
Response
get_book_by_isbn
required: isbn Book by ISBN-10 or ISBN-13.
Parameters
Name Type Description
isbn req string ISBN-10 or ISBN-13 Try it
Response
get_work
required: work_id Canonical work record (book across editions).
Parameters
Name Type Description
work_id req string OL work ID (e.g., OL45804W) Try it
Response
get_author
required: author_id Author bio + bibliography links.
Parameters
Name Type Description
author_id req string OL author ID (e.g., OL34184A) 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/open-library/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/open-library/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("internet archive's open book metadata — 50m+ editions, author bios, work/edition split, subjects, covers");