← Back to search

io.github.cyanheads/gutenberg-mcp-server

cyanheads streamable_http Scanned 1h ago

MCP server for Project Gutenberg — 75,000+ public-domain ebooks, searchable with full plain-text retrieval.

B
89.5 / 100

Versions

0.1.1latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 4

gutenberg_get_book
annotations: verified low

Fetch complete metadata for a Project Gutenberg book by ID — title, authors (with birth/death years), translators, editors, subjects, bookshelves, languages, copyright status, and the full formats map with download URLs for each available format (plain text, HTML, EPUB, cover image, etc.). Use this before gutenberg_get_text to confirm a plain-text format is available and to get the direct download URL.

id number input object output object subjects array birth_year number death_year number
readOnlyHint true openWorldHint true idempotentHint true
gutenberg_search_books
annotations: verified low

Search the Project Gutenberg catalog of 78,000+ public-domain books. Matches title and author name with query words; filters by topic (subject or bookshelf keyword), language, author lifespan, or a specific list of Gutenberg IDs. Results are ordered by popularity (download count) by default. Returns book ID, title, authors, languages, subjects, and download count — use gutenberg_get_book for the full formats map before fetching text.

input object
readOnlyHint true openWorldHint true idempotentHint true
gutenberg_get_text
annotations: verified low

Retrieve the plain-text content of a Project Gutenberg book, stripped of the standard license header and footer so the response contains only the literary work. For long works — novels routinely run 500KB–2MB — use offset and limit to read in chunks rather than fetching the whole book at once. The response reports totalChars and remainingChars for reliable pagination. Prefers UTF-8 plain text; falls back to an HTML edition converted to text; refuses audio books (media_type "Sound") with a clear error.

id number input object length number offset number output object
readOnlyHint true openWorldHint true idempotentHint true
gutenberg_browse_popular
annotations: verified low

Browse the most-downloaded Project Gutenberg books, ordered by popularity. Returns up to 32 titles with their Gutenberg IDs, authors, languages, and download counts. Optionally filter by language or topic. Use this as a discovery entry point — "what are the most popular classics in French?" — or as a heartbeat check that the catalog is reachable.

id number input object output object languages array birth_year number
readOnlyHint true openWorldHint true idempotentHint true

Permissions 2

shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 17

info
Tool 'gutenberg_get_text' annotations are consistent annotation_checker · 80%
info
Tool 'gutenberg_browse_popular' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
Tool 'gutenberg_get_book' annotations are consistent annotation_checker · 80%
info
Tool 'gutenberg_search_books' annotations are consistent annotation_checker · 80%
info
package.json metadata manifest_parser · 100%
info
Tool: gutenberg_get_book manifest_parser · 75%
info
Tool: gutenberg_search_books manifest_parser · 75%
info
Tool: gutenberg_get_text manifest_parser · 75%
info
Tool: gutenberg_browse_popular manifest_parser · 75%
info
Required env vars (4) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 13 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-gutenberg-mcp-server-4f9af74/skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%