Quotes

liveBooksReference

Citation-grade quote API with provenance and attribution checking. Curated public-domain corpus (Shakespeare, Twain, Wilde) plus full-text search across plays and novels — every quote returns work, year, speaker, and location (act/scene/chapter).

9tools
0msauth
free tier50 calls/day

Tools

random_quote

Return a random quote from the corpus, optionally filtered by author, fame, verification status, or tag. Each result includes citation: work, year, speaker (for plays/fiction), and source URL.

Parameters
NameTypeDescription
author_idoptstring—
famous_onlyoptboolean—
verified_onlyoptboolean—
tagoptstring—
▶Try it
search_quotesrequired: query

Search quotes by substring. Matches both canonical text and known popular paraphrases — searching for 'protest' finds Hamlet's 'The lady doth protest too much, methinks' even though the popular form '

Parameters
NameTypeDescription
queryreqstring—
author_idoptstring—
limitoptnumber—
▶Try it
check_attributionrequired: text

Given a quote and (optionally) the author it is claimed to be by, return one of four verdicts: "verified" (genuine, with citation), "misattributed" (no primary source — popular but fake), "paraphrase_

Parameters
NameTypeDescription
textreqstring—
claimed_authoroptstring—
▶Try it
quote_by_locationrequired: author_id, work_title

Look up quotes by structural address within a work — act/scene for plays, chapter for novels. Example: author_id="william-shakespeare", work_title="Hamlet", act=3, scene=1 returns the "To be, or not t

Parameters
NameTypeDescription
author_idreqstring—
work_titlereqstring—
actoptnumber—
sceneoptnumber—
chapteroptnumber—
▶Try it
list_authors

Return all authors available in the corpus — each entry includes author id (used as input to other tools), display name, birth/death dates, and public-domain status.

No parameters required.

▶Try it
list_full_text_works

List works for which the full text (every scene, speech, and line) is loaded — beyond just the famous-quote excerpts. Use this to discover what is available for deep structural lookup via get_scene an

No parameters required.

▶Try it
get_scenerequired: author_id, work_slug, act, scene

Return the full text of a specific scene from a play (every speech, every line, in order). Example: author_id="william-shakespeare", work_slug="hamlet", act=3, scene=1 returns the entire "To be, or no

Parameters
NameTypeDescription
author_idreqstring—
work_slugreqstring—
actreqnumber—
scenereqnumber—
▶Try it
get_actrequired: author_id, work_slug, act

Return the full text of an entire act (all scenes within it). Use this to read a full structural unit at once. Returned object contains nested scenes with their speeches and lines.

Parameters
NameTypeDescription
author_idreqstring—
work_slugreqstring—
actreqnumber—
▶Try it
get_chapterrequired: author_id, work_slug, chapter

Return the full text of a chapter from a novel/prose work (all paragraphs in order). Example: author_id="oscar-wilde", work_slug="the-picture-of-dorian-gray", chapter=2 returns the entire chapter wher

Parameters
NameTypeDescription
author_idreqstring—
work_slugreqstring—
chapterreqnumber—
▶Try it

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/quotes/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/quotes/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"random_quote","arguments":{}}}'

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("random_quote", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("citation-grade quote api with provenance and attribution checking");