gutenberg-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP only | 0.0.0.0 |
| PORT | No | HTTP only | 3000 |
| MAX_BOOK_MB | No | Largest book file accepted | 16 |
| TRUST_PROXY | No | HTTP only, number of reverse proxies in front | 0 |
| CORS_ORIGINS | No | HTTP only, `*` or a comma-separated allow list | * |
| GUTENDEX_URL | No | Catalog API. Gutendex is open source; point this at your own copy if you need speed. | https://gutendex.com |
| BOOK_CACHE_MB | No | Memory budget for parsed books (estimated) | 160 |
| MAX_BODY_BYTES | No | HTTP only | 65536 |
| TEXT_TIMEOUT_MS | No | Timeout for one book download | 30000 |
| GUTENBERG_MIRROR | No | Where book texts are downloaded from. Any Project Gutenberg mirror that serves `cache/epub/`. | https://gutenberg.pglaf.org |
| REQUEST_TIMEOUT_MS | No | HTTP only | 30000 |
| DAILY_REQUEST_LIMIT | No | HTTP only, global | 5000 |
| GUTENDEX_TIMEOUT_MS | No | Timeout for one catalog request | 20000 |
| RATE_LIMIT_PER_MINUTE | No | HTTP only, per IP | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_booksA | Search the Project Gutenberg catalog (more than 75,000 public-domain books) by title and author words, optionally filtered by language and topic. Returns book ids, titles, authors with life years, subjects and popularity. Use the id with get_book and the reading tools. |
| get_bookA | Get one Project Gutenberg book's metadata (title, authors, languages, subjects, summary) and its table of contents: every detected chapter, letter, stave, act or scene with start and end line numbers. Call this before read_passage to pick a chapter. |
| read_passageA | Read a Project Gutenberg book by chapter or by line number, up to 200 lines per call. Lines come back numbered so you can cite them, with next_start_line for paging. The license header and footer are already removed. |
| find_in_bookA | Find every occurrence of a word or phrase in a Project Gutenberg book. Returns the total count, per-chapter counts, and the first matches with line numbers and surrounding lines. Ignores case, quote style, dash style and line breaks. |
| quote_checkA | Check whether a quotation really appears in a Project Gutenberg book, and how exactly. Reports the strictest match (exact, typography-only differences, case, or punctuation), every location with the book's actual lines, and, when the quote is not there, the closest real passage. Use it before quoting a public-domain book. |
| book_statsA | Compute statistics for a Project Gutenberg book: word count, unique words, average sentence and word length, reading time, most frequent content words, and the longest and shortest chapters. Deterministic counting, no model involved. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a clearly distinct operation: catalog search vs. book metadata/TOC retrieval vs. reading passages vs. in-book word lookup vs. quotation verification vs. statistical analysis. The only potential overlap is between find_in_book and quote_check, but their descriptions clearly differentiate occurrence lookup from strict quote validation, so an agent can reliably select the right tool.
Most names follow a consistent verb_noun pattern (search_books, get_book, read_passage, find_in_book, quote_check), which is easy to parse. The one deviation is book_stats, a noun_noun compound that breaks the verb-first convention, but it is still readable and predictable in context.
Six tools is well-scoped for a Project Gutenberg reading and research server. Each tool covers a distinct stage of the workflow—discovery, inspection, reading, lookup, verification, and analysis—and none feels redundant or missing.
The surface fully covers the read-only domain: finding books, retrieving metadata and table of contents, reading passages with paging, locating words, verifying quotations, and computing statistics. No obvious lifecycle gaps exist for a public-domain reading and citation server, and the reading tools handle full-book traversal through pagination.