io.github.ridhwaan-ai/pressready
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.ridhwaan-ai/pressreadybuild my manuscript as a 5.5x8.5 paperback with cream paper"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PressReady
Manuscript in, publish-ready book out. Give it Markdown chapters, metadata and a front-cover image. It returns:
Kindle EPUB 3 (cover embedded, TOC, front/back matter)
Print interior PDF at the requested trim size (5x8, 5.5x8.5, 6x9, 8.5x11)
Full-wrap paperback cover PDF (spine width computed from page count and paper type)
Upload checklist (JSON) with the values KDP asks for
mcp-name: io.github.ridhwaan-ai/pressready
Install: pip install pressready (or run without installing: uvx pressready mcp).
Live API: https://pressready-wp38.onrender.com (agent docs: /llms.txt; pricing: /v1/pricing). Free tier: 3 builds a day per client; unlimited with a license key. The free host sleeps when idle, so the first request can take about a minute.
CLI
pip install pressready
pressready build manuscript/ --trim 5.5x8.5 --paper creamRelated MCP server: mdbook
MCP server
uvx pressready mcpMCP client config:
{"mcpServers": {"pressready": {"command": "uvx", "args": ["pressready", "mcp"]}}}Tools: build_book, spine_width, list_trim_sizes.
HTTP API
uvicorn pressready.api:appPOST /v1/bookscreates a job,GET /v1/books/{id}returns status and download URLsGET /v1/limits,GET /v1/pricing: machine-readable limits and pricingGET /llms.txt,GET /quickstart.txt: agent docsGET /openapi.json: OpenAPI specGET /health: health check
Jobs are in memory and expire after about 15 minutes.
Notes
PressReady produces files; it never logs in to KDP or any other site. Check the output in KDP's previewer before publishing. Output is generated by software; disclose AI use in KDP where its rules require it.
Available Tools
3 toolsbuild_bookA
Build a Kindle EPUB, print interior PDF, full-wrap cover PDF and KDP upload checklist.
manuscript_dir: folder containing book.json and Markdown chapters. cover_image: path to the front cover image (PNG/JPG). trim: one of 5x8, 5.5x8.5, 6x9, 8.5x11. paper: white or cream. Returns {"ok": true, ...checklist} or {"ok": false, "error": "what to fix"}.
| Name | Required | Description | Default |
|---|---|---|---|
| trim | No | 5.5x8.5 | |
| paper | No | white | |
| out_dir | No | out | |
| keywords | No | ||
| back_text | No | ||
| cover_image | Yes | ||
| manuscript_dir | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it does disclose the return contract ({"ok": true, ...checklist} vs {"ok": false, "error": ...}) which is valuable given no output schema. It does not say where files land (the out_dir parameter is never mentioned), whether existing outputs are overwritten, or how long a build takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome, then terse per-parameter lines, then the return contract. No filler, no repeated schema restatement, and the most decision-relevant information (what it produces) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven parameters, zero annotations, and no output schema, the definition is workable but incomplete: it explains the required inputs and return shape yet omits three optional parameters that materially change the output (out_dir, keywords, back_text) and never states that files are written to disk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates for only part of it: manuscript_dir, cover_image, trim, and paper are explained, and the allowed trim/paper values are supplied even though the schema declares no enums. Three parameters — out_dir, keywords, and back_text — receive no mention anywhere, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ("Build") and enumerates the four concrete artifacts produced: Kindle EPUB, print interior PDF, full-wrap cover PDF, and KDP upload checklist. That artifact list makes it unmistakably the production tool versus the narrow helpers spine_width and list_trim_sizes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"folder containing book.json and Markdown chapters" establishes the prerequisite structure the agent must satisfy before calling, which is real usage context. It never states when not to use it or points at the siblings (e.g., list_trim_sizes) for discovering valid values, so no exclusion guidance exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trim_sizesA
List supported print trim sizes (inches).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'List' implies a read-only operation, and units are disclosed, but it does not explicitly confirm there are no side effects, nor does it describe authorization or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. The purpose and units are communicated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is largely sufficient: it identifies what is listed and in what units. It could say more about the return format (e.g., array of strings vs. objects), but the tool's simplicity keeps this from being a serious gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly provides no parameter details because there are none to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb, 'List', and resource, 'supported print trim sizes (inches)', making the tool's function unambiguous. It does not explicitly differentiate from the sibling tools spine_width or build_book, but the purpose is clear enough to distinguish without that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent should call this when it needs available trim sizes. However, there is no explicit when-to-use, when-not-to-use, or reference to alternatives such as spine_width or build_book.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spine_widthA
Compute KDP paperback spine width in inches for a page count and paper type (white or cream).
| Name | Required | Description | Default |
|---|---|---|---|
| pages | Yes | ||
| paper | No | white |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden, and it does disclose the output unit (inches), which is genuinely useful behavioral context. It does not say whether the result is rounded, which paper-stock formula or KDP revision it follows, or that it is a pure calculation with no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and the output unit, with no filler. It is efficient, though it is so terse that the unit and the enum values are the only extra facts conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter pure calculation with no output schema, the description covers input meaning and output units adequately. It leaves out any input constraints and the exact form of the return value, which the missing output schema means the description should have supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it maps 'pages' to page count and 'paper' to paper type while supplying the two enum values (white or cream) that the raw schema lacks. It omits KDP page-count bounds and whether even page counts are required, which keeps it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb and resource: 'Compute KDP paperback spine width in inches', which is unmistakable and cannot be confused with list_trim_sizes or build_book. It stops short of explicitly distinguishing itself from those siblings, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By saying the tool works for a page count and paper type in a KDP paperback context, it implies when the tool applies. It gives no explicit when/when-not statements and does not name build_book as the alternative for full book assembly, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
build_book - First observed
list_trim_sizes - First observed
spine_width
TDQS
Scored across 3 tools
Each tool serves a highly specialized and distinct purpose within the book preparation workflow. One calculates a single dimension, one lists supported constants, and the other executes the entire complex build process.
The tool names adhere to a consistent snake_case convention throughout. The verbs (spine_width, list_trim_sizes, build_book) are clear and follow a logical, action-oriented style.
For the narrow, specialized scope of KDP preparation, three tools are reasonable. While the general guide suggests a slightly wider range, these tools cover the core lifecycle of dimension check, constraint listing, and final output.
The set covers basic dimensional requirements and the final output, but lacks critical intermediate steps. There are no tools for validating manuscript content against KDP requirements or handling the actual submission/upload process.
Maintenance
Related MCP Connectors
- JunifyeOAuthpro.publifye
Write books, studies & commentaries with your AI — EPUB, print-ready PDF, web reader, ISBN, RTL
- AnthraOAuthcom.anthra
Agentic AI book creator: plan, write, illustrate, narrate, and publish books from any MCP client.
Turns agent output into versioned web pages, PDFs, Word docs, spreadsheets and Markdown.
The document publishing layer for AI tools. Convert markdown to 6 destinations, 62 templates.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables AI assistants to read, write, organize, search, and compile Scrivener writing projects. Supports manuscript editing, document management, consistency checking, and PDF export for writers using Scrivener 3.228 npm-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, write, and manage markdown books with multi-format support and interactive features.MIT
- AlicenseNot gradedqualityCmaintenanceTurns PDF or EPUB books into reusable AI analysis, Obsidian notes, and agent Skills that can be installed into Codex, Claude Code, or other MCP clients.46MIT
- AlicenseNot gradedqualityBmaintenanceEnables generating designed, publish-ready PDF ebooks and reports from Markdown through natural language, with reusable brand themes, AI-generated covers, and editable saved projects.MIT