Skip to main content
Glama
mrslbt

pdf-it

by mrslbt

pdf-it

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

Ein Model Context Protocol (MCP) Server und eine Claude Code Skill, die Markdown in PDFs umwandelt, die aussehen, als wären sie professionell erstellt worden. Deckblatt, Inhaltsverzeichnis, Code-Blöcke, die über Seitenumbrüche hinweg erhalten bleiben, Fußzeile mit Seitenzahlen. Ein Befehl aus Ihrer Claude-Sitzung genügt, um eine Datei zu erstellen, die Sie an einen Kunden senden können.

pdf-it cover example

Warum gibt es das?

Jede Claude Code-Recherchesitzung endet gleich: eine Wand aus nützlichem Markdown und keine saubere Möglichkeit, es in ein PDF zu verwandeln, das man gerne lesen würde. Der Chrome-Druck ist hässlich. Manuelle HTML-Konvertierung ist mühsam.

pdf-it erledigt die Arbeit. Markdown rein, gestaltetes PDF raus. Ein Befehl.

pdf-it body example

Ein 12-seitiges Beispiel finden Sie unter examples/designing-ai-agent-uiux.pdf.

Related MCP server: Gen-PDF MCP Server

Funktioniert mit

pdf-it ist ein Standard Model Context Protocol Server. Jeder Client, der MCP lokal unterstützt, kann ihn verwenden.

Client

Unterstützt

Hinzufügen

Claude Desktop (Mac, Windows)

ja

claude_desktop_config.json bearbeiten

Claude Code (CLI)

ja, plus Skill-Trigger wie "save this as PDF"

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

Cursor

ja

~/.cursor/mcp.json bearbeiten

Cline (VS Code extension)

ja

Clines MCP-Einstellungen bearbeiten

Continue.dev

ja

Über die MCP-Konfiguration von Continue hinzufügen

Zed

ja

Standard MCP-Konfiguration

Goose (Block's CLI)

ja

Standard MCP-Konfiguration

Benutzerdefinierte Agents über das Anthropic SDK

ja

MCP selbst einbinden

claude.ai (browser)

nein

Web führt keine lokalen MCP-Server aus

Claude iOS / Android

nein

Mobil führt keine lokalen MCP-Server aus

Grundvoraussetzungen für jeden Client: Node.js 18 oder neuer, Google Chrome installiert, der Client muss MCP unterstützen.

Installation

npm install -g pdf-it-mcp

Oder führen Sie es bei Bedarf mit npx pdf-it-mcp aus.

Voraussetzungen

  • Node.js 18 oder neuer

  • Google Chrome installiert (wird als Renderer verwendet, kein zusätzlicher Download)

Konfiguration

Claude Desktop

Bearbeiten Sie 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

Hinzufügen zu ~/.cursor/mcp.json:

{
  "mcpServers": {
    "pdf-it": {
      "command": "npx",
      "args": ["-y", "pdf-it-mcp"]
    }
  }
}

Benutzerdefinierter Chrome-Pfad

Falls Chrome an einem nicht standardmäßigen Ort installiert ist:

{
  "mcpServers": {
    "pdf-it": {
      "command": "npx",
      "args": ["-y", "pdf-it-mcp"],
      "env": { "CHROME_PATH": "/path/to/chrome" }
    }
  }
}

Verwendung

Fragen Sie in jeder Claude-Sitzung, die mit dem Server verbunden ist:

Save this as a PDF

Oder eine dieser Formulierungen: export as PDF, make a PDF report from this, turn this into a PDF, /pdf. Die Skill erkennt die Anfrage und leitet sie durch pdf-it. Die Ausgabe landet standardmäßig in ~/Documents/pdf-it/.

Tools

Tool

Beschreibung

generate_pdf

Konvertiert Markdown in ein PDF. Akzeptiert eine Vorlage (research-report oder plain), optionalen Titel und Autor für das Deckblatt sowie einen optionalen Ausgabepfad.

list_templates

Gibt die Liste der verfügbaren Vorlagen mit Beschreibungen zurück.

generate_pdf Parameter

Parameter

Erforderlich

Beschreibung

content

ja

Markdown-String zur Konvertierung

title

nein

Wird auf dem Deckblatt und in der Fußzeile angezeigt

author

nein

Wird auf dem Deckblatt angezeigt

output_path

nein

Absoluter Pfad für die Ausgabe. Standardmäßig ~/Documents/pdf-it/{slug}-{timestamp}.pdf

template

nein

research-report (Standard) oder plain

Vorlagen

Name

Beschreibung

research-report

Deckblatt mit Titel, Autor und Datum. Automatisch generiertes Inhaltsverzeichnis aus H1- und H2-Überschriften. Hauptteil mit korrekter Hierarchie. Fußzeile mit Titel und Seitenzahl. Am besten für Forschung, Zusammenfassungen, Designdokumente, Berichte.

plain

Kein Deckblatt, kein Inhaltsverzeichnis. Nur kompakter Inhalt. Am besten für kurze Notizen und schnelle Exporte.

Skill

Dieses Paket wird mit einer Claude Code Skill unter SKILL.md geliefert. Trigger-Phrasen, auf die die Skill reagiert:

  • save this as PDF

  • export as PDF

  • make a PDF report from this

  • turn this into a PDF

  • generate a PDF

  • /pdf

Siehe SKILL.md für die vollständige Skill-Spezifikation.

Beispiele

Der Ordner examples enthält ein Beispiel-PDF (designing-ai-agent-uiux.pdf, 12 Seiten) sowie die Screenshots des Deckblatts und des Hauptteils, die in dieser README verwendet wurden.

Ausgabe

Standardmäßig werden PDFs unter ~/Documents/pdf-it/{slug}-{timestamp}.pdf gespeichert. Übergeben Sie output_path, um dies zu überschreiben.

Design

Systemschriften, wo möglich. Inter für Haupttext und Überschriften, JetBrains Mono für Code, Seitenzahlen und Metadaten. Reinweißes Papier, fast schwarze Tinte, neutrale, haarfeine Ränder, keine Akzentfarben. Code-Blöcke werden absichtlich ohne Syntax-Highlighting gerendert: Farbwahlen in PDFs altern schlecht.

Wenn Sie eine andere Designsprache wünschen, forken Sie die Vorlagen und passen Sie sie an. Sie befinden sich in src/templates/ und sind einfaches HTML und CSS, das durch Puppeteer gerendert wird.

Lizenz

MIT. Siehe LICENSE.

Erstellt von 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