Deterministic ebook-to-markdown pipeline with MCP tools to browse, search, and read your books.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-terobyte-librarian": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Deterministic ebook-to-markdown pipeline with MCP tools to browse, search, and read your books.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing
【Star-crossed coders unite!⭐️】Model Context Protocol (MCP) server implementation providing Google News search capabilities via SerpAPI, with automatic news categorization and multi-language support.
URL to LLM-ready markdown — plus per-page category, page_structure, and query-driven highlights.
AI prompt optimization for 58+ platforms across 7 categories with custom platforms
Model Context Protocol (MCP) Server to connect your AI with any MediaWiki
MCP Security Weekly
Get CVE alerts and security updates for io.github.Terobyte/librarian and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Turn any ebook into clean, token-counted Markdown chapters — let Claude read your bookshelf over MCP and catch it misquoting your books. Deterministic RAG: no embeddings, no network, no API keys.

Any input format — FB2, EPUB, DOCX, HTML, TXT/MD, text-layer PDF — becomes a directory of clean chapters with token counts. No network, no LLM, no randomness: the same input always produces byte-identical output.
uv tool install librarian-cli
# or: pipx install librarian-cli
Offline contract: install and runtime need no network (the tokenizer's vocabulary is vendored in the package).
lib ingest examples/*.epub
lib list
lib find curiouser
lib get <book-id> --budget 3000
| Command | Purpose |
|---|---|
lib ingest <files…> [--force] [--no-keep-source] [--config cfg.toml] [--verbose] | Process books into the library; prints a file · id · status · score table. |
lib list [<book-id>] | No argument — all books; with an id — that book's chapters (n, title, tokens, summary). |
lib get <book-id> <spec> | Print chapters by range (1-3,7) to stdout. |
lib get <book-id> --budget N [--from K] | Greedily print consecutive chapters from K while the token sum stays ≤ N. |
lib find <query> [--limit 10] [--book <id>] [--reindex] [--json] | Full-text search across chapters and titles/authors library-wide (bm25, snippets, RU/EN stemming). |
lib info <book-id> | JSON: book metadata + quality metrics. |
lib doctor [<book-id>] | No id — books in review and broken directories; with id — that book's report. |
lib reingest --all [--config cfg.toml] [--verbose] | Rebuild the library from source/ with the current code/config. |
lib rm <book-id> | Delete a book and rebuild the index. |
lib serve [--library <path>] | Stdio MCP server over the library. |
lib verify "quote" [--book ID] [--json] [--limit N] | Check a quote against one book or attribute it across the library. |
Library root: --library <path> (or the LIB_HOME env var, default ./library). Data goes
to stdout, diagnostics to stderr. Exit codes: 0 success, 1 runtime error, 2 usage error.
librarian-cli ships a built-in stdio MCP server with 6 read-only tools — list_books,
list_chapters, find, get_chapters, book_info, verify_quote — so Claude can browse
the catalog, search it, pull chapters under a token budget, and check its own quotes against
the source on its own: deterministic RAG with no embeddings, no network, and no API keys.
Claude Code:
claude mcp add librarian --env LIB_HOME=$HOME/books -- uvx librarian-cli
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"librarian": {
"command": "uvx",
"args": ["librarian-cli"],
"env": { "LIB_HOME": "/path/to/books" }
}
}
}
An MCP server that catches Claude misquoting your books.
lib verify "quote" checks whether a quote actually appears in your library, verbatim —
punctuation, case, ё/е, and markdown formatting don't count. Two modes:
--book <id>): full scan of one book — "does this book actually say
this?" Works without the search index.--book)