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
Optional manuscript/book.json flags (used by the CLI and MCP; the API takes the same names as body fields):
"print_toc": true adds a printed Contents page with page numbers to the interior PDF;
"own_front_matter": true skips our title/copyright pages when your front matter already has them.
MCP server
MCP client config:
Tools: build_book, spine_width, list_trim_sizes.
HTTP API
POST /v1/books creates a job, GET /v1/books/{id} returns status and download URLs
GET /v1/limits, GET /v1/pricing: machine-readable limits and pricing
GET /llms.txt, GET /quickstart.txt: agent docs
GET /openapi.json: OpenAPI spec
GET /health: health check
Jobs are in memory and expire after about 15 minutes.
End-to-end example
Unlimited builds: add -H 'Authorization: Bearer <license key>' (key: https://stickfigurefiles.gumroad.com/l/zrvizy).
Claude Desktop / Cursor
Add the MCP client config above to claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor), restart the app, and ask it to build a book from your chapters.
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.