CraftMyPDF MCP by usefulapi

io.usefulapi/craftmypdf

Generate PDFs and images from CraftMyPDF templates; read templates, versions and usage.

Yes, your AI can use this right now.Answered a live MCP handshake in 135 ms with no sign-in needed and exposes 11 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://craftmypdf.usefulapi.io/mcp

11 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
craftmypdf_get_account_inforead-only

The CraftMyPDF account behind the API key: username, quota used (quota_counter) and quota total (quota_max), template count and limit, creation date. Check the quota before generating many documents. GET /get-account-info.

craftmypdf_list_transactionsread-only

Recent generation transactions of the account, newest first: transaction_ref, type (PDFGEN, PDFPREVIEW, ...), execution time, credits used, time, file size and result status. Use it to see what was billed. GET /list-transactions.

craftmypdf_list_templatesread-only

List the PDF/image templates of the account: template_id, name, status, group, created and updated time. The template_id is what the generation tools need. Read only; templates cannot be edited here. GET /list-templates.

craftmypdf_get_templateread-only

One template: its name and the sample JSON data it expects (the placeholders to fill when generating). The full layout body is only returned with include_body (it can be very large and is cut). GET /get-template.

craftmypdf_list_template_versionsread-only

The saved versions of a template (version number, description, time, whether it is retained). Use a version number when generating to pin the layout. GET /list-template-versions.

craftmypdf_query_template_usageread-only

Usage statistics (how many generations) of up to 20 templates within an optional date range. Dates are ISO 8601 UTC date-times such as 2026-10-01T00:00:00Z. GET /query-template-usage.

craftmypdf_get_pdf_inforead-only

Metadata of a PDF that CraftMyPDF downloads from a public https URL: page count, title, author, creator, producer, dates. May count against the account's rate limit. GET /get-pdf-info.

craftmypdf_create_pdfcan modify

WRITE: uses the CraftMyPDF account's own quota (credits; a successful generation is a billable transaction, typically 1 credit per document, and every call counts even with identical data). Generate ONE PDF from a template and your JSON data. Returns a hosted file URL (never file bytes) that expires after `expiration` minutes, plus the transaction reference and any anchors (page numbers for a tabl

craftmypdf_create_imagecan modify

WRITE: uses the CraftMyPDF account's own quota (credits; a successful generation is a billable transaction, typically 1 credit per document, and every call counts even with identical data). Generate ONE image (JPEG or PNG) from a template and your JSON data. Returns a hosted file URL (never file bytes) that expires after `expiration` minutes. POST /create-image with export_type=json.

craftmypdf_create_pdf_from_templatescan modify

WRITE: uses the CraftMyPDF account's own quota (credits; a successful generation is a billable transaction, typically 1 credit per document, and every call counts even with identical data). Generate ONE combined PDF from 2-10 templates, each with its own data (or the shared `data`). Costs credits for each template rendered. Returns a hosted file URL that expires after `expiration` minutes. Uses th

craftmypdf_merge_pdfscan modify

WRITE: uses the CraftMyPDF account's own quota (credits; a successful generation is a billable transaction, typically 1 credit per document, and every call counts even with identical data). Merge 2-10 existing PDFs, given as public https URLs, into ONE PDF. CraftMyPDF downloads the files from your URLs. Returns a hosted file URL that expires after `expiration` minutes. POST /merge-pdfs.

Alternatives in Design & Media

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”