MCP-Connector
Brief aus Ihrem KI-Assistenten versenden
Fügen Sie eine URL zu Claude, ChatGPT oder einem anderen MCP-Client hinzu. Ihr Assistent bereitet Ihr Originaldokument vor, damit es auf A4 gedruckt und per Australia Post mit Sendungsverfolgung versendet wird. Sie prüfen die Vorschau und bezahlen auf unserer Website, sodass nichts ohne Sie versendet wird.
$10 Standardpost$20 Express Post
https://unopost.com.au/api/mcpDieselben Preise wie auf der Website, inkl. GST. Kein Konto, keine Anmeldung, kein API-Schlüssel.
Sie posten aus Ihrem eigenen Code? Der Connector funktioniert mit jedem MCP-Client oder per einfachem HTTP, aber jeder Brief wird auf unserer Website bezahlt. Um ganz ohne menschliches Zutun zu posten, nutzen Sie die x402-API.
Verbinden
Der Connector ist ein entfernter MCP-Server über Streamable HTTP. Er braucht keine Anmeldung, lassen Sie die Authentifizierung also ausgeschaltet.
- Claude: Öffnen Sie Customize → Connectors, wählen Sie Add custom connector, nennen Sie ihn Unopost und fügen Sie die Server-URL ein. Schalten Sie Unopost in einem Chat über das Tools-Menü ein.
- ChatGPT: Fügen Sie im Entwicklermodus einen benutzerdefinierten Connector mit der Server-URL und ohne Authentifizierung hinzu und schalten Sie ihn dann im Chat ein.
- Claude Code und andere Clients: Fügen Sie ihn als entfernten HTTP-Server hinzu. Jeder Client, der benutzerdefinierte MCP-Server unterstützt, verwendet dieselbe URL.
claude mcp add --transport http unopost https://unopost.com.au/api/mcp{
"mcpServers": {
"unopost": {
"type": "http",
"url": "https://unopost.com.au/api/mcp"
}
}
}So läuft ein Brief ab
Der Assistent bestätigt die Adressen mit dem Nutzer, bereitet den Brief vor und gibt dem Nutzer einen privaten Link zur Prüfung. Dort prüft der Nutzer die Vorschau, gibt eine E-Mail-Adresse ein und zahlt per Karte. Erst die Zahlung bringt den Brief auf den Weg.
Post this letter by Express Post to Jane Citizen,
12 Example Street, Southbank VIC 3006.
My return address is 1 Sample Road, Carlton VIC 3053.Tools
Assistenten rufen diese selbst auf. Jedes Ergebnis von prepare_letter, finish_letter_upload und get_letter_status enthält reviewUrl, die private Seite, auf der der Nutzer die Vorschau prüft und bezahlt, und instructions, die sagen, was dem Nutzer als Nächstes mitzuteilen ist.
get_letter_infoPreise, Limits, Aufgabezeiten, Zustellung, Sendungsverfolgung und Stornierung.TOOLprepare_letterNimmt die vom Nutzer angehängte Datei und legt einen Brief an.TOOLcreate_letter_uploadReserviert einen Brief und gibt einen Link zurück, an den die Datei hochgeladen wird.TOOLfinish_letter_uploadAdressiert einen hochgeladenen Brief und startet den Satz.TOOLget_letter_statusSeitenzahl, Preis, Vorschau, Zahlungs- und Versandstatus.prepare_letter
TOOLprepare_letter
Nimmt eine Dateireferenz vom Host entgegen, etwa einen Anhang in ChatGPT, lädt das Original herunter und legt den Brief an. Die Datei wird nie abgetippt, nachgebaut oder als Text gesendet. Jeder Aufruf legt einen neuen Brief an, daher ruft ein Assistent ihn nur einmal auf.
Argumente
fileobject · erforderlich- Die Referenz des Hosts auf den Originalanhang des Nutzers:
download_urlundfile_id, mitfile_nameundmime_type, falls bekannt. fileNamestring · optional- Der Dateiname mit Endung, etwa
letter.pdf. Nur nötig, wennfile.file_namefehlt. recipientAddress · erforderlich- An wen der Brief geht, wie vom Nutzer bestätigt. In Australien, außer
serviceistinternational. senderAddress · erforderlich- Die Absenderadresse des Nutzers, auf den Umschlag gedruckt. Sie kann in jedem Land liegen.
servicestring · optionalexpress(Standard), flach im B4-Umschlag;regular, gefaltet im DL-Umschlag, bis zu 12 Seiten; oderinternational, mit Unterschrift bei Zustellung.signatureboolean · optional- Unterschrift bei Zustellung, in Australien $6 zusätzlich. Standardpost geht damit als Einschreiben.
duplexboolean · optional- Beidseitig drucken. Eidesstattliche Erklärungen werden immer einseitig gedruckt.
monoboolean · optional- In Schwarz-Weiß drucken. Farbe bleibt standardmäßig farbig, ohne Aufpreis.
stapleboolean · optional- Die Seiten einmal oben links heften. Nur für Dokumente mit bis zu 12 Seiten; ein längeres wird bei der Preisberechnung abgelehnt. Standard ist false.
foldboolean · optional- Einen Express-Post- oder Auslandsbrief mit bis zu 12 Seiten in einen kleineren Umschlag falten.
preparedForstring · optional- Nur wenn Sie für ein Unternehmen an einen seiner Kunden schreiben: der Name des Unternehmens, bis zu 60 Zeichen. Die Bezahlseite zeigt ihn als Angabe des Assistenten, nicht als geprüft, und Namen wie Unopost, Australia Post, eine Bank oder eine Behörde werden abgelehnt.
notifyEmailstring · optional- Mit
preparedFor: die E-Mail-Adresse des Unternehmens. Sie erhält eine Kopie jeder E-Mail zum Brief, von der Zahlung bis zur Zustellung, und der Kunde sieht diese Adresse vor dem Bezahlen. customerEmailstring · optional- Die E-Mail-Adresse des zahlenden Kunden, falls bekannt. Die Bezahlseite ist damit vorausgefüllt; E-Mails zur Sendungsverfolgung gehen an diese Adresse.
Adresse
name, line1 und suburb sind Pflicht; Namen und Zeilen dürfen bis zu 40 Zeichen lang sein. In Australien ergibt sich der Bundesstaat aus der Postleitzahl. Für das Ausland geben Sie country an, und für einen Brief nach China eine chinesische Handynummer in phone.
namestring · erforderlich- Der vollständige Name der Person.
companystring · optional- Ein Unternehmen oder eine Organisation.
line1string · erforderlich- Die Straßenadresse oder eine PO Box, etwa
"PO Box 123". line2string · optional- Eine zweite Adresszeile.
suburbstring · erforderlich- Der Vorort oder Ort.
statestring · optional- In Australien weglassen: Er ergibt sich aus der Postleitzahl. Falls angegeben, einer der Werte
ACT,NSW,NT,QLD,SA,TAS,VICoderWA, passend zur Postleitzahl. Im Ausland die Region, falls das Land eine verwendet. postcodestring · optional- Vier Ziffern, in Australien erforderlich. Im Ausland die Postleitzahl, falls das Land eine verwendet.
countrystring · optional- Für Australien weglassen. Sonst der englische Name des Landes. Der Empfänger kann nur mit
serviceinternationalim Ausland sein. phonestring · optional- Nur für einen Empfänger in China: seine chinesische Mobilnummer, die China Post benötigt.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "prepare_letter",
"arguments": {
"file": {
"download_url": "https://files.example.com/letter.pdf",
"file_id": "file_abc123",
"file_name": "letter.pdf",
"mime_type": "application/pdf"
},
"recipient": {
"name": "Jane Citizen",
"line1": "12 Example Street",
"suburb": "Southbank",
"postcode": "3006"
},
"sender": {
"name": "Sam Sender",
"line1": "1 Sample Road",
"suburb": "Carlton",
"postcode": "3053"
},
"service": "express"
}
}
}{
"jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
"reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
"currency": "AUD",
"status": "CONVERTING",
"service": "express",
"instructions": "The letter is being laid out, usually for a few seconds. Then give the user reviewUrl to check the preview, enter an email and pay. Nothing is posted until payment. …"
}Die Datei selbst hochladen
TOOLcreate_letter_upload → finish_letter_upload
Für Clients, die die Datei des Nutzers lesen und eine HTTP-Anfrage senden können, deren Host aber keine Dateireferenzen hat. create_letter_upload nimmt den Dateinamen entgegen und gibt uploadUrl zurück, die nach 5 Minuten abläuft. Senden Sie die Originalbytes per PUT dorthin und rufen Sie dann finish_letter_upload mit der jobId und denselben Brieffeldern wie bei prepare_letter auf.
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/octet-stream" \
--data-binary @letter.pdfget_letter_status
TOOLget_letter_status
Meldet, wo ein Brief steht, mit der endgültigen pageCount und costCents, sobald er gesetzt ist. Ein Brief dauert meist ein paar Sekunden. Fragen Sie höchstens alle 5 Sekunden ab.
{
"jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
"reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
"currency": "AUD",
"status": "CONVERTED",
"pageCount": 3,
"costCents": 2000,
"previewUrl": "https://unopost.com.au/preview/019d7a7f-a183-752d-9b3b-11511179033b/letter.pdf?Expires=...&Signature=...",
"service": "express",
"instructions": "Ready: give the user reviewUrl to check the preview, enter an email and pay by card. The letter is posted only once it's paid for. pageCount and costCents (AUD cents) are final."
}{
"jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
"reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
"currency": "AUD",
"status": "FAILED",
"error": "document has more than 80 pages",
"instructions": "Not posted, and nothing was charged. The document has more than 80 pages. Suggest splitting it into separate letters of up to 80 pages each. …"
}get_letter_info
TOOLget_letter_info
Aktuelle Preise in AUD-Cent, die Seiten, die jeder Preis abdeckt, Seiten- und Dateilimits sowie verständliche Antworten zu Aufgabezeiten, Zustellung, Sendungsverfolgung und Stornierung. Assistenten beantworten damit Fragen, bevor sie etwas vorbereiten.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_letter_info",
"arguments": {}
}
}Limits
pages- Bis zu 80 Seiten pro Brief. Teilen Sie ein längeres Dokument auf mehrere Briefe auf.
regular- Standardpost und jeder gefaltete Brief fassen bis zu 12 Seiten. Längere Briefe gehen flach per Express Post.
size- Bis zu 50 MB pro Datei.
files- PDF, Word (.doc, .docx), JPEG oder PNG. Word-Dokumente werden auf A4 gesetzt.
letter- Über den Connector eine Datei pro Brief. Die Website nimmt bis zu 10.
rate- 200 Briefe pro Stunde von jedem KI-Host.
Status
CREATED- Reserviert, wartet auf die Datei.
CONVERTING- Wird gesetzt.
CONVERTEDAWAITING_PAYMENT- Bereit, damit der Nutzer ihn unter
reviewUrlprüft und bezahlt. PAIDPAYINGSENDINGRETRYINGMANUAL_CHECK- Bezahlt. Briefe, die an einem Werktag bis 14:30 Uhr Melbourner Zeit bezahlt werden, werden noch am selben Tag aufgegeben.
POSTEDUNDELIVERED- Bei Australia Post aufgegeben. Die Sendungsnummer wurde dem Nutzer per E-Mail geschickt.
DELIVERED- Laut Sendungsverfolgung von Australia Post zugestellt.
FAILED- Nicht aufgegeben.
errornennt den Grund,instructionsden nächsten Schritt. Ein bezahlter Brief wird vollständig erstattet. PAYMENT_EXPIRED- Nicht rechtzeitig bezahlt. Das Dokument wurde gelöscht.
REFUNDED- Storniert oder nicht versendbar und auf die Karte erstattet.
Fehler
Ein Tool, das fehlschlägt, gibt ein Fehlerergebnis zurück, dessen Text sagt, was schiefgelaufen ist und was zu tun ist, geschrieben für den Assistenten. Es gibt keine Fehlercodes, und wir formulieren die Meldungen eventuell um. Reagieren Sie daher auf die Art des Fehlers, nicht auf den genauen Wortlaut.
Ein Tool zahlt und versendet nie, daher kostet ein Fehler den Nutzer nie etwas. Sobald ein Fehler aber einen Job nennt, existiert dieser Brief: Prüfen Sie ihn mit get_letter_status, statt einen zweiten vorzubereiten.
arguments- Ein Argument fehlt oder ist falsch: eine Adresse, die der Nutzer bestätigen sollte, Optionen, die nicht zusammenpassen, ein nicht unterstützter Dateityp, ein abgelehntes
preparedForoder eine fehlerhafte E-Mail-Adresse. Die Meldung nennt es. Korrigieren Sie es und rufen Sie das Tool erneut auf; es wurde nichts angelegt. file- Die Originaldatei konnte nicht vom Host abgerufen werden: Der Link ist abgelaufen, wurde abgewiesen, war zu langsam oder leitete zu oft weiter, zeigt auf eine private Adresse, oder die Datei ist leer oder größer als 50 MB. Es wurde nichts versendet. Holen Sie eine neue Dateireferenz oder verwenden Sie
create_letter_upload; senden Sie nie stattdessen eine Textkopie. job …- Die Meldung beginnt mit
job …:, wenn der Brief angelegt wurde, aber ein späterer Schritt fehlgeschlagen ist. Rufen Sieget_letter_statusmit dieser Job-ID auf und dannfinish_letter_upload, falls er noch auf seine Adressen wartet. Bereiten Sie keinen weiteren Brief vor. rate limit- Zu viele Briefe von diesem KI-Host in dieser Stunde, oder das Tageslimit des Connectors ist erreicht. Wiederholen Sie es nicht in einer Schleife: Sagen Sie dem Nutzer, er solle es später versuchen oder den Brief über die Unopost-Website senden.
paused- Wir nehmen vorübergehend keine neuen Briefe an; Briefe, die bereits in Bearbeitung sind, laufen weiter. Versuchen Sie es später erneut.
not found- Kein Brief hat diese
jobId, oder sein Upload ist nach 24 Stunden abgelaufen. Verwenden Sie nur eine Job-ID, die Unopost diesem Nutzer zurückgegeben hat, und beginnen Sie neu, wenn sie abgelaufen ist. server- Bei uns ist etwas schiefgelaufen:
Unopost API returned HTTP 5xx. Warten Sie einige Sekunden und versuchen Sie es noch einmal. FAILED- Ein Brief, der sich nicht drucken lässt, ist kein Tool-Fehler:
get_letter_statusgibtFAILEDmiterrorund verständlicheninstructionszurück, etwa ein Dokument mit über 80 Seiten aufzuteilen oder ein Passwort zu entfernen.
Zahlung und Datenschutz
- Er zahlt und versendet nie. Der Connector gibt keinen Zahlungslink zurück. Der Nutzer zahlt nur auf der Website, nachdem er die Vorschau gesehen hat.
- Die Originaldatei, unverändert. Dateien werden nie in MCP-Nachrichten übertragen und nie durch Text ersetzt.
- Private Links. Eine Job-ID ist der einzige Schlüssel zu einem Brief, daher geben Assistenten sie und
reviewUrlnur an den Nutzer weiter. - Stornieren vor dem Druck. Ein bezahlter Brief kann über
reviewUrlgegen volle Erstattung storniert werden, bis wir mit dem Druck beginnen. - Nach dem Versand gelöscht. Dokumente werden gelöscht, sobald ein Brief aufgegeben ist, die eines unbezahlten Briefs nach 24 Stunden.
Webhooks? Nutzen Sie ein Postfach
Der Connector hat keine Webhooks. Geben Sie dem Assistenten stattdessen eine notifyEmail für ein Postfach, das Ihre Software liest. Jede E-Mail zu einem Brief kommt von notifications@unopost.com.au und enthält den Brief in ihren Headern. Ein Mail-Dienst, der bei eingehender Post Code ausführt, etwa Amazon SES, Postmark, Mailgun oder SendGrid, kann so auf jede Aktualisierung reagieren, sobald sie eintrifft.
- Richten Sie
notifyEmailauf eine Adresse, die Ihr Mail-Dienst empfängt, etwaletters@yourbusiness.com.au. - Akzeptieren Sie nur Mails von
notifications@unopost.com.au, die die DMARC-Prüfung bestehen, und verwerfen Sie den Rest. - Lesen Sie die Header, nicht den Wortlaut, der sich ändern kann. Verwerfen Sie eine
Unopost-Event-Id, die Sie schon gesehen haben.
Header
Unopost-Letter-Id- Die
jobIddes Briefs, wie der Connector sie zurückgegeben hat. Unopost-Event- Was passiert ist:
receipt,posted,tracking,retrying,delayed,awaiting-collection,delivered,cancelled,failed,refundedoderrefunded-printed. Unopost-Event-Id- Für dieselbe Nachricht immer gleich, egal wie oft sie gesendet wird, sodass Sie Wiederholungen verwerfen können.
Unopost-Letter-Status- Der Status des Briefs danach:
TO_POST,POSTED,DELAYED,AWAITING_AT_COLLECTION,DELIVERED,CANCELLEDoderREFUNDED. Unopost-Tracking-Number- Die Sendungsnummer von Australia Post, sobald der Brief aufgegeben ist.
Unopost-Copybusinessauf der Kopie, die ein Unternehmen erhält; nicht auf der eigenen E-Mail des Kunden.
From: Unopost <notifications@unopost.com.au>
Unopost-Letter-Id: 019d7a7f-a183-752d-9b3b-11511179033b
Unopost-Event: tracking
Unopost-Event-Id: evt_3f9a1c0b7e2d4a6b8c1d0e2f
Unopost-Letter-Status: POSTED
Unopost-Tracking-Number: 33LQV507012301000935005
Unopost-Copy: businessexport const handler = async (event) => {
const { mail, receipt } = event.Records[0].ses;
const { from } = mail.commonHeaders;
const fromUs = from.length === 1 && /(^|<)notifications@unopost\.com\.au>?$/i.test(from[0]);
// DMARC, not DKIM alone: only a DMARC pass means unopost.com.au signed it.
if (!fromUs || receipt.dmarcVerdict.status !== 'PASS') return;
const header = name =>
mail.headers.find(h => h.name.toLowerCase() === name.toLowerCase())?.value;
await recordUpdate({
letterId: header('Unopost-Letter-Id'),
event: header('Unopost-Event'),
eventId: header('Unopost-Event-Id'), // drop one you've seen
status: header('Unopost-Letter-Status'),
trackingNumber: header('Unopost-Tracking-Number'),
});
};Die Kopien beginnen, sobald der Kunde bezahlt. Für einen nie bezahlten Brief kommt also nichts an: Fragen Sie bis dahin get_letter_status ab. Die E-Mails an den Kunden selbst enthalten dieselben Header. Wir können Header hinzufügen, benennen diese aber nie um und entfernen sie nie.
Auffindbarkeit
Agenten finden den Connector auch ohne Hinweis. Er ist in unserem KI-Katalog gelistet, der auf seine MCP-Server-Card verweist.
- KI-Katalog
/.well-known/ai-catalog.json - MCP-Server-Card
/.well-known/mcp/server-card.json
Preise
| Leistung | Preis |
|---|---|
| Standardpost, gefaltet, passt in den Briefkasten: bis zu 12 Seiten | $10 |
| Einschreiben, Standardpost mit Unterschrift bei Zustellung: bis zu 12 Seiten | $16 |
| Express Post, flach im B4-Umschlag: 20 Seiten inklusive, danach $0.30 je weitere Seite | $20 |
| Express Post mit Unterschrift bei Zustellung: 20 Seiten inklusive, danach $0.30 je weitere Seite | $26 |
| Sendungsverfolgung, Farbdruck, beidseitiger oder Schwarz-Weiß-Druck und Heften | Kostenlos |
Jeder Brief hat Sendungsverfolgung. Der Endpreis hängt von der Seitenzahl ab, die feststeht, sobald der Brief gesetzt ist.
Für Briefe, die über den Connector vorbereitet werden, gelten wie für alle anderen unsere Nutzungsbedingungen und unsere Datenschutzerklärung.