Skip to main content
Glama
bitterdev

pixelletter-mcp

Send letter

send_letter

Send physical letters or faxes through PixelLetter by providing documents as file paths or plain text with recipient address. Use test mode to verify without actual dispatch.

Instructions

Sends a letter through PixelLetter, either as ready made documents (absolute file paths, PDF preferred) or as plain text plus a recipient address that PixelLetter typesets. Optionally faxes the same document as well. Returns the result code and the transaction id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoLetter text as plain text, no HTML. Long texts run onto more pages automatically, your sender address is added by PixelLetter. "%Unterschrift%" on its own line inserts the signature stored in your PixelLetter account.
filesNoAbsolute paths of the documents to send, for example the PDF written by pdf-letter-mcp. Several files are converted and merged into one letter, in this order. Allowed: .pdf, .doc, .xls, .ppt, .rtf, .wpd, .psd, and PDF is the only type that always works.
duplexNoPrint on both sides (true, the default of PixelLetter) or on one side only (false, sent as control NODUPLEX). Letters only.
addressNoRecipient address, one line per array entry, country included. PixelLetter typesets it. Required when no file is sent.
controlNoRaw value for the control field of the interface. The only value in public use is NODUPLEX, which the duplex parameter sets for you, so only reach for this when PixelLetter gave you another token.
goGreenNoGoGreen, CO2 neutral postage (addoption 44). Letters only.
subjectNoSubject of the letter.
locationNoDispatch centre: 1 = Munich (DE), 2 = Hausleiten near Vienna (AT), 3 = Hamburg (DE). Default of the API is 1.
testModeYesTest mode. true runs the order exactly like a real one but PixelLetter never prints, never sends and never charges. false really sends the letter. Always required, so nothing goes out by accident.
faxNumberNoFax number in international format, for example "+49 89 72448483". Only needed with alsoSendFax.
colorPrintNoColour print instead of black and white (addoption 33). Letters only, and not available through every dispatch centre, see error 038.
registeredNoEinschreiben, registered mail (code 27). Germany only.
alsoSendFaxNoSend the same document as a fax too. Needs faxNumber. Additional services stay letter only.
destinationNoDestination country as a two letter ISO code, for example DE, AT, CH. Mandatory for letters, a wrong code leads to wrong postage.
inlineFilesNoDocuments passed as base64 instead of a path.
transactionNoYour own transaction id or short note. PixelLetter returns it with the response.
returnAddressNoRaw value for the returnaddress field of the interface. Undocumented in the public handbooks.
returnReceiptNoRückschein, return receipt (code 28). Only together with registered.
cashOnDeliveryNoBank details for cash on delivery. Setting this block adds additional service 31.
personalDeliveryNoEigenhändig, personal delivery (code 29). Only together with registered.
registeredDropInNoEinschreiben Einwurf, drop-in registered mail (code 30). Cannot be combined with the other registered variants.
additionalServiceCodesNoRaw addoption codes for services PixelLetter documents elsewhere or agrees per account. Only use numbers PixelLetter gave you.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the action (sends), test mode to prevent charges, and return values. However, it omits details on idempotency, reversibility, authentication requirements, or rate limits, leaving behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences cover the core functionality efficiently without fluff. The structure could be slightly improved by grouping modes more clearly, but it is concise and front-loaded.

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?

Given the complexity (22 parameters, nested objects), the description covers the return values and test mode requirement but lacks mention of prerequisites (e.g., PixelLetter account), error handling, or operational limits, leaving some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds high-level context (e.g., how text and files interplay, signature insertion) but does not significantly deepen understanding of individual parameters beyond what the schema already provides.

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 sends a letter via PixelLetter, with two modes (ready documents or text plus address). It also mentions optional faxing and return values, clearly differentiating from sibling tools like send_fax or sign_invoice.

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?

The description implies usage for sending letters but does not explicitly contrast this with sibling tools (e.g., when to use send_fax instead). It provides no exclusions or when-not-to-use guidance, relying on the user to infer from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bitterdev/pixelletter-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server