MCP Server

3LT Letter Mail

com.3lgrouptechnology/3lt-letter-mail
Business & Operations Communication Public & reachable MCP 2025-11-25

What this MCP does

Drafts, screens, approves and sends physical USPS letters while reporting request, approval and billing status.

draft_letter
Draft Letter
Create a letter DRAFT: verifies the recipient address with PostGrid, screens content, and returns a price quote. This NEVER mails anything. Pass EITHER html (letter body as an HTML string) OR pdf_path (path to a PDF file on the server). PDF text is extracted for screening; if extraction fails the draft is kept but flagged needs_review.
Input schema
{'type': 'object', 'required': ['api_key', 'to', 'from_address'], 'properties': {'to': {'type': 'object', 'description': 'recipient address dict with name, address_line1, address_city,\naddress_state, address_zip (US).', 'additionalProperties': True}, 'html': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'letter body as an HTML string (use this OR pdf_path).'}, 'color': {'type': 'boolean', 'default': False, 'description': 'True for color printing, False for black & white.'}, 'api_key': {'type': 'string', 'description': 'your 3L-Group Technology API key (lms_...).'}, 'pdf_path': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'server-local path to a PDF to mail instead of html.'}, 'quantity': {'type': 'integer', 'default': 1, 'description': 'number of identical letters (10+ gets the bulk rate).'}, 'certified': {'type': 'boolean', 'default': False, 'description': "OPT-IN ONLY â\x80\x94 True for USPS Certified Mail with Electronic\nReceipt (tracked, signature on delivery). Defaults to False, which\nsends standard First Class mail. Only set True when the customer\nexplicitly asked for certified mail: it costs significantly more\n(PostGrid's certified rate + the flat $1.00 service fee, roughly\n$11 per letter). Never default this to True."}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'optional label for your own records.'}, 'from_address': {'type': 'object', 'description': 'sender address dict, same shape as `to`.', 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
request_send
Request Send
Request that a draft be mailed. approval-tier keys: creates a PENDING request and returns a one-tap Allow/Deny approval_url for the human. Nothing is mailed until Allow. on_command keys: may auto-send inside guardrails (spend caps, content screening, anomaly detection); anything outside them stays PENDING.
Input schema
{'type': 'object', 'required': ['api_key', 'draft_id'], 'properties': {'api_key': {'type': 'string', 'description': 'your 3L-Group Technology API key (lms_...).'}, 'draft_id': {'type': 'integer', 'description': 'the draft_id returned by draft_letter.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
send_status
Send Status
Check a send request: status (PENDING/SENT/REJECTED/FAILED), the key's trust tier and tier decision, approval state (+approval_url while pending), and billing state (Stripe charge id when billed).
Input schema
{'type': 'object', 'required': ['api_key', 'request_id'], 'properties': {'api_key': {'type': 'string', 'description': 'your 3L-Group Technology API key (lms_...).'}, 'request_id': {'type': 'integer', 'description': 'the request_id returned by request_send.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Added
send_status
Oct. 4, 2026, 2:40 a.m.
Added
request_send
Oct. 4, 2026, 2:40 a.m.
Added
draft_letter
Oct. 4, 2026, 2:40 a.m.