Borrowing it
Nothing to install: this file belongs to bryanlabs/mcp-ebook-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/bryanlabs/mcp-ebook-server/main/AGENTS.mdgit clone --depth 1 https://github.com/bryanlabs/mcp-ebook-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/bryanlabs/mcp-ebook-server/agents-md)<a href="https://agentmods.dev/instructions/bryanlabs/mcp-ebook-server/agents-md"><img src="https://agentmods.dev/badge/instructions/bryanlabs/mcp-ebook-server/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/bryanlabs/mcp-ebook-server/agents-md"><img src="https://agentmods.dev/badge/instructions/bryanlabs/mcp-ebook-server/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01231 | $0.01231 |
| Opus 5.5 | $0.00492 | $0.00492 |
| Sonnet 5.5 | $0.00246 | $0.00246 |
| Haiku 4.5 | $0.00123 | $0.00123 |
Grade A, and why
mcp-ebook-server AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
mcp-ebook-server
What it is
An MCP (Model Context Protocol) server that gives AI assistants direct access to an EPUB ebook library. Exposes tools for listing, reading, and searching books so AI can return verbatim text rather than hallucinated summaries.
Where it's used
Cluster: Deployed as Deployment mcp-ebook-server in the media-suite namespace. Image: ghcr.io/bryanlabs/mcp-ebook-server. The ebook library directory is mounted as a volume at /ebooks.
Local MCP: Run via Docker or pip and connect any MCP-compatible client (Claude, Cursor, Zed) to http://localhost:8080/mcp (streamable-http transport).
MCP surface
Tools:
| Tool | Purpose |
|---|---|
list_books() |
List all EPUBs in the library with title, author, language, relative path |
get_book_info(book_path) |
Metadata, contents (printed chapters with their section indexes) and the raw section list |
get_book_chapter(book_path, chapter) |
A chapter by its printed number or name ("8", "eight", "VIII", "Prologue", "Relaxation"); joins split files |
find_quote(book_path, quote) |
Exact book wording, chapter and context for a quotation; ... skips ahead; near misses come back with exact: false |
get_section(book_path, section) |
One section as JSON with its label, for readers that page through a book |
get_chapter(book_path, chapter_number) |
Full text of one section by file-order index (not the printed chapter) |
get_chapters_range(book_path, start_chapter, end_chapter) |
Text of a section range, concatenated |
search_book(book_path, query) |
Search within one book ignoring case, punctuation and quote styles; matches carry chapter, label, section |
search_library(query) |
Search across all books; returns up to 5 matches per book |
Sections versus printed chapters. A section is one EPUB spine file, in
reading order, with at least 100 characters of text (or any text when the table
of contents names it). Section numbers drift from printed chapter numbers because
of front matter and split files: chapter 8 of Algorithms to Live By is section
12. Each section's label comes from the EPUB table of contents; a file the
contents does not name inherits the label of the chapter before it (split
chapters), unless that is front or back matter. chapter is the printed number
parsed from the label ("Chapter Eight", "8. Relaxation", "0008", "one"); labels
such as "Day 1", "Part I" or a character name have none and are matched by name.
Anything a person reads should use label, never the section index.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago Changed · +14 lines · +311 tokens per session 90f35f77e8aa
- 21d ago Changed · -4 tokens per session efbc10fdad37
- 1mo ago First seen · 73 lines · 924 tokens per session scan A 4d35072c693a
mcp-ebook-server AGENTS.md is an instructions file published in the GitHub repository bryanlabs/mcp-ebook-server (0 stars, last pushed 14d ago), licensed MIT. It adds 1,231 tokens to every session, about $0.0049 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.