gutenberg-mcp
Enables search and reading of Project Gutenberg books with tools for searching by title/author/subject and fetching word-range slices of book text.
README
gutenberg-mcp
An MCP server that gives an LLM direct search and read access to Project Gutenberg's catalog of 75,000+ free public-domain books.
Tools
| Tool | Purpose |
|---|---|
search_books(query, author) |
Search the catalog by title and/or author |
search_books_by_subject(subject) |
Search by subject/topic |
get_book_info(book_id) |
Metadata + approximate word count for a book |
get_book_text(book_id, start_word, word_count) |
Fetch a word-range slice of a book's plain text |
get_book_text is paginated by word count (default 3,000 words, ~10-12 pages) rather than returning entire books at once, so an LLM can pull exactly the section it needs without blowing its context window.
Why this exists (and not the gutendex API)
Most Gutenberg MCP servers wrap the third-party gutendex.com API. As of mid-2026 that service sits behind a Cloudflare JS challenge that a plain HTTP client can't solve — every request gets a 403, regardless of headers or user-agent. Several existing "Gutenberg MCP" repos on GitHub are broken for this same reason.
This server goes straight to Project Gutenberg instead:
- Search is built from Gutenberg's own sanctioned bulk catalog feed (
gutenberg.org/cache/epub/feeds/pg_catalog.csv) — the same data Gutendex itself is built from. Gutenberg'srobots.txtexplicitly disallows crawling/ebooks/search, so this server doesn't scrape that page; the bulk feed is the sanctioned way to get catalog data for search. - Book text is fetched directly from Gutenberg's own plaintext mirrors (
gutenberg.org/cache/epub/{id}/pg{id}.txt), whichrobots.txtdoes allow.
The catalog CSV (~21MB) is fetched once per server process and cached in memory — not re-downloaded per call.
Running it
docker build -t gutenberg-mcp-server .
Add to your MCP client config (e.g. Claude Desktop / Claude Code):
{
"mcpServers": {
"gutenberg": {
"command": "docker",
"args": ["run", "-i", "--rm", "gutenberg-mcp-server"]
}
}
}
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.