Ebook File Check
by powmcp.com · remote · no sign-in to list tools · v0.5.4 · published by com.powmcp
Run EPUBCheck for EPUB specification errors and compare two exports.
2 tools: 1 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http epub-check https://powmcp.com/epub-check/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnebook_compare
The server marks "ebook_compare" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "ebook_compare" says "compare": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
2 tools
Changes things 1Claude Code: ask
ebook_compareRuns the identical pinned EPUBCheck 5.4.0 validation over exactly two EPUB builds (directly hosted public URLs or files attached in chat, baseline first, revised second) sequential…1 finding
Why it is in this group
- The name "ebook_compare" says "compare": a word for reading.
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ebook_compare" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "ebook_compare" says "compare": a word for reading.
Description, as the server wrote it Runs the identical pinned EPUBCheck 5.4.0 validation over exactly two EPUB builds (directly hosted public URLs or files attached in chat, baseline first, revised second) sequentially under one shared 110-second deadline, then reports which spec findings regressed or were fixed between them. Returns per-build hashes, EPUB versions, pass verdicts and severity counts, a regressions list (rules that appear or worsen in the revised build) and a fixed list (rules removed or reduced), and a ranking by pass state then fewer blocking findings. Use for 'did my re-export get worse', 'which build has fewer problems', and revision-over-revision questions. The ranking orders automated conformance only (it never means one build renders, reads, or sells better), and when both builds tie on pass state and blocking count it names no winner rather than crowning the first submission. It also flags when the two files declare different titles, since that usually means they are not two builds of one book. Human review remains required for both builds. A comparison can take up to 110 seconds under its shared deadline; tell the user before the call.
Annotations the server declares
- title: EPUB Build Compare
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
Only reads 1Claude Code: allow
ebook_checkValidates one EPUB (a directly hosted public URL or a file attached in chat) against the EPUB 2/3 specification using a pinned local EPUBCheck 5.4.0 engine run in a no-network sand…No findings
Why it is in this group
- The description's first verb is "validate": a word for reading.
Description, as the server wrote it Validates one EPUB (a directly hosted public URL or a file attached in chat) against the EPUB 2/3 specification using a pinned local EPUBCheck 5.4.0 engine run in a no-network sandbox. Each call takes exactly one source: the url parameter or the file attachment, never both. Returns the automated verdict: pass boolean, EPUB version, message counts by severity (fatal/error/warning/usage), findings grouped most-severe-first with EPUBCheck rule id (RSC-005, OPF-014, …), file path and line/column, plus a structural inventory (spine items, media types, remote-resource state), SHA-256 of the exact bytes, and truncation metadata. Use for one-file readiness and diagnosis: 'is this ebook valid', 'does this EPUB have specification problems before upload', 'what is wrong with it'. A pass means only that the bytes satisfied the automated profile; it never renders the book, judges accessibility, or guarantees any store will accept it, and human review of how the book reads and looks is always required. Downloads and validates a live EPUB under a 110-second call deadline; tell the user before the call.
Annotations the server declares
- title: EPUB Spec Check
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.5.4. Values in angle brackets are yours to fill in.
claude mcp add --transport http epub-check https://powmcp.com/epub-check/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__epub-check__ebook_check"
],
"ask": [
"mcp__epub-check__ebook_compare"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as epub-check. Review it before you use it.