Skip to main content
Glama
mrslbt

pdf-it

by mrslbt

pdf-it

pdf-it MCP server MCP Badge npm version npm downloads License: MIT

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

pdf-it cover example

이 도구가 필요한 이유

모든 Claude Code 연구 세션은 유용한 마크다운의 나열로 끝나지만, 이를 사람이 읽고 싶어 할 만한 깔끔한 PDF로 변환할 방법이 없습니다. Chrome 인쇄는 보기 흉하고, 수동 HTML 변환은 번거롭습니다.

pdf-it이 이 작업을 수행합니다. 마크다운을 입력하면 디자인된 PDF가 출력됩니다. 명령 하나로 가능합니다.

pdf-it body example

12페이지 분량의 샘플은 examples/designing-ai-agent-uiux.pdf에서 확인할 수 있습니다.

Related MCP server: Gen-PDF MCP Server

호환성

pdf-it은 표준 모델 컨텍스트 프로토콜 서버입니다. 로컬에서 MCP를 지원하는 모든 클라이언트에서 사용할 수 있습니다.

클라이언트

지원 여부

추가 방법

Claude Desktop (Mac, Windows)

예

claude_desktop_config.json 편집

Claude Code (CLI)

예, "save this as PDF"와 같은 스킬 트리거 포함

claude mcp add pdf-it -- npx -y pdf-it-mcp

Cursor

예

~/.cursor/mcp.json 편집

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-mcp

Cursor

~/.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/에 저장됩니다.

도구

도구

설명

generate_pdf

마크다운을 PDF로 변환합니다. 템플릿(research-report 또는 plain), 표지에 사용할 선택적 제목과 저자, 선택적 출력 경로를 허용합니다.

list_templates

사용 가능한 템플릿 목록과 설명을 반환합니다.

generate_pdf 매개변수

매개변수

필수

설명

content

예

변환할 마크다운 문자열

title

아니요

표지와 페이지 바닥글에 표시됨

author

아니요

표지에 표시됨

output_path

아니요

출력물의 절대 경로. 기본값은 ~/Documents/pdf-it/{slug}-{timestamp}.pdf

template

아니요

research-report (기본값) 또는 plain

템플릿

이름

설명

research-report

제목, 저자, 날짜가 포함된 표지. H1 및 H2 헤딩에서 자동 생성된 목차. 적절한 계층 구조를 갖춘 본문. 제목과 페이지 번호가 포함된 바닥글. 연구, 요약, 디자인 문서, 보고서에 적합.

plain

표지 없음, 목차 없음. 밀도 높은 본문 내용만 포함. 짧은 메모나 빠른 내보내기에 적합.

스킬

이 패키지는 SKILL.md에 Claude Code 스킬을 포함하고 있습니다. 스킬이 반응하는 트리거 문구:

  • save this as PDF

  • export as PDF

  • make a PDF report from this

  • turn this into a PDF

  • generate 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 tools
generate_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).

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesMarkdown content to convert to PDF.
output_pathNoAbsolute path for the output PDF. Defaults to ~/Documents/pdf-it/{title}-{timestamp}.pdf
titleNoDocument title shown on the cover page and footer.
authorNoAuthor name shown on the cover page.
templateNoTemplate to use. "research-report" (default) adds a cover page and table of contents. "plain" renders body content only.research-report

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 2 tool updatesv1.2.0
    • First observedgenerate_pdf
    • First observedlist_templates

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: generating PDFs and listing templates, with no overlap.

Naming Consistency5/5

Both tools follow a consistent verb_noun snake_case pattern (generate_pdf, list_templates), making them predictable.

Tool Count3/5

With only two tools, the server covers the essential PDF generation function but feels minimal for a broader toolkit.

Completeness3/5

The set covers generate and list, but lacks template management (create, update, delete) and advanced options, leaving moderate gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers