Give AI assistants hands: send real USPS letters via MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Approve a fax DRAFT so it can be transmitted. The content is re-screened at approval time. Only the key that created the fax can approve it. Nothing is transmitted by this call — send_fax does that.
the fax_id returned by create_fax_draft.
your 3L-Group Technology API key (lms_...).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Approve a fax DRAFT so it can be transmitted. The content is re-screened at approval time. Only the key that created the fax can approve it. Nothing is transmitted by this call — send_fax does that.
| Argument | Type | Description |
|---|---|---|
| fax_id* | integer | the fax_id returned by create_fax_draft. |
| api_key* | string | your 3L-Group Technology API key (lms_...). |
{
"type": "object",
"required": [
"api_key",
"fax_id"
],
"properties": {
"fax_id": {
"type": "integer",
"description": "the fax_id returned by create_fax_draft."
},
"api_key": {
"type": "string",
"description": "your 3L-Group Technology API key (lms_...)."
}
},
"additionalProperties": false
}Create a fax DRAFT: validates the recipient number, counts the PDF's pages, screens its text, and returns a price quote (Phaxio per-page cost x pages + the flat $1.00 service fee). This NEVER transmits anything — call approve_fax, then send_fax.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | your 3L-Group Technology API key (lms_...). |
| pdf_path* | string | path to the PDF file on the server to fax. |
| to_number* | string | recipient fax number — 10-digit US number or a full E.164 number starting with +. |
| description | any | optional label for your own records. |
{
"type": "object",
"required": [
"api_key",
"to_number",
"pdf_path"
],
"properties": {
"api_key": {
"type": "string",
"description": "your 3L-Group Technology API key (lms_...)."
},
"pdf_path": {
"type": "string",
"description": "path to the PDF file on the server to fax."
},
"to_number": {
"type": "string",
"description": "recipient fax number — 10-digit US number or a full\nE.164 number starting with +."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "optional label for your own records."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to* | object | recipient address dict with name, address_line1, address_city, address_state, address_zip (US). |
| html | any | letter body as an HTML string (use this OR pdf_path). |
| color | boolean | True for color printing, False for black & white. |
| api_key* | string | your 3L-Group Technology API key (lms_...). |
| pdf_path | any | server-local path to a PDF to mail instead of html. |
| quantity | integer | number of identical letters (10+ gets the bulk rate). |
| certified | boolean | OPT-IN ONLY — True for USPS Certified Mail with Electronic Receipt (tracked, signature on delivery). Defaults to False, which sends standard First Class mail. Only set True when the customer explicitly asked for certified mail: it costs significantly more (PostGrid's certified rate + the flat $1.00 service fee, roughly $11 per letter). Never default this to True. |
Check a fax: lifecycle status (DRAFT/APPROVED/SENT/FAILED), page count, quote, and — once sent — the live delivery status from Phaxio.
| Argument | Type | Description |
|---|---|---|
| fax_id* | integer | the fax_id returned by create_fax_draft. |
| api_key* | string | your 3L-Group Technology API key (lms_...). |
{
"type": "object",
"required": [
"api_key",
"fax_id"
],
"properties": {
"fax_id": {
"type": "integer",
"description": "the fax_id returned by create_fax_draft."
},
"api_key": {
"type": "string",
"description": "your 3L-Group Technology API key (lms_...)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | your 3L-Group Technology API key (lms_...). |
| draft_id* | integer | the draft_id returned by draft_letter. |
{
"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
}Transmit an APPROVED fax via Phaxio. Refuses drafts that were never approved and faxes that were already sent — a fax can be transmitted exactly once.
| Argument | Type | Description |
|---|---|---|
| fax_id* | integer | the fax_id returned by create_fax_draft. |
| api_key* | string | your 3L-Group Technology API key (lms_...). |
{
"type": "object",
"required": [
"api_key",
"fax_id"
],
"properties": {
"fax_id": {
"type": "integer",
"description": "the fax_id returned by create_fax_draft."
},
"api_key": {
"type": "string",
"description": "your 3L-Group Technology API key (lms_...)."
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| api_key* | string | your 3L-Group Technology API key (lms_...). |
| request_id* | integer | the request_id returned by request_send. |
{
"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
}| description | any | optional label for your own records. |
| from_address* | object | sender address dict, same shape as `to`. |
{
"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": null,
"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": null,
"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 — 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": null,
"description": "optional label for your own records."
},
"from_address": {
"type": "object",
"description": "sender address dict, same shape as `to`.",
"additionalProperties": true
}
},
"additionalProperties": false
}