Knihobot MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Knihobot MCP Find Czech editions of Dune under 500 CZK."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Knihobot MCP — Unofficial
An unofficial, read-only Model Context Protocol server, independently developed as an interoperability and convenience layer for end-user queries against publicly available information in the Knihobot.cz book catalog.
It lets MCP clients search the catalog, inspect a specific physical copy, compare copies of the same edition, and retrieve Knihobot recommendations. It does not sign in to or access customer accounts, carts, orders, authentication-protected data, or private data.
Knihobot does not publicly document the API used by this project. Endpoints and response formats may change or access may be restricted without notice, causing this server to stop working. This project is not affiliated with, sponsored by, or endorsed by Knihobot.
Features
Search by title, author, ISBN, and catalog filters
Inspect live prices, availability, metadata, and copy images
Compare currently available copies of an edition
Retrieve catalog suggestions and recommendations
Validate upstream responses before exposing structured MCP output
Limit concurrency and cache repeated requests
Related MCP server: librarian
Requirements
Node.js 20 or later
npm
Installation
git clone https://github.com/birosrichard/knihobot-mcp
cd knihobot-mcp
npm ci
npm run buildMCP client configuration
Add the server to your MCP client configuration. Replace the path with the absolute path to the cloned repository:
{
"mcpServers": {
"knihobot": {
"command": "node",
"args": ["/absolute/path/to/knihobot-mcp/dist/index.js"]
}
}
}The server uses the stdio transport. Diagnostic messages are written to stderr so they do not corrupt MCP messages on stdout.
Tools
search_bookssearches for titles, authors, ISBNs, and other text. It supports pages 1–20 plus availability, language, author, publisher, category, condition, binding, year, and price filters.suggest_booksreturns matching books, authors, publishers, categories, labels, and series.get_book_detailreturns metadata and live sale information for one physical copy. It acceptstitleIdandbookIdfrom search or suggestion results.list_available_copieslists physical copies currently offered for aneditionId.get_recommendationsreturns recommended books for aneditionId.
Knihobot's catalog model uses titleId for a language-specific title group,
editionId for an edition, and bookId for a physical copy offered for sale.
These are upstream implementation details and may change.
Configuration
The server works without credentials. The following environment variables are optional:
KNIHOBOT_BASE_URL: API origin; defaults tohttps://knihobot.czKNIHOBOT_TIMEOUT_MS: request timeout in milliseconds; defaults to10000KNIHOBOT_CACHE_TTL_MS: cache lifetime in milliseconds; defaults to60000and cannot exceed300000KNIHOBOT_MAX_CONCURRENT: maximum concurrent upstream requests; defaults to2and cannot exceed4
The server reads these values from its process environment; it does not load a
.env file. All numeric values must be positive integers.
Example prompts
"Find Czech editions of Dune under 500 CZK."
"Show all available copies of this edition and compare their prices."
"Recommend books related to this edition."
Development
npm ci
npm run dev
npm run checknpm run check compiles the TypeScript project and runs the test suite. Tests use
mocked HTTP responses and do not require access to Knihobot.
Responsible use and limitations
This project is an independent interoperability tool. It does not replicate or redistribute the Knihobot catalog and does not maintain a persistent copy of Knihobot's database. It provides no bulk catalog export; its bounded, short-lived in-memory cache exists only to reduce repeated identical requests.
Use reasonable request rates and comply with Knihobot's website terms,
robots.txt where technically applicable, and applicable law. Do not use this
project to circumvent authentication, CAPTCHA, rate limits, bot protection,
Cloudflare protections, or any other technical access control. If Knihobot denies
or challenges a request, the server reports the restriction instead of attempting
to bypass it.
Catalog data, prices, stock levels, images, recommendations, trademarks, and other upstream content remain subject to the rights of their respective owners and may become stale immediately after a tool call. Do not rely on this project as a guaranteed or supported commercial API.
Contributing
See CONTRIBUTING.md.
License
The project's source code is licensed under the ISC License. The ISC License applies only to this project's source code. Upstream product data, images, trademarks, and other content remain subject to the rights of their respective owners.
Available Tools
5 toolsget_book_detailGet Knihobot book detailARead-onlyIdempotent
Get metadata and live sale information for one physical copy. Use titleId and bookId returned by search_books or suggest_books.
Inputs: bookId (required), titleId (required). Returns: url, isbn, year, price, +18 more
get_recommendationsGet Knihobot recommendationsARead-onlyIdempotent
Return books recommended by Knihobot for a specific edition.
Inputs: editionId (required), limit. Returns: books, editionId
list_available_copiesList available Knihobot copiesARead-onlyIdempotent
List physical copies currently offered for one edition. Use editionId returned by get_book_detail or search_books.
Inputs: editionId (required). Returns: copies, editionId
search_booksSearch Knihobot booksARead-onlyIdempotent
Search the public Knihobot catalog. Returns sale-ready title groups with the highlighted physical copy, price, availability and IDs needed by the detail tools.
Inputs: query (required), page, yearMax, yearMin, +9 more. Returns: books, query, sourceUrl, pagination
suggest_booksSuggest Knihobot entitiesBRead-onlyIdempotent
Return fast public suggestions for books, authors, publishers, categories, labels and series.
Inputs: query (required), languageIds. Returns: query, suggestions
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct operation: catalog search, fast suggestions, physical-copy detail, edition copy listing, and recommendations. The descriptions clearly explain when to use each tool and which IDs are required, so an agent should be able to disambiguate without confusion.
All tool names follow a consistent verb_noun snake_case pattern: search_books, suggest_books, get_book_detail, list_available_copies, get_recommendations. The verbs and nouns are predictable and convey the operation and resource clearly.
Five tools is a well-scoped size for a catalog-focused MCP server. Each tool covers a distinct browsing or lookup need without redundancy or unnecessary surface area.
The tool set covers the core read-only catalog workflow: discovering books through search or suggestions, viewing physical-copy details, listing available copies, and getting recommendations. Purchase, account, or inventory-management features are absent, but those appear outside the intended public catalog scope.
Maintenance
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
Read-only search and retrieval of published books, articles and authors, with public catalog links.
Books MCP — wraps Open Library API (free, no auth)
Search books and authors, fetch editions, browse subjects, and resolve cover images.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides synthetic catalog search, metadata retrieval, similar titles, trending, and new releases via MCP tools.-
- AlicenseAqualityCmaintenanceEnables browsing, searching, and quote verification of a local ebook library via MCP, providing deterministic RAG with no embeddings or network.677 PyPI2MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching for lawful, free-to-read books across multiple open catalogues and resolving access routes (download, read, borrow, preview) via MCP tools like search_books and resolve_access.MIT
- AlicenseAqualityCmaintenanceEnables read-only search and retrieval of the public Reknihy.cz book catalog, including filtering, sorting, ISBN lookup, category browsing, and access to product details such as price, availability, and images.4ISC