pdf-it
pdf-it
마크다운을 의도적으로 만든 것처럼 보이는 PDF로 변환하는 모델 컨텍스트 프로토콜(MCP) 서버이자 Claude Code 스킬입니다. 표지, 목차, 페이지 넘김 시에도 유지되는 코드 블록, 페이지 번호가 매겨진 바닥글을 제공합니다. Claude 세션에서 명령 하나로 클라이언트에게 보낼 수 있는 파일로 변환하세요.

이 도구가 필요한 이유
모든 Claude Code 연구 세션은 유용한 마크다운의 나열로 끝나지만, 이를 사람이 읽고 싶어 할 만한 깔끔한 PDF로 변환할 방법이 없습니다. Chrome 인쇄는 보기 흉하고, 수동 HTML 변환은 번거롭습니다.
pdf-it이 이 작업을 수행합니다. 마크다운을 입력하면 디자인된 PDF가 출력됩니다. 명령 하나로 가능합니다.

12페이지 분량의 샘플은 examples/designing-ai-agent-uiux.pdf에서 확인할 수 있습니다.
Related MCP server: Gen-PDF MCP Server
호환성
pdf-it은 표준 모델 컨텍스트 프로토콜 서버입니다. 로컬에서 MCP를 지원하는 모든 클라이언트에서 사용할 수 있습니다.
클라이언트 | 지원 여부 | 추가 방법 |
Claude Desktop (Mac, Windows) | 예 |
|
Claude Code (CLI) | 예, "save this as PDF"와 같은 스킬 트리거 포함 |
|
Cursor | 예 |
|
Cline (VS Code extension) | 예 | Cline의 MCP 설정 편집 |
Continue.dev | 예 | Continue의 MCP 설정으로 추가 |
Zed | 예 | 표준 MCP 설정 |
Goose (Block's CLI) | 예 | 표준 MCP 설정 |
Anthropic SDK를 통한 커스텀 에이전트 | 예 | 직접 MCP 연결 |
claude.ai (브라우저) | 아니요 | 웹은 로컬 MCP 서버를 실행하지 않음 |
Claude iOS / Android | 아니요 | 모바일은 로컬 MCP 서버를 실행하지 않음 |
클라이언트 필수 요구 사항: Node.js 18 이상, Google Chrome 설치, MCP 지원.
설치
npm install -g pdf-it-mcp또는 npx pdf-it-mcp를 사용하여 필요할 때마다 실행하세요.
요구 사항
Node.js 18 이상
Google Chrome 설치 (렌더러로 사용됨, 추가 다운로드 불필요)
설정
Claude Desktop
claude_desktop_config.json 편집:
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": ["-y", "pdf-it-mcp"]
}
}
}Claude Code
claude mcp add pdf-it -- npx -y pdf-it-mcpCursor
~/.cursor/mcp.json에 추가:
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": ["-y", "pdf-it-mcp"]
}
}
}커스텀 Chrome 경로
Chrome이 표준 경로가 아닌 곳에 설치된 경우:
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": ["-y", "pdf-it-mcp"],
"env": { "CHROME_PATH": "/path/to/chrome" }
}
}
}사용법
서버에 연결된 Claude 세션에서 다음과 같이 요청하세요:
Save this as a PDF
또는 다음과 같은 표현도 가능합니다: export as PDF, make a PDF report from this, turn this into a PDF, /pdf. 스킬이 요청을 감지하여 pdf-it을 통해 처리합니다. 출력물은 기본적으로 ~/Documents/pdf-it/에 저장됩니다.
도구
도구 | 설명 |
| 마크다운을 PDF로 변환합니다. 템플릿( |
| 사용 가능한 템플릿 목록과 설명을 반환합니다. |
generate_pdf 매개변수
매개변수 | 필수 | 설명 |
| 예 | 변환할 마크다운 문자열 |
| 아니요 | 표지와 페이지 바닥글에 표시됨 |
| 아니요 | 표지에 표시됨 |
| 아니요 | 출력물의 절대 경로. 기본값은 |
| 아니요 |
|
템플릿
이름 | 설명 |
| 제목, 저자, 날짜가 포함된 표지. H1 및 H2 헤딩에서 자동 생성된 목차. 적절한 계층 구조를 갖춘 본문. 제목과 페이지 번호가 포함된 바닥글. 연구, 요약, 디자인 문서, 보고서에 적합. |
| 표지 없음, 목차 없음. 밀도 높은 본문 내용만 포함. 짧은 메모나 빠른 내보내기에 적합. |
스킬
이 패키지는 SKILL.md에 Claude Code 스킬을 포함하고 있습니다. 스킬이 반응하는 트리거 문구:
save this as PDFexport as PDFmake a PDF report from thisturn this into a PDFgenerate a PDF/pdf
전체 스킬 사양은 SKILL.md를 참조하세요.
예시
examples 폴더에는 생성된 PDF 샘플(designing-ai-agent-uiux.pdf, 12페이지)과 이 README에 사용된 표지 및 본문 스크린샷이 포함되어 있습니다.
출력
기본적으로 PDF는 ~/Documents/pdf-it/{slug}-{timestamp}.pdf에 작성됩니다. output_path를 전달하여 재정의할 수 있습니다.
디자인
가능한 한 시스템 폰트를 사용합니다. 본문과 헤딩에는 Inter, 코드와 페이지 번호, 메타데이터에는 JetBrains Mono를 사용합니다. 순백색 종이, 거의 검은색에 가까운 잉크, 중립적인 가는 테두리, 강조 색상은 없습니다. 코드 블록은 의도적으로 구문 강조 없이 렌더링됩니다. PDF의 색상 선택은 시간이 지나면 보기 좋지 않기 때문입니다.
다른 디자인 언어를 원하시면 템플릿을 포크하여 조정하세요. 템플릿은 src/templates/에 있으며 Puppeteer를 통해 렌더링되는 일반 HTML 및 CSS입니다.
라이선스
MIT. LICENSE를 참조하세요.
Marsel Bait 제작.
Available Tools
2 toolsgenerate_pdfA
Convert markdown into a designed PDF (cover page, auto TOC, page-numbered footer). Use this for any "save/export/print/share as PDF", "make a report", "turn this into a PDF", or /pdf request — do NOT fall back to Chrome headless, cupsfilter, wkhtmltopdf, pandoc, or LaTeX. Templates: research-report (cover + TOC, default) or plain (no cover, no TOC).
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Markdown content to convert to PDF. | |
| output_path | No | Absolute path for the output PDF. Defaults to ~/Documents/pdf-it/{title}-{timestamp}.pdf | |
| title | No | Document title shown on the cover page and footer. | |
| author | No | Author name shown on the cover page. | |
| template | No | Template to use. "research-report" (default) adds a cover page and table of contents. "plain" renders body content only. | research-report |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry behavioral disclosure. It describes output features (cover, TOC, footer) and template effects. Could mention overwrite behavior or directory requirements, but conversion behavior is mostly implied by the task.
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?
Two sentences efficiently cover purpose, usage guidelines, and template options. No redundant information, front-loaded with key details.
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?
Covers main functionality, output features, and templates. Lacks details on error handling or file overwrite, but for a conversion tool with no output schema, it sufficiently prepares the agent to select and invoke the tool.
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 coverage is 100% so baseline is 3. Description adds value by explaining template behavior (research-report vs plain) and reinforcing that title appears on cover and footer. Not all parameters get extra context, but overall it enhances understanding.
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 explicitly states the tool converts markdown to a designed PDF with cover page, auto TOC, and page-numbered footer. It distinguishes from the only sibling, list_templates, which is clearly different.
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?
Provides clear when-to-use scenarios (save/export/print/share as PDF, make a report, /pdf request) and explicitly lists alternatives to avoid (Chrome headless, cupsfilter, wkhtmltopdf, pandoc, LaTeX).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesA
List all available PDF templates with their descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses a read operation returning a list with descriptions, but does not mention potential side effects or details like caching.
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?
Single, efficient sentence front-loaded with key purpose. No wasted words.
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?
Adequate for a simple list tool with no parameters, but lacks details like ordering, filtering, or scope of templates (e.g., user-specific vs global).
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?
No parameters exist, and schema coverage is 100%, so baseline is 4. Description does not need to add parameter info.
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 clearly states the tool lists all available PDF templates with descriptions, distinguishing it from the sibling tool 'generate_pdf' which likely generates a PDF from a template.
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?
Implied usage via naming ('list' vs 'generate'), but no explicit guidance on when to use this tool over alternatives.
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.
2 tool updates
v1.2.0- First observed
generate_pdf - First observed
list_templates
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: generating PDFs and listing templates, with no overlap.
Both tools follow a consistent verb_noun snake_case pattern (generate_pdf, list_templates), making them predictable.
With only two tools, the server covers the essential PDF generation function but feels minimal for a broader toolkit.
The set covers generate and list, but lacks template management (create, update, delete) and advanced options, leaving moderate gaps.
Maintenance
Related MCP Connectors
Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.
- blinkpdfOAuthio.blinkpdf
Render Markdown and LLM output into accessible PDF/UA-1 PDFs. No headless Chromium.
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Build, version and render resumes as PDFs from Claude or any MCP client.
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that converts Markdown to high-quality PDF documents using LaTeX, enabling AI agents like Claude to generate professional PDFs without requiring sign-ups or credit cards.144 npm11MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to generate professional PDF documents from markdown content with advanced typography, syntax highlighting, math equations, dark mode, and customizable styling options.MIT
- FlicenseNot gradedqualityDmaintenanceConverts Markdown files and raw content into professionally styled PDFs with full support for Mermaid diagrams and syntax highlighting. It offers customizable page formats, margins, and modern typography for high-quality document generation.11-
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that gives your AI assistant the power to convert Markdown into 14 professional document formats — PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG, and more. Stop copy-pasting. Let the AI do the exporting.332MIT