{"name":"com.makespdf/makespdf","slug":"makespdf","title":null,"description":"Compliant PDFs (PDF/A-2A + PDF/UA-1) from markdown or a compact DSL - fast, no headless browser.","url":"https://mcp.market/server/makespdf","rating":null,"grade":"C","score":56,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":3,"ok":3,"last_checked_at":"2026-09-20T03:20:53.552Z","last_ok_at":"2026-09-20T03:20:53.552Z","latency_ms":1915},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://makespdf.com/docs/mcp?ref=mcp-registry","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://makespdf.com/api/v1/mcp","headers":[{"description":"Bearer <makesPDF API key> - the same key used for the REST API. See https://makespdf.com/docs/mcp for setup.","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"delete_template","description":"Delete a caller-owned template by ID. Library rows cannot be deleted. Mirrors DELETE /api/v1/templates/:id.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"templateId":{"type":"string"}},"required":["templateId"]}},{"name":"get_template","description":"Fetch a single template (library or caller-owned) by ID, including its full DSL source and sampleData. Mirrors GET /api/v1/templates/:id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"templateId":{"type":"string","description":"Template ID — slug for library rows (e.g. 'invoice-classic') or UUID for user rows."}},"required":["templateId"]}},{"name":"list_templates","description":"List templates visible to the caller — both curated library templates (no owner) and the caller's own saved templates. Metadata only (no DSL bodies). Paginated. Use `owner: 'mine'` to restrict to your own; `owner: 'library'` for the curated catalog only; default `'all'` returns both. Optional `category`, `tags` (comma-separated, ANDed), and `q` (free-text over name + description) filters apply across both. Mirrors GET /api/v1/templates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","enum":["mine","library","all"],"default":"all"},"category":{"type":"string","maxLength":64},"tags":{"type":"string","maxLength":256},"q":{"type":"string","maxLength":128},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20},"offset":{"type":"integer","minimum":0,"default":0}}}},{"name":"render_dsl_preview","description":"Render a DSL template + data to a preview PDF. Free (no credits), always watermarked 'PREVIEW — NOT FOR USE'. Returns JSON metadata plus the PDF bytes as an embedded base64 resource. Mirrors POST /api/v1/preview.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dsl":{"type":"string","description":"The builder DSL script."},"data":{"type":"object","description":"Optional binding data. Falls back to the script's sampleData when omitted."},"title":{"type":"string","description":"Optional document title (shown in PDF metadata).","maxLength":200}},"required":["dsl"]}},{"name":"render_markdown","description":"Render GitHub-flavored markdown to a real PDF (PDF/A-2A + PDF/UA-1 dual-compliant, tagged). **BILLED - consumes credits at the rate of 1 credit per 10 pages.** Returns JSON metadata (pageCount, creditsDeducted, creditsRemaining, artifactId) plus the PDF bytes as an embedded base64 resource. On the free plan the PDF is watermarked; paid plans render clean. Mirrors POST /api/v1/md. Run `validate_markdown` first - it is free and catches heading-hierarchy and alt-text problems before you pay to render them. There is no free markdown preview: markdown needs no layout iteration, so this is the only markdown render tool.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"markdown":{"type":"string","description":"GitHub-flavored markdown source.","maxLength":200000},"options":{"type":"object","description":"Optional render settings. Anything omitted falls back to YAML frontmatter in the markdown, then to the runtime default.","properties":{"pageSize":{"type":"string","enum":["A3","A4","A5","Letter","Legal"]},"fontFamily":{"type":"string","enum":["Inter","NotoSans"]},"fontSize":{"type":"number","minimum":6,"maximum":24},"margins":{"type":"array","description":"Page margins in points, [top, right, bottom, left].","items":{"type":"number"}},"theme":{"type":"string","enum":["default","github"]},"splitMode":{"type":"string","enum":["default","balanced"]},"title":{"type":"string","description":"Optional document title (shown in PDF metadata).","maxLength":200},"author":{"type":"string","maxLength":200,"description":"PDF /Author metadata."},"subject":{"type":"string","maxLength":200,"description":"PDF /Subject metadata."},"keywords":{"type":"array","description":"PDF /Keywords metadata.","items":{"type":"string"}}}}},"required":["markdown"]}},{"name":"render_template","description":"Render any readable template (curated library row or caller-owned) to a real PDF. **BILLED — consumes credits at the rate of 1 credit per 10 pages.** Returns JSON metadata (pageCount, creditsDeducted, creditsRemaining, artifactId) plus the PDF bytes as an embedded base64 resource. On the free plan the PDF is watermarked; paid plans render clean. Mirrors POST /api/v1/render with the { templateId, data } body shape. Use `render_dsl_preview` first to confirm the layout — that's free and watermarked. Only call this once you're confident the template is right.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"templateId":{"type":"string","description":"Template ID — slug for library rows (e.g. 'invoice-classic') or UUID for user rows."},"data":{"type":"object","description":"Binding data substituted into {{var}} expressions. Falls back to the template's sampleData when omitted."},"title":{"type":"string","description":"Optional document title (shown in PDF metadata).","maxLength":200}},"required":["templateId"]}},{"name":"save_template","description":"Save a user-owned DSL template for later reuse via /api/v1/render. Validates the DSL with the catalog before persisting. Free (no credits). Pass `sampleData` (any JSON value) so the template's binding shape is preserved — the modify-template flow on /ai/chat round-trips this back into the Render data panel when the user returns. Optional `description` is a one-sentence summary surfaced on /templates. Returns { templateId, name, createdAt }.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dsl":{"type":"string","description":"The builder DSL script (<=512KB)."},"name":{"type":"string","description":"Human-readable template name.","minLength":1,"maxLength":200},"description":{"type":"string","description":"Optional one-sentence summary (max 280 chars). Surfaced on /templates list rows.","maxLength":280},"sampleData":{"description":"Optional JSON binding data to persist alongside the template. Round-tripped on get_template / modify-template flow."}},"required":["dsl","name"]}},{"name":"update_template","description":"Update a saved template's DSL, name, description, and/or sampleData. Revalidates the DSL when provided. For `description` and `sampleData`: pass `null` to clear; omit to leave unchanged. Mirrors PUT /api/v1/templates/:id.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"templateId":{"type":"string"},"dsl":{"type":"string"},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","description":"Optional one-sentence summary (max 280 chars). Pass `null` (instead of a string) to clear the stored value; omit the key entirely to leave it unchanged.","maxLength":280},"sampleData":{"description":"Optional JSON binding data. `null` clears the stored value; omit to leave unchanged."}},"required":["templateId"]}},{"name":"validate_dsl","description":"Validate a PDF template DSL script for structure, tag/style correctness, and accessibility issues. Runs catalog validation plus alt-text checks. Cheap — no rendering. Mirrors POST /api/v1/preview/validate.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dsl":{"type":"string","description":"The builder DSL script to validate. Must define a template (see skills/pdf-template-author.md)."},"data":{"type":"object","description":"Optional binding data. Falls back to the script's sampleData when omitted."}},"required":["dsl"]}},{"name":"validate_markdown","description":"Validate a markdown document for PDF/UA-1 accessibility issues (heading hierarchy, missing alt text). Cheap — no rendering. Mirrors POST /api/v1/md/validate.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"markdown":{"type":"string","description":"GitHub-flavored markdown source.","maxLength":200000}},"required":["markdown"]}}],"scan":{"score":56,"grade":"C","scanned_at":"2026-09-20T00:27:45.849Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:27:45.783Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":12,"max":20,"notes":["remote reachable in 7407ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://makespdf.com/api/v1/mcp","reachable":true,"authRequired":false,"latencyMs":7407,"serverInfo":{"name":"makespdf-mcp","version":"0.1.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://makespdf.com/favicon.ico","source":"site","width":64,"height":64},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}