# Print and Mail Company for AI assistants (MCP)

Remote MCP server: https://printandmailcompany.com/mcp (Streamable HTTP; MCP 2026-07-28 and 2025-era clients). OAuth 2.1 with PKCE (Client ID Metadata Documents and Dynamic Client Registration supported); API keys also work.

## Connect
- Claude: Settings → Connectors → Add custom connector → https://printandmailcompany.com/mcp
- Claude Code: `claude mcp add --transport http printandmailcompany https://printandmailcompany.com/mcp`
- ChatGPT: Settings → Apps & Connectors → Create (developer mode) → https://printandmailcompany.com/mcp
- Cursor / VS Code: add {"mcpServers": {"printandmailcompany": {"url": "https://printandmailcompany.com/mcp"}}}

## Tools
| Tool | Sign-in | Purpose |
|---|---|---|
| get_price_quote | not needed | Exact price incl. VAT for pages, printing options, envelope, registered mail and destination. |
| list_destinations | not needed | Countries with POST Luxembourg zone and postage. |
| check_pdf_margins | not needed | Checks a PDF (URL or base64) for A4 size and the 9 mm margin. |
| compose_letter | required | Renders text into a DIN 5008-style A4 letter PDF that always passes the print check; returns a document_id. |
| upload_document | required | Uploads an existing PDF (public URL or base64) and returns the print check. |
| fix_document_margins | required | Shrinks the pages of an uploaded PDF so they keep the required margins, then re-checks it. |
| create_upload_link | required | Returns a private browser link where the user can upload a PDF from their device. |
| create_letter | required | Creates a draft letter with the exact price. Nothing is charged. |
| send_letter | required | Sends a draft after the user explicitly confirmed it; paid from prepaid credit (returns a top-up link if credit is too low). |
| get_letter | required | Status, tracking number and price of one letter. |
| list_letters | required | Recent letters of the user. |
| cancel_letter | required | Cancels a letter before production; the amount returns to credit. |
| get_balance | required | Current prepaid credit. |
| create_topup_link | required | Secure link for the user to load credit by card. |

## Rules for agents
- Never send a letter without the user's explicit confirmation of recipient, content and price (send_letter requires confirm=true).
- Letters are paid from prepaid credit only; if credit is too low, give the user the top-up link.
- Use compose_letter to turn text into a correctly formatted letter; use check_pdf_margins before uploading a user's PDF.
- REST API: https://printandmailcompany.com/api/v1 — OpenAPI: https://printandmailcompany.com/openapi.json