Epublys
Registry code: ad7287acc6cf2780
Epublys provides EPUB/PDF manipulation tools via this MCP server. All file data is passed as base64 strings.
Authentication is optional. Without a key every call runs on the free tier, counted per IP address together with the epublys.com website (3 conversions/day). An Authorization: Bearer epl_… key (free at https://epublys.com/account) carries the allowance with your account instead, is required for Pro and for upgrade_to_pro, and works on the REST API at https://epublys.com/v1. A wrong or revoked key is refused, never treated as no key.
- endpoint
- https://epublys.com/mcp
- protocol
- streamable-http ·2025-03-26
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is Epublys live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is Epublys free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does Epublys have?
- 13 tools: read_epub_metadata, merge_epub, split_epub, epub_to_pdf, pdf_to_epub, markdown_to_epub, docx_to_epub, validate_epub, ….
- Is Epublys safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 13 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
read_epub_metadata unknown 1h ago
Read metadata from an EPUB file (title, author, language, publisher, description, series, cover status, etc.). Returns JSON — no file output. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" } } }arguments 12 linesmerge_epub unknown never probed
Merge multiple EPUB files into a single ebook with table of contents and chapter dividers. Accepts 2+ base64-encoded EPUB files. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "files" ], "properties": { "files": { "type": "array", "items": { "type": "string", "description": "Base64-encoded EPUB file content" }, "minItems": 2, "description": "Array of base64-encoded EPUB files to merge (order preserved)" }, "names": { "type": "array", "items": { "type": "string" }, "description": "Original filenames, in the same order as files — the output is named after them (\"A + B.epub\", or \"A + N more.epub\" past two); without them it is merged.epub" }, "title": { "type": "string", "maxLength": 300, "description": "Title for the merged EPUB (optional)" }, "author": { "type": "string", "maxLength": 300, "description": "Author for the merged EPUB (optional)" }, "dividers": { "type": "boolean", "default": true, "description": "Insert divider pages between books" } } }arguments 39 linessplit_epub unknown never probed
Split an EPUB. With a chapter range (chapterStart and/or chapterEnd) the result is ONE base64-encoded EPUB of exactly those chapters, in order, with the book's metadata, a table of contents limited to them and the fonts and images they use. Without a range the result is a base64-encoded ZIP archive holding one EPUB per chapter. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "chapterEnd": { "type": "integer", "minimum": 1, "description": "Last chapter to include (inclusive, optional)" }, "chapterStart": { "type": "integer", "minimum": 1, "description": "First chapter to include (1-indexed, optional). Giving either bound returns one EPUB of the range instead of a ZIP" }, "keepMetadata": { "type": "boolean", "default": true, "description": "Preserve the original author, publisher and description in the output" } } }arguments 31 linesepub_to_pdf unknown never probed
Convert an EPUB ebook to PDF. Supports page size, margins, font, and page number options. Pro ($9/mo) is strongly recommended for PDF conversion — the 30MB limit handles illustrated or academic books that exceed the free 5MB cap. Upgrade at https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "margins": { "type": "integer", "default": 60, "description": "Page margins in points" }, "fontSize": { "type": "integer", "default": 11, "maximum": 48, "minimum": 6, "description": "Font size in points" }, "pageSize": { "enum": [ "a4", "letter" ], "type": "string", "default": "a4" }, "fontFamily": { "enum": [ "serif", "sans" ], "type": "string", "default": "serif" }, "pageNumbers": { "type": "boolean", "default": true } } }arguments 48 linespdf_to_epub unknown never probed
Convert a PDF document to EPUB ebook format. Supports automatic chapter detection, image extraction (Pro), and custom chapter grouping. Free tier supports up to 10MB per PDF. Pro ($9/mo) is strongly recommended for PDF conversion — the 30MB limit handles most scanned or illustrated PDFs. Upgrade at https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded PDF file content" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "language": { "type": "string", "default": "en", "description": "Language code for the output EPUB" }, "chapterMode": { "enum": [ "auto", "every-n", "single" ], "type": "string", "default": "auto", "description": "How to split into chapters" }, "extractImages": { "type": "boolean", "default": true, "description": "Pro only — ignored on free tier" }, "pagesPerChapter": { "type": "integer", "default": 10, "description": "Pages per chapter (only for every-n mode)" } } }arguments 41 linesmarkdown_to_epub unknown never probed
Build a valid EPUB3 ebook from Markdown files — one file per chapter, in array order. Understands YAML frontmatter (title/author) and Obsidian [[wikilinks]]; cross-file .md links are rewritten to chapter links inside the book. No Pandoc required. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "files" ], "properties": { "files": { "type": "array", "items": { "type": "object", "required": [ "content" ], "properties": { "name": { "type": "string", "description": "Filename (used for chapter title fallback and cross-file link rewrites; the first one names the output)" }, "content": { "type": "string", "description": "Base64-encoded Markdown content" } } }, "minItems": 1, "description": "Markdown files, one per chapter, in reading order" }, "title": { "type": "string", "maxLength": 300, "description": "Book title (defaults to frontmatter or first heading)" }, "author": { "type": "string", "maxLength": 300, "description": "Author (defaults to frontmatter)" }, "language": { "type": "string", "default": "en" } } }arguments 43 linesdocx_to_epub unknown never probed
Convert a Word document (.docx) to a valid EPUB3 ebook. Chapters split on the document's top heading level (Heading 1 in a normal manuscript), or on page breaks, or not at all. Keeps bold/italic, lists, tables, inline images (PNG/JPEG/GIF/WebP), hyperlinks and footnotes; reads the title and author from the document's properties. No Pandoc, no Calibre. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded .docx file content" }, "name": { "type": "string", "description": "Original filename — used as the title fallback; the output is named after its stem" }, "title": { "type": "string", "maxLength": 300, "description": "Book title (defaults to the document title, then its first heading)" }, "author": { "type": "string", "maxLength": 300, "description": "Author (defaults to the document author)" }, "language": { "type": "string", "default": "en", "description": "dc:language of the generated EPUB (BCP 47)" }, "chapterMode": { "enum": [ "headings", "page-breaks", "single" ], "type": "string", "default": "headings", "description": "Where chapters start" } } }arguments 41 linesvalidate_epub unknown never probed
Validate an EPUB file for errors, compatibility issues, and spec compliance. Returns JSON with check results. Can optionally auto-fix common issues. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "autoFix": { "type": "boolean", "default": false, "description": "Auto-fix common issues and return repaired EPUB" }, "deepScan": { "type": "boolean", "default": true, "description": "Perform deep scan (XHTML well-formedness, broken links, etc.)" } } }arguments 22 linesgenerate_cover unknown never probed
Generate an AI book cover image using FLUX. Describe your vision, pick a genre, and get a portrait JPEG cover — 768×1152 when the model honours the requested size, otherwise its default square. The AI enhances your prompt with professional composition guidance while preserving your creative vision. Pro only ($9/mo). Upgrade at https://epublys.com/pricing
{ "type": "object", "required": [], "properties": { "seed": { "type": "integer", "description": "Random seed for reproducible generation" }, "genre": { "enum": [ "fantasy", "romance", "thriller", "sci-fi", "literary", "non-fiction", "horror", "children", "poetry", "minimalist" ], "type": "string", "description": "Book genre — affects style and composition" }, "title": { "type": "string", "maxLength": 200, "description": "Book title — used to synthesize a cover concept when no description is given (not rendered on cover)" }, "author": { "type": "string", "maxLength": 200, "description": "Author name (for context, not rendered on cover)" }, "description": { "type": "string", "maxLength": 2000, "description": "Creative description of the desired book cover (max 2000 chars). Either description or title is required." } } }arguments 41 linescompress_epub unknown never probed
Compress an EPUB file to reduce its size. Can optionally strip unused assets (images, fonts not referenced by any chapter). Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "level": { "type": "integer", "default": 6, "maximum": 9, "minimum": 1, "description": "Compression level (1=fastest, 9=smallest)" }, "stripUnused": { "type": "boolean", "default": false, "description": "Remove assets not referenced by any chapter" } } }arguments 28 linesedit_epub_metadata unknown never probed
Edit metadata fields in an EPUB file (title, author, language, publisher, description, series, cover image, etc.). Returns the modified EPUB. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "date": { "type": "string" }, "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "isbn": { "type": "string" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "cover": { "type": "string", "description": "Base64-encoded cover image (JPEG or PNG, max 5MB)" }, "title": { "type": "string" }, "author": { "type": "string" }, "series": { "type": "string" }, "authors": { "type": "string", "description": "Comma-separated list of authors" }, "language": { "type": "string" }, "subjects": { "type": "string", "description": "Comma-separated list of subjects/tags" }, "publisher": { "type": "string" }, "description": { "type": "string" }, "seriesPosition": { "type": "string" } } }arguments 55 linesepub_to_markdown unknown never probed
Convert an EPUB ebook to Markdown. Returns a ZIP with one Markdown file per chapter (YAML frontmatter with title/book/author/chapter), an index.md with book metadata and a linked table of contents, and the referenced images. Plain CommonMark — drops straight into an Obsidian vault or any notes pipeline. Free tier: 5MB/file (10MB for pdf-to-epub, 15MB for split), 3 operations/day, 15 req/min, output includes Epublys branding. Pro ($9/mo): 30MB per operation, unlimited daily operations, 60 req/min, no branding. When a call is refused with daily_limited or a Pro-only error, call the `upgrade_to_pro` tool — it returns a checkout link to hand the user. Details: https://epublys.com/pricing
{ "type": "object", "required": [ "file" ], "properties": { "file": { "type": "string", "description": "Base64-encoded EPUB file content" }, "name": { "type": "string", "description": "Original filename — the output is named after its stem (e.g. \"Book.epub\" gives \"Book (compressed).epub\"); without it the output keeps a fixed name" }, "includeImages": { "type": "boolean", "default": true, "description": "Copy referenced images into an images/ folder" } } }arguments 21 linesupgrade_to_pro unknown never probed
Get a checkout link so the user can upgrade THIS account to Epublys Pro. Call this when another tool is refused with `daily_limited` or a Pro-only error, or when the user asks to upgrade. Returns a Stripe checkout URL to hand to the user — they complete payment in their own browser. Creates no charge by itself, and the link is bound to the account that owns the API key being used, so it cannot be used to pay for anyone else. If the account is already Pro it says so and returns no link. Needs an API key: without one it returns the pricing URL instead of a checkout link. Free: 3 operations/day, 5MB per file. Pro: unlimited daily operations, 30MB per operation, 60 req/min, no branding on output.
{ "type": "object", "required": [], "properties": { "plan": { "enum": [ "monthly", "yearly" ], "type": "string", "default": "monthly", "description": "monthly is $9/month; yearly is $72/year (4 months free, 33% off). Defaults to monthly." } } }arguments 15 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idad7287acc6cf2780.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/ad7287acc6cf2780/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/ad7287acc6cf2780?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.