Project Gutenberg MCP
An MCP server that allows agents to interact with Project Gutenberg content. It supports searching for books by title or author, fetching metadata, downloading full plain text, and retrieving specific passages from books. It can run via stdio or HTTP and supports Docker deployment.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Search for books by title or author
- Fetch metadata for a specific book
- Download full plain text of a book
- Retrieve specific passages from a book
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
roberthouse224/project-gutenberg-mcp:1.2.0
{
"transport": "stdio",
"identifier": "roberthouse224/project-gutenberg-mcp:1.2.0",
"runtimeHint": "docker",
"registryType": "oci",
"runtimeArguments": [
{
"type": "positional",
"value": "run"
},
{
"name": "-i",
"type": "named"
},
{
"name": "--rm",
"type": "named"
}
],
"environmentVariables": [
{
"name": "GUTENBERG_BASE_URL",
"isRequired": true,
"description": "Base URL of your Gutenberg mirror. Run the mirror from the mirror/ directory and point this at it. See the README for setup instructions.",
"placeholder": "http://localhost:8080"
},
{
"name": "GUTENBERG_TOOLS",
"isRequired": true,
"description": "Comma-separated list of tools to expose. Available: search_books, get_book_metadata, fetch_book_text, list_passages, get_passage",
"placeholder": "get_book_metadata,list_passages,get_passage"
},
{
"name": "GUTENBERG_BOOK_ID",
"format": "number",
"description": "Project Gutenberg book ID to use as the default for all tools. Find IDs via search_books. Example: 2680 for Meditations by Marcus Aurelius.",
"placeholder": "2680"
},
{
"name": "GUTENBERG_CHUNK_SIZE",
"format": "number",
"default": "4096",
"description": "Size in bytes of each passage returned by get_passage."
},
{
"name": "GUTENBERG_LANGUAGE",
"default": "en",
"description": "Default ISO 639-1 language code filter for search_books. Used when the caller omits the language parameter."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GUTENBERG_BASE_URL=<YOUR_GUTENBERG_BASE_URL>",
"-e",
"GUTENBERG_TOOLS=<YOUR_GUTENBERG_TOOLS>",
"-e",
"GUTENBERG_BOOK_ID=<YOUR_GUTENBERG_BOOK_ID>",
"-e",
"GUTENBERG_CHUNK_SIZE=<YOUR_GUTENBERG_CHUNK_SIZE>",
"-e",
"GUTENBERG_LANGUAGE=<YOUR_GUTENBERG_LANGUAGE>",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"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>"
}
}
}
}Cline
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GUTENBERG_BASE_URL=<YOUR_GUTENBERG_BASE_URL>",
"-e",
"GUTENBERG_TOOLS=<YOUR_GUTENBERG_TOOLS>",
"-e",
"GUTENBERG_BOOK_ID=<YOUR_GUTENBERG_BOOK_ID>",
"-e",
"GUTENBERG_CHUNK_SIZE=<YOUR_GUTENBERG_CHUNK_SIZE>",
"-e",
"GUTENBERG_LANGUAGE=<YOUR_GUTENBERG_LANGUAGE>",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"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>"
}
}
}
}VS Code
{
"servers": {
"project-gutenberg-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GUTENBERG_BASE_URL=<YOUR_GUTENBERG_BASE_URL>",
"-e",
"GUTENBERG_TOOLS=<YOUR_GUTENBERG_TOOLS>",
"-e",
"GUTENBERG_BOOK_ID=<YOUR_GUTENBERG_BOOK_ID>",
"-e",
"GUTENBERG_CHUNK_SIZE=<YOUR_GUTENBERG_CHUNK_SIZE>",
"-e",
"GUTENBERG_LANGUAGE=<YOUR_GUTENBERG_LANGUAGE>",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"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 Desktop
{
"mcpServers": {
"project-gutenberg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GUTENBERG_BASE_URL=<YOUR_GUTENBERG_BASE_URL>",
"-e",
"GUTENBERG_TOOLS=<YOUR_GUTENBERG_TOOLS>",
"-e",
"GUTENBERG_BOOK_ID=<YOUR_GUTENBERG_BOOK_ID>",
"-e",
"GUTENBERG_CHUNK_SIZE=<YOUR_GUTENBERG_CHUNK_SIZE>",
"-e",
"GUTENBERG_LANGUAGE=<YOUR_GUTENBERG_LANGUAGE>",
"roberthouse224/project-gutenberg-mcp:1.2.0"
],
"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>"
}
}
}
}Let your agent find its tools
Find servers like Project Gutenberg MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.