Read Project Gutenberg books via MCP. Search, fetch metadata, and retrieve text in passages.
Connect Runs on your machine
claude mcp add project-gutenberg-mcp -e GUTENBERG_BASE_URL=<GUTENBERG_BASE_URL> -e GUTENBERG_TOOLS=<GUTENBERG_TOOLS> -e GUTENBERG_BOOK_ID=<GUTENBERG_BOOK_ID> -e GUTENBERG_CHUNK_SIZE=<GUTENBERG_CHUNK_SIZE> -e GUTENBERG_LANGUAGE=<GUTENBERG_LANGUAGE> -- docker run -i --rm roberthouse224/project-gutenberg-mcp:1.2.0
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"env": {
"GUTENBERG_BASE_URL": "<GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<GUTENBERG_LANGUAGE>"
}
}
}
}
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"env": {
"GUTENBERG_BASE_URL": "<GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<GUTENBERG_LANGUAGE>"
}
}
}
}
{
"servers": {
"project-gutenberg-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"env": {
"GUTENBERG_BASE_URL": "<GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<GUTENBERG_LANGUAGE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
GUTENBERG_BASE_URLRequired | Base URL of your Gutenberg mirror. Run the mirror from the mirror/ directory and point this at it. See the README for setup instructions. |
GUTENBERG_TOOLSRequired | Comma-separated list of tools to expose. Available: search_books, get_book_metadata, fetch_book_text, list_passages, get_passage |
GUTENBERG_BOOK_IDOptional | Project Gutenberg book ID to use as the default for all tools. Find IDs via search_books. Example: 2680 for Meditations by Marcus Aurelius. |
GUTENBERG_CHUNK_SIZEOptional | Size in bytes of each passage returned by get_passage. |
GUTENBERG_LANGUAGEOptional | Default ISO 639-1 language code filter for search_books. Used when the caller omits the language parameter. |
Details
| Package | roberthouse224/project-gutenberg-mcp:1.2.0 (OCI, stdio) |
| First published | 25 Mar 2026 |
| Last updated | 25 Mar 2026 |
| Registry name | io.github.bobbyhouse/project-gutenberg-mcp |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
