pdf-letter-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_letterA | 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. |
| preview_letterA | 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. |
| prepare_signatureA | 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. |
| list_profilesA | 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. |
| get_din5008_specB | Returns the millimetre geometry of the layout: address field, remark zone, writing margins, subject position, fold and punch marks. |
| list_localesA | Lists the supported languages together with their fixed texts (salutation, closing, enclosures, page numbering). |
| list_fontsA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct purpose: creating/rendering letters, previewing, signature prep, listing locales/fonts/profiles, and retrieving layout specs. No two tools overlap in responsibility, and preview_letter vs create_letter are clearly differentiated (in-memory check vs file output).
All tools follow a consistent verb_noun pattern: list_locales, list_fonts, list_profiles, create_letter, preview_letter, prepare_signature, get_din5008_spec. The verbs are uniform and the noun targets are clear.
Seven tools is a well-scoped set for a letter-generation server. Each tool earns its place: three listing helpers, two render paths, one signature prep, and one spec reference. This is squarely in the ideal 3-15 range.
The core workflow is fully covered: discover fonts/locales/profiles, prepare a signature, preview, and create the PDF. The only minor gap is the absence of an explicit validation/strict mode tool or a way to retrieve existing generated letters, but agents can work around these.