Ebook File Check
REMOTE · POWMCP.COM · SCANNED SEP 25
Run EPUBCheck for EPUB specification errors and compare two exports.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1109 tokens (~554/item across 2 items; 2 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
- Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 3 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Ebook File Check MCP server?
Ebook File Check is a hosted endpoint at https://powmcp.com/epub-check/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · powmcp.com
claude mcp add --transport http com-powmcp-epub-check 'https://powmcp.com/epub-check/mcp'
{
"mcpServers": {
"com-powmcp-epub-check": {
"url": "https://powmcp.com/epub-check/mcp"
}
}
} {
"servers": {
"com-powmcp-epub-check": {
"type": "http",
"url": "https://powmcp.com/epub-check/mcp"
}
}
} [mcp_servers.com-powmcp-epub-check] url = "https://powmcp.com/epub-check/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-powmcp-epub-check": {
"type": "remote",
"url": "https://powmcp.com/epub-check/mcp",
"enabled": true
}
}
} openclaw mcp add com-powmcp-epub-check --url 'https://powmcp.com/epub-check/mcp' --transport streamable-http
mcp_servers:
com-powmcp-epub-check:
url: "https://powmcp.com/epub-check/mcp" {
"McpServers": {
"com-powmcp-epub-check": {
"Transport": "http",
"Url": "https://powmcp.com/epub-check/mcp"
}
}
} assistant mcp add com-powmcp-epub-check -t streamable-http -u 'https://powmcp.com/epub-check/mcp'
{
"mcpServers": {
"com-powmcp-epub-check": {
"type": "http",
"url": "https://powmcp.com/epub-check/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
- Stability: unverified → 0.03 ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://powmcp.com/epub-check/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=powmcp.com | CN=WE1,O=Google Trust Services,C=US | 18 Aug 2026 | 16 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 86489ad185ea61460e8ec5accd535821 |
| SANs: powmcp.com, *.powmcp.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of powmcp.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| powmcp.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://powmcp.com/epub-check/mcp | Verified | 200 | |
| http (plaintext) | http://powmcp.com/epub-check/mcp | HTTPS enforced | 308 | https://powmcp.com/epub-check/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ebook_check ~425
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | – | An EPUB file attached in chat, up to 25 MB, validated from its exact bytes. Provide either this attachment or url, never both. |
| maxMessages | integer | – | Maximum spec findings to return, most severe first (default 200); raise it to see more of a very noisy book, lower it to keep the answer short |
| url | string | – | Direct public HTTP(S) URL to the EPUB file bytes, including the protocol, not a ChatGPT file id, local path, cloud-drive share, archive/viewer page, or authenticated URL needing a login. Each call ta… |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | yes | Downloaded EPUB size in bytes |
| contentType | string | – | Content-Type the server returned |
| counts | object | yes | Counts of EPUBCheck findings grouped by severity |
| engineVersion | string | yes | EPUBCheck engine version that produced the verdict |
| epubVersion | string | – | Detected EPUB version, e.g. 2.0.1 or 3.0; omitted when the engine could not detect it |
| epubVersionDetected | boolean | yes | Distinguished state: false means the version could not be detected, distinct from a detected-but-invalid version |
| fetchedAt | string | yes | ISO timestamp the EPUB was fetched and validated |
| finalUrl | string | yes | URL after redirects, with query string and fragment stripped |
| findings | array | yes | Bounded spec findings, most severe first, capped by maxMessages |
| humanReviewItems | array | yes | Checks only a qualified human can perform |
| humanReviewRequired | boolean | yes | Always true: automated conformance never covers how the book reads or renders |
| inventory | object | yes | Structural inventory reported for the EPUB container |
| nonclaims | array | yes | What this automated result does not establish |
| pass | boolean | yes | True when the EPUB has no fatal or error messages against the automated profile |
| processingMs | number | yes | Total processing time in milliseconds |
| redirects | number | yes | Redirect hops followed |
| requestedUrl | string | yes | The checked EPUB source: the submitted URL with query and fragment stripped, or the attached file's name |
| ruleProfileDate | string | yes | Release date of the pinned EPUBCheck rule profile |
| sha256 | string | yes | SHA-256 hash of the exact validated bytes |
| truncation | object | yes | Finding totals and the applied limit on returned findings |
No examples provided.
ebook_compare ~372
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.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | – | Exactly two distinct EPUB builds attached in chat: the baseline build first, the revised build second. Provide either these attachments or urls, never both. |
| maxMessages | integer | – | Maximum findings to collect per build for the comparison (default 150) |
| urls | array | – | Exactly two distinct direct public HTTP(S) EPUB URLs: the baseline build first, the revised build second. Provide either these URLs or files, never both. STRICT RULE: Ebook compare failed: provide e… |
| Name | Type | Req | Description |
|---|---|---|---|
| comparedAt | string | yes | ISO timestamp of the comparison |
| documents | array | yes | Per-build hashes, versions, and verdicts in submitted order (baseline first, revised second) |
| engineVersion | string | yes | EPUBCheck engine version that produced the verdicts |
| fixed | array | yes | Rules removed or reduced in the revised build versus the baseline |
| humanReviewItems | array | yes | Checks only a qualified human can perform |
| humanReviewRequired | boolean | yes | Always true: automated conformance never covers how either build reads or renders |
| limits | array | yes | Conclusions this automated comparison cannot support |
| nonclaims | array | yes | What these automated results do not establish |
| processingMs | number | yes | Total processing time in milliseconds |
| ranking | array | yes | Builds ranked by pass state then fewer blocking findings; unvalidatable builds last |
| regressions | array | yes | Rules that appear or worsen in the revised build versus the baseline |
| ruleProfileDate | string | yes | Release date of the pinned EPUBCheck rule profile |
| truncated | boolean | yes | True when either build's findings were truncated, which can make the difference table incomplete |
No examples provided.
What is the Ebook File Check MCP server?
Ebook File Check is an MCP server listed in the public MCP registry as com.powmcp/epub-check. Run EPUBCheck for EPUB specification errors and compare two exports. This page covers its hosted endpoint (https://powmcp.com/epub-check/mcp).
Is the Ebook File Check MCP server safe to use?
Ebook File Check scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ebook File Check MCP server expose?
Ebook File Check exposes 2 tools: ebook_check, ebook_compare. Their descriptions and schemas cost roughly 797 tokens of context every time the server is loaded.
Does the Ebook File Check MCP server require authentication?
No. We connected to Ebook File Check without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Ebook File Check MCP server still maintained?
Ebook File Check is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.