Project Gutenberg MCP MCP Server
io.github.bobbyhouse/project-gutenberg-mcp
What is the Project Gutenberg MCP MCP server?
Read Project Gutenberg books via MCP. Search, fetch metadata, and retrieve text in passages.
How to install Project Gutenberg MCP
Copy-paste configuration for popular MCP clients.
GUTENBERG_BASE_URLrequiredBase URL of your Gutenberg mirror. Run the mirror from the mirror/ directory and point this at it. See the README for setup instructions.
GUTENBERG_TOOLSrequiredComma-separated list of tools to expose. Available: search_books, get_book_metadata, fetch_book_text, list_passages, get_passage
GUTENBERG_BOOK_IDProject 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_SIZESize in bytes of each passage returned by get_passage.
GUTENBERG_LANGUAGEDefault ISO 639-1 language code filter for search_books. Used when the caller omits the language parameter.
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0",
"run",
"-i",
"--rm"
],
"env": {
"GUTENBERG_BASE_URL": "<YOUR_GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<YOUR_GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<YOUR_GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<YOUR_GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<YOUR_GUTENBERG_LANGUAGE>"
}
}
}
}{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0",
"run",
"-i",
"--rm"
],
"env": {
"GUTENBERG_BASE_URL": "<YOUR_GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<YOUR_GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<YOUR_GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<YOUR_GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<YOUR_GUTENBERG_LANGUAGE>"
}
}
}
}{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0",
"run",
"-i",
"--rm"
],
"env": {
"GUTENBERG_BASE_URL": "<YOUR_GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<YOUR_GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<YOUR_GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<YOUR_GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<YOUR_GUTENBERG_LANGUAGE>"
}
}
}
}{
"servers": {
"project-gutenberg-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"roberthouse224/project-gutenberg-mcp:1.2.0",
"run",
"-i",
"--rm"
],
"env": {
"GUTENBERG_BASE_URL": "<YOUR_GUTENBERG_BASE_URL>",
"GUTENBERG_TOOLS": "<YOUR_GUTENBERG_TOOLS>",
"GUTENBERG_BOOK_ID": "<YOUR_GUTENBERG_BOOK_ID>",
"GUTENBERG_CHUNK_SIZE": "<YOUR_GUTENBERG_CHUNK_SIZE>",
"GUTENBERG_LANGUAGE": "<YOUR_GUTENBERG_LANGUAGE>"
}
}
}
}claude mcp add project-gutenberg-mcp --env GUTENBERG_BASE_URL=<YOUR_GUTENBERG_BASE_URL> --env GUTENBERG_TOOLS=<YOUR_GUTENBERG_TOOLS> --env GUTENBERG_BOOK_ID=<YOUR_GUTENBERG_BOOK_ID> --env GUTENBERG_CHUNK_SIZE=<YOUR_GUTENBERG_CHUNK_SIZE> --env GUTENBERG_LANGUAGE=<YOUR_GUTENBERG_LANGUAGE> -- docker run -i --rm roberthouse224/project-gutenberg-mcp:1.2.0 run -i --rmRelated MCP servers
A generic append-only log MCP server. Persist timestamped JSON entries and query them by recency.