pdfzen

Render PDFs from 45 starter templates or raw HTML. Pay-per-render with USDC via x402.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
83%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,008토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.79%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "render": {
      "url": "https://api.pdfzen.site/mcp"
    }
  }
}

원격 엔드포인트

https://api.pdfzen.site/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (4)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_starters

List pdfzen's 45 public starter templates — invoices, receipts, contracts, certificates, NDAs, letters, reports, resumes, boarding passes, menus, bank statements, lab reports, lease agreements, performance reviews, and more. Returns an array of { slug, name, description, icon, pageOptions, fonts, dataKeys }. Free, no payment, no auth required. Call this first to discover what fits the user request, then optionally call get_starter to see the expected data shape, then call render_template_to_pdf to produce the PDF.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_starter(slug)

Fetch the full HTML body, CSS, sampleData, and pageOptions for one starter template by slug. Use this when you need to understand the exact shape of `data` the template expects before calling render_template_to_pdf, or when you want to fork a starter into custom HTML. Free, no payment, no auth required.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The starter slug. Examples: \"invoice\", \"receipt\", \"certificate\", \"contract\", \"nda\", \"boarding-pass\", \"menu\". Call list_starters to discover all 45 slugs."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟡render_template_to_pdf(template, data, pageOptions)

Prepare a paid PDF render from one of the 45 starter templates. Validates your template + data and returns the exact, ready-to-execute HTTP request to run against pdfzen's render endpoint — POST /v402/render/pdf (x402, $0.006 USDC on Base, no API key) or POST /v1/render/pdf (pdfzen API key, credit-billed). pdfzen renders are executed over HTTP, not streamed in-band over MCP; this tool is the bridge. Your `data` is merged ON TOP of the starter sampleData at render time, so partial payloads inherit demo defaults (e.g. ship just the customer name + total).

입력 스키마

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "description": "Slug of the starter to render (e.g. \"invoice\", \"receipt\", \"certificate\"). Call list_starters first if unsure which fits the user request."
    },
    "data": {
      "type": "object",
      "description": "Handlebars context. Each starter expects a specific shape — call get_starter to see the sampleData and dataKeys for the chosen slug. Your fields merge ON TOP of sampleData, so you can supply only the fields the user gave you and the rest fall back to the demo content.",
      "additionalProperties": true
    },
    "pageOptions": {
      "type": "object",
      "description": "Page format/margin/orientation overrides. Defaults come from the starter (most are A4 portrait). Example: { \"format\": \"Letter\", \"landscape\": true }.",
      "additionalProperties": true
    }
  },
  "required": [
    "template"
  ],
  "additionalProperties": false
}
🟡render_html_to_pdf(html, css, data, pageOptions)

Prepare a paid PDF render from arbitrary Handlebars-flavoured HTML. Use only when no starter fits (one-off layouts, custom branding). Prefer render_template_to_pdf when a starter matches. Validates your HTML and returns the exact, ready-to-execute HTTP request to run against pdfzen's render endpoint — POST /v402/render/pdf (x402, $0.006 USDC on Base, no API key) or POST /v1/render/pdf (pdfzen API key). pdfzen renders are executed over HTTP, not streamed in-band over MCP; this tool is the bridge.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "description": "The HTML body. Supports Handlebars {{ }} expressions resolved against `data`, plus pdfzen helpers ({{barChart}}, {{lineChart}}, {{pageBreak}}, {{#each}}, {{#if eq}}). Don't include <html>/<head>; just the body content + any <style> tags."
    },
    "css": {
      "type": "string",
      "description": "Optional CSS injected into the document head. Alternative to inline <style> in `html`."
    },
    "data": {
      "type": "object",
      "description": "Handlebars context object resolved against the {{...}} expressions in `html`.",
      "additionalProperties": true
    },
    "pageOptions": {
      "type": "object",
      "description": "Page format/margin/orientation. Defaults to A4 portrait. Example: { \"format\": \"A4\", \"margin\": { \"top\": \"20mm\" } }.",
      "additionalProperties": true
    }
  },
  "required": [
    "html"
  ],
  "additionalProperties": false
}

권장 프롬프트

retrieve_data
Get details about [item] from pdfzen
예상 도구: get_starter
fetch_info
Fetch [information type] using pdfzen
예상 도구: get_starter
list_items
List all [items] available in pdfzen
예상 도구: list_starters
browse_collection
Show me the [collection] from pdfzen
예상 도구: list_starters
explore_workflow
List available [items], then get details for each one using pdfzen
예상 도구: list_startersget_starter

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 4개
검증됨버전이 기록되지 않음도구 4개