Send a fax to the US or Canada from a chat. The person checks it and pays per fax on Faxette.
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.
Use this to add a file the person gave you to a fax: a PDF, or a photo saved as JPG, PNG, WEBP or HEIC, up to 20 MB. Call it once per file, before create_fax, in the order the files should be faxed. It returns document_id, upload_url and upload_headers: PUT the file's exact bytes to upload_url with those headers within 5 minutes, then pass document_id to create_fax within an hour. Nothing is faxed or charged. If you can't read the file's bytes, don't use this: call create_fax without document_ids, and the person adds the file on the status page.
The file's MD5 digest, base64-encoded, as printed by: openssl md5 -binary <file> | base64
The file's name with its extension, like referral.pdf.
The file's exact size in bytes.
The fax number the file will be faxed to, in international format, like +14155552671. Numbers in the US and Canada only. Use the same number in create_fax.
The file's media type. It must match the file's contents.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Use this to add a file the person gave you to a fax: a PDF, or a photo saved as JPG, PNG, WEBP or HEIC, up to 20 MB. Call it once per file, before create_fax, in the order the files should be faxed. It returns document_id, upload_url and upload_headers: PUT the file's exact bytes to upload_url with those headers within 5 minutes, then pass document_id to create_fax within an hour. Nothing is faxed or charged. If you can't read the file's bytes, don't use this: call create_fax without document_ids, and the person adds the file on the status page.
| Argument | Type | Description |
|---|---|---|
| checksum* | string | The file's MD5 digest, base64-encoded, as printed by: openssl md5 -binary <file> | base64 |
| filename* | string | The file's name with its extension, like referral.pdf. |
| byte_size* | integer | The file's exact size in bytes. |
| fax_number* | string | The fax number the file will be faxed to, in international format, like +14155552671. Numbers in the US and Canada only. Use the same number in create_fax. |
| content_type* | string | The file's media type. It must match the file's contents. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fax_number",
"filename",
"byte_size",
"checksum",
"content_type"
],
"properties": {
"checksum": {
"type": "string",
"minLength": 1,
"description": "The file's MD5 digest, base64-encoded, as printed by: openssl md5 -binary <file> | base64"
},
"filename": {
"type": "string",
"minLength": 1,
"description": "The file's name with its extension, like referral.pdf."
},
"byte_size": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The file's exact size in bytes.",
"exclusiveMinimum": 0
},
"fax_number": {
"type": "string",
"description": "The fax number the file will be faxed to, in international format, like +14155552671. Numbers in the US and Canada only. Use the same number in create_fax."
},
"content_type": {
"enum": [
"application/pdf",
"image/jpeg",
"image/png",
"image/webp",
"image/heic",
"image/heif"
],
"type": "string",
"description": "The file's media type. It must match the file's contents."
}
}
}Use this once the person has confirmed the fax number, and given you their email if they aren't signed in. It creates the fax and returns status_url, the page where the person checks the fax number, documents and price, and pays to send it. Nothing is sent or charged until they pay there. Pass the document_ids from create_document. Without them, the fax waits on the status page for the person to add their files. Each call creates a separate fax. To see how a fax is doing, use get_fax_status, or get_fax when the person is signed in.
| Argument | Type | Description |
|---|---|---|
| string | The person's email address, where Faxette sends the receipt and updates. Ask the person for it. Leave it out when they're signed in: their account's email is used. | |
| fax_number* | string | The fax number the fax goes to, in international format, like +14155552671. Numbers in the US and Canada only. |
| document_ids | array | The document_id of each file from create_document, in the order they're faxed. Up to 10. Leave it out to let the person add files on the status page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fax_number"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "The person's email address, where Faxette sends the receipt and updates. Ask the person for it. Leave it out when they're signed in: their account's email is used."
},
"fax_number": {
"type": "string",
"description": "The fax number the fax goes to, in international format, like +14155552671. Numbers in the US and Canada only."
},
"document_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "The document_id of each file from create_document, in the order they're faxed. Up to 10. Leave it out to let the person add files on the status page."
}
}
}Use this to see which Faxette account the person signed in with: their name, email, credit, and whether it's the US or EU copy. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Use this for one fax from the person's Faxette account: its status, price, payment, documents' file names and history. Pass the id from get_faxes or create_fax. While a fax is sending, call it at most once a minute. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The fax's id, from get_faxes or create_fax. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The fax's id, from get_faxes or create_fax."
}
}
}Use this when the person asks how their fax is doing, or to see whether it's ready to pay. It reads the fax from its status_url and returns its status, page count, price, payment and attempts. checkout_available is true once the person can pay on the status page. It changes nothing. While a fax is sending, call it at most once a minute.
| Argument | Type | Description |
|---|---|---|
| status_url* | string | The status_url create_fax returned, like https://www.faxette.com/f/abc123?token=xyz. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"status_url"
],
"properties": {
"status_url": {
"type": "string",
"format": "uri",
"description": "The status_url create_fax returned, like https://www.faxette.com/f/abc123?token=xyz."
}
}
}Use this when the person asks about faxes they've sent from their Faxette account, like what they sent last week or which faxes failed. Returns 25 at a time, newest first. Pass next_page back as page for the next 25. Filter with status, for example ["failed"] or ["delivered"]. Use get_fax for one fax's details. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.
| Argument | Type | Description |
|---|---|---|
| page | string | The next_page from the previous call. |
| status | array | Only faxes in these states. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "string",
"description": "The next_page from the previous call."
},
"status": {
"type": "array",
"items": {
"enum": [
"draft",
"processing_documents",
"documents_ready",
"awaiting_payment",
"scheduled",
"sending",
"delivered",
"failed",
"canceled"
],
"type": "string"
},
"description": "Only faxes in these states."
}
}
}Use this to send a fax from the person's Faxette credit. Only for a fax in their account that's ready to pay for: call get_fax first. Tell the person its credit_price and that it comes from their credit, and call this only once they clearly agree. If get_account shows their credit doesn't cover it, give them the status page instead, where they can buy credit or pay by card. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in.
| Argument | Type | Description |
|---|---|---|
| id* | string | The fax's id, from create_fax, get_faxes or get_fax. |
| amount_cents* | integer | The credit_price amount_cents from get_fax that the person agreed to. If the fax's documents changed since, Faxette refuses with price_changed: call get_fax and confirm the new price. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"amount_cents"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The fax's id, from create_fax, get_faxes or get_fax."
},
"amount_cents": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The credit_price amount_cents from get_fax that the person agreed to. If the fax's documents changed since, Faxette refuses with price_changed: call get_fax and confirm the new price.",
"exclusiveMinimum": 0
}
}
}