Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cyanheads/gutenberg-mcp-server --skill gutenberg-guidegit clone --depth 1 https://github.com/cyanheads/gutenberg-mcp-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/skills/cyanheads/gutenberg-mcp-server/gutenberg-guide)<a href="https://agentmods.dev/skills/cyanheads/gutenberg-mcp-server/gutenberg-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/gutenberg-mcp-server/gutenberg-guide/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/skills/cyanheads/gutenberg-mcp-server/gutenberg-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/gutenberg-mcp-server/gutenberg-guide.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.00090 | $0.02354 |
| Opus 5.5 | $0.00036 | $0.00942 |
| Sonnet 5.5 | $0.00018 | $0.00471 |
| Haiku 4.5 | $0.00009 | $0.00235 |
Grade A, and why
gutenberg-guide 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 3d 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 — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scope
Project Gutenberg's catalog and book text, keyless. Most records are public domain in the USA; the catalog also holds copyrighted editions and audio recordings. Catalog search matches titles and author names, not the words inside books, so there is no corpus-wide full-text or quotation search. A passage is found inside a known book: gutenberg_get_text jumps to it with find, or you page the book and scan the chunks yourself.
Identifiers
| Identifier | Comes from | Notes |
|---|---|---|
| Gutenberg ID | gutenberg_search_books, gutenberg_browse_popular, or a gutenberg.org/ebooks/<id> URL |
One ID is one edition, volume, part, translation, or recording, never a whole work (see Workflows) |
| Character offset | offset + length of the previous gutenberg_get_text response |
A position in the server's stripped text, not in the source file; match.offset from find uses the same coordinates |
| MIME prefix | the formats keys from gutenberg_get_book |
Selects records that list a format, nothing more (see Gates) |
Gates
Use is_readable to select eligible text editions, then handle the reader's result. Every search, browse, and get_book row carries it. True means a Text record has UTF-8 plain text, or HTML without audio formats; it does not prove the generated mirror file exists. A qualifying edition can still fail with text_file_not_found. Three look-alikes mislead:
- The
formatsmap: audio record 26471 (Spoon River Anthology,media_type"Sound") liststext/htmland is not readable; gutenberg_get_text refuses it withaudio_book. - The
mime_typefilter:"text/html"returns 26471 too. has_plain_text: false withis_readabletrue means an eligible HTML-only edition (79044, 49965). A successful read hassourceFormat"text/html", but the text is converted from markup: table rows sit on one line with tab-separated cells, and layout artifacts are possible.
is_readable is a result field, not a search argument; passing it to gutenberg_search_books fails with invalid_arguments. Prefer true rows for reading recommendations. False also covers non-Text records and HTML audio indexes; the reader still attempts supported formats on non-Sound records, and refuses Sound with audio_book. Records with no UTF-8 text or HTML edition (40, ASCII-only; 10836, PDF/TeX-only) fail with no_text_format.
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.
- 3d ago Changed 5894fe8d6ded
- 5d ago Changed · +1 lines · +5 tokens per session 7db8adfcfcb9
- 6d ago First seen · 57 lines · 85 tokens per session scan A cc7dfccaf7e9
gutenberg-guide is a skill published in the GitHub repository cyanheads/gutenberg-mcp-server (6 stars, last pushed 4d ago), licensed Apache-2.0. It adds 90 tokens to every session and 2,354 once invoked, about $0.0004 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-10-29.
Other skills, from other repositories
notebooklm
Interact with Google NotebookLM (notebook.google.com) notebooks — chat with the AI, generate artifacts (slides, audio, video, mind maps, quizzes, flashcards, infographics, reports, data tables), manage sources (add URLs, YouTube, files, text), run research (fast/deep web research), and manage notes. Use whenever the…
calibre-study-notes
A tool that creates study notes from books in a Calibre library for a human learner. It uses questions, recall exercises, source pointers, and optional Anki export rather than only providing a summary.
writer-beginner
Help a beginner start or continue fiction through small exercises, plain-language explanations, short examples, and specific feedback. Use when someone wants to learn to write a novel, light novel, short story, manga, or webtoon without advanced knowledge.
omd-video
A pipeline that turns instructional videos into structured notes using both their visuals and audio. It is intended for videos such as lectures, tutorials, and courses where slides, diagrams, prompts, or code appear on screen.
reading_recommendations
Description: Get personalized reading recommendations from your Calibre library using series progress, ratings, tags, reading history, and collaborative filtering across similar books.
example-skill
Demonstrates proper skill structure with all components. Use when learning how to build skills or as a template reference.