---
summary: "Initial public release — search, browse, and read 75,000+ Project Gutenberg books via MCP"
breaking: false
security: true
---

# 0.1.1 — 2026-06-01

Initial public release. Provides four tools for searching and reading the Project Gutenberg catalog with full plain-text retrieval.

## Added

- **`gutenberg_search_books`** — search the Gutendex catalog by title, author, topic, language, and author lifespan; returns popularity-ordered results with IDs ready for follow-up.
- **`gutenberg_get_book`** — fetch full metadata for a single Gutenberg book by ID (title, authors, subjects, bookshelves, languages, format URLs, download count).
- **`gutenberg_get_text`** — retrieve full plain text of a public-domain book with `offset`/`limit` chunking for context-budget management; strips boilerplate headers/footers, normalizes whitespace, and converts HTML sources to plain text.
- **`gutenberg_browse_popular`** — browse the most-downloaded books, optionally filtered by language or topic.

## Security

- **SSRF host validation** on the text-fetch path — format URLs from the upstream Gutendex API are now validated to ensure the resolved host matches the configured `GUTENBERG_TEXT_BASE_URL` before any HTTP fetch is issued; mismatches are rejected with a clear error.
- **`McpError` instance check** for upstream not-found propagation — replaced unsafe property cast (`err as { code? }`) with `err instanceof McpError` guard in the text service and Gutendex service.
