Gutenberg MCP Server

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

Remote serverstreamable-http

What is the Gutenberg MCP server?

MCP server for Project Gutenberg — 75,000+ public-domain ebooks with full plain-text retrieval. The gutenberg mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 6 defined tools rather than through you.

What it actually does

  • Declarative tool definitions — single file per tool, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats with recovery hints
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

Its toolset

Everything the assistant can do here goes through one of these:

  • gutenberg_search_books — Search the Gutenberg catalog by title, author, topic, language, or author lifespan — returns popularity-ordered results with IDs ready for follow-up
  • gutenberg_get_book — Fetch complete metadata for a book by ID — full formats map, translators, editors, subjects, bookshelves, copyright status, and the has_plain_text
  • gutenberg_get_text — Retrieve the plain-text content of a book, stripped of license boilerplate, with offset/limit chunking for context-budget management
  • gutenberg_browse_popular — Browse the most-downloaded books, optionally filtered by language or topic — useful as a discovery entry point
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Configuration

You will need 4 environment variables: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, GUTENDEX_BASE_URL, GUTENBERG_TEXT_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Bun v1.3.11 or higher (or Node.js v24+). - No API key required — Project Gutenberg data is freely available.

When to reach for it

This sits in the file and storage access group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Gutenberg's toolset — gutenberg_search_books, gutenberg_get_book, gutenberg_get_text and 3 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the gutenberg mcp server does with a few real requests.

Available tools

ToolWhat it does
gutenberg_search_booksSearch the Gutenberg catalog by title, author, topic, language, or author lifespan — returns popularity-ordered results with IDs ready for follow-up calls
gutenberg_get_bookFetch complete metadata for a book by ID — full formats map, translators, editors, subjects, bookshelves, copyright status, and the has_plain_text flag
gutenberg_get_textRetrieve the plain-text content of a book, stripped of license boilerplate, with offset/limit chunking for context-budget management
gutenberg_browse_popularBrowse the most-downloaded books, optionally filtered by language or topic — useful as a discovery entry point
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Gutenberg MCP server

{
  "mcpServers": {
    "gutenberg-mcp-server": {
      "type": "streamable-http",
      "url": "https://gutenberg.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.11 or higher (or Node.js v24+). - No API key required — Project Gutenberg data is freely available.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
GUTENDEX_BASE_URLEndpoint or connection string the server talks to.Yes
GUTENBERG_TEXT_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Gutenberg to gutenberg search books.
  • Use Gutenberg to gutenberg get book.
  • Use Gutenberg to gutenberg get text.

Frequently asked questions

It connects Gutenberg to MCP-compatible AI assistants such as Claude and Cursor, exposing 6 tools (gutenberg_search_books, gutenberg_get_book, gutenberg_get_text, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Gutenberg directly.