MCP.Market

PDF Letter MCP server

by bitterdev·io.github.bitterdev/pdf-letter-mcp·v1.0.3

Renders letters as print ready PDFs, DIN 5008 compliant for German window envelopes.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars34 downloads/wk

Reviews

Write one

Nobody has reviewed PDF Letter yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

PDF Letter tools (7, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • create_letterwrite action

    Renders a letter as a PDF file in the fixed house layout (DIN 5008 address field, 25 mm writing margin, fold and punch marks, bold subject block). Pass content only, the layout is fixed. The signature image intentionally overlaps the closing line. Returns the absolute file path, the page count, layout metrics and warnings.

  • get_din5008_spec

    Returns the millimetre geometry of the layout: address field, remark zone, writing margins, subject position, fold and punch marks.

  • list_fonts

    Lists the built-in font families and resolves a font name against the installed system fonts, so you can check what create_letter would embed.

  • list_locales

    Lists the supported languages together with their fixed texts (salutation, closing, enclosures, page numbering).

  • list_profiles

    Lists the sender profiles configured on this machine. Each profile carries the address and the signature of one person, so create_letter only needs the profile key.

  • prepare_signature

    Cleans up a scanned signature: crops white borders, turns the paper background transparent and optionally recolours the ink. Writes a PNG that can be passed to create_letter as signature.path. Needs the optional sharp dependency.

  • preview_letter

    Renders the letter in memory and returns layout metrics and warnings without writing a file. Use it to check whether the address fits the address field or the letter runs onto a second page.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan31 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 59 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How PDF Letter compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
88/100
higher than 75% of 48,255 servers
Tools
7
the typical server has 7
Tools that change things
14%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
34
more than 23% of 12,191 servers with a package

What its tools let an agent do: 6 read · 1 create

Install PDF Letter in Claude Code, Cursor or VS Code

Runs npx -y pdf-letter-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add pdf-letter-mcp -- npx -y pdf-letter-mcp
Add to Cursor

What the publisher says

From the PDF Letter repository's README, as published. We do not edit it. Read it on GitHub

<!-- Author: Fabian Bitter (fabian@bitter.de) -->

pdf-letter-mcp

Local MCP server (stdio) that turns structured letter data into a print ready PDF. One fixed layout, the everyday German letter, with the recipient address positioned per DIN 5008 so it sits exactly in the window of DL and C6/C5 window envelopes. No web service, no external API, everything runs offline on your machine.

Features

  • One layout, no variants: return address line, recipient, right aligned "place, date", bold subject block with references below it, salutation, body, closing, signature, enclosures
  • Address field 45 mm high ending at 105 mm from the left, with return address line, remark zone (Einschreiben, Nicht nachsenden) and address zone
  • Return address, remarks and recipient are balanced inside the address field, so the block sits evenly in the envelope window and further address lines still fit. addressLayout: "din" switches back to the fixed zone boundaries
  • Page breaks keep closing, signature image, name and enclosures together, follow-up pages carry recipient, date and page number
  • Subject 33 mm below the address field, place and date three lines above it
  • Fold marks at 105 mm and 210 mm, punch mark at 148.5 mm
  • DIN 5008 writing margin of 25 mm on the left, and the address field follows it, so address, subject and body share one edge. The field keeps its right edge at 105 mm and stays inside the 90 mm envelope window
  • Closing, one blank line, printed name. signature.spaceMm reserves more room for signing by hand
  • Signature as an image file: PNG with alpha channel keeps its transparency, the image is laid over the blank line above the printed name and never shifts the text. Optional crop, background removal and ink recolouring for scans
  • Multilingual: de, en, fr, es, it, nl, pt, pl, tr, da, sv, cs with locale aware date formats and address rules per country
  • Language aware hyphenation, bold/italic markup, bullet and numbered lists, automatic page breaks with continuation headers
  • Page numbers and a layout debug mode that draws the DIN 5008 zones

Install

npm install
npm run build

Register the server in Claude Code:

claude mcp add pdf-letter -- node "/absolute/path/to/pdf-letter-mcp/dist/src/index.js"

Or in ~/.claude.json / claudedesktopconfig.json:

{
  "mcpServers": {
    "pdf-letter": {
      "command": "node",
      "args": ["/absolute/path/to/pdf-letter-mcp/dist/src/index.js"],
      "env": {
        "PDF_LETTER_OUTPUT_DIR": "~/Documents/Briefe"
      }
    }
  }
}

Environment

Sender profiles

Sender addresses and signatures live in a file on the machine, never in the prompt. A letter names a profile, the server fills in address, return address line and signature image verbatim.

{
  "defaultProfile": "erika",
  "profiles": {
    "erika": {
      "description": "Erika Musterfrau, privat",
      "sender": {
        "name": "Erika Musterfrau",
        "street": "Musterstraße 12",
        "postalCode": "12345",
        "city": "Musterstadt",
        "country": "DE"
      },
      "place": "Musterstadt",
      "locale": "de",
      "signature": { "path": "/pfad/zur/unterschrift.png" }
    }
  }
}

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

PDF Letter: common questions

Is PDF Letter MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the PDF Letter safety report
How do I install PDF Letter?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does PDF Letter need an API key?
No secret keys are declared. It reads 2 settings from the environment.
Is PDF Letter maintained?
The last commit was 100 days ago (2026-07-27). The latest release is v1.0.3.
What can I use instead of PDF Letter?
Servers from other publishers that do the same job: kordoc MCP server.
How does PDF Letter compare with other MCP servers?
safety score 88/100 (higher than 75% of 48,255 servers); tools 7 (the typical server has 7); tools that change things 14% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to PDF Letter

Same job from other publishers: the closest match first, then the best rated.

  • kordoc
    Parse Korean documents (HWP, HWPX, PDF, XLSX, DOCX, PPTX) to Markdown; fill forms, diff, render.
    A

More from bitterdev →