מחבר MCP
שליחת מכתב בדואר מעוזר ה-AI שלכם
הוסיפו כתובת URL אחת ל-Claude, ל-ChatGPT או לכל לקוח MCP. העוזר שלכם מכין את המסמך המקורי שלכם להדפסה על A4 ולשליחה ב-Australia Post, עם מעקב. אתם בודקים את התצוגה המקדימה ומשלמים באתר שלנו, כך ששום דבר לא נשלח בלעדיכם.
$10 דואר רגיל$20 Express Post
https://unopost.com.au/api/mcpאותם מחירים כמו באתר, כולל GST. בלי חשבון, בלי התחברות ובלי מפתח API.
שולחים מהקוד שלכם? המחבר עובד מכל לקוח MCP או ב-HTTP פשוט, אבל על כל מכתב משלמים באתר שלנו. כדי לשלוח בלי מעורבות של אף אחד, השתמשו ב-x402 API.
חיבור
המחבר הוא שרת MCP מרוחק דרך Streamable HTTP. הוא לא דורש התחברות, ולכן השאירו את האימות כבוי.
- Claude: פתחו את Customize → Connectors, בחרו Add custom connector, תנו לו את השם Unopost והדביקו את כתובת השרת. בצ'אט, הפעילו את Unopost מתפריט הכלים.
- ChatGPT: הוסיפו מחבר מותאם אישית במצב מפתחים עם כתובת השרת וללא אימות, ואז הפעילו אותו בצ'אט.
- Claude Code ולקוחות אחרים: הוסיפו אותו כשרת HTTP מרוחק. כל לקוח שמקבל שרתי MCP מותאמים אישית משתמש באותה כתובת.
claude mcp add --transport http unopost https://unopost.com.au/api/mcp{
"mcpServers": {
"unopost": {
"type": "http",
"url": "https://unopost.com.au/api/mcp"
}
}
}איך מכתב יוצא לדרך
העוזר מאשר את הכתובות עם המשתמש, מכין את המכתב ונותן למשתמש קישור פרטי לבדיקה. שם המשתמש בודק את התצוגה המקדימה, מזין כתובת אימייל ומשלם בכרטיס. התשלום הוא מה ששולח את המכתב.
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.כלים
העוזרים קוראים להם בעצמם. כל תוצאה של prepare_letter, finish_letter_upload ו-get_letter_status כוללת reviewUrl, הדף הפרטי שבו המשתמש בודק את התצוגה המקדימה ומשלם, ו-instructions, שאומרות מה לומר למשתמש בשלב הבא.
get_letter_infoמחירים, מגבלות, זמני שליחה, מסירה, מעקב וביטול.TOOLprepare_letterמקבל את הקובץ שהמשתמש צירף ומתחיל מכתב.TOOLcreate_letter_uploadשומר מכתב ומחזיר קישור להעלאת הקובץ.TOOLfinish_letter_uploadממען מכתב שהועלה ומתחיל לעמד אותו.TOOLget_letter_statusמספר עמודים, מחיר, תצוגה מקדימה, תשלום וסטטוס שליחה.prepare_letter
TOOLprepare_letter
מקבל הפניה לקובץ מהמארח, למשל קובץ מצורף ב-ChatGPT, מוריד את המקור ומתחיל את המכתב. הקובץ אף פעם לא מוקלד מחדש, לא נבנה מחדש ולא נשלח כטקסט. כל קריאה יוצרת מכתב חדש, ולכן העוזר קורא לו פעם אחת.
ארגומנטים
fileobject · חובה- ההפניה של המארח לקובץ המצורף המקורי של המשתמש:
download_urlו-file_id, עםfile_nameו-mime_typeאם הם ידועים. fileNamestring · רשות- שם הקובץ עם הסיומת שלו, למשל
letter.pdf. נדרש רק כאשרfile.file_nameחסר. recipientAddress · חובה- למי המכתב נשלח, כפי שהמשתמש אישר. באוסטרליה, אלא אם
serviceהואinternational. senderAddress · חובה- הכתובת להחזרה של המשתמש, המודפסת על המעטפה. היא יכולה להיות בכל מדינה.
servicestring · רשותexpress(ברירת המחדל), לא מקופל במעטפת B4;regular, מקופל במעטפת DL, עד 12 עמודים; אוinternational, עם חתימה בעת המסירה.signatureboolean · רשות- חתימה בעת המסירה, בתוספת $6 באוסטרליה. דואר רגיל עם חתימה נשלח בדואר רשום.
duplexboolean · רשות- הדפסה דו-צדדית. תצהירים סטטוטוריים (statutory declarations) מודפסים תמיד בצד אחד.
monoboolean · רשות- הדפסה בשחור-לבן. כברירת מחדל צבע נשאר צבעוני, ללא עלות נוספת.
stapleboolean · רשות- הידוק העמודים פעם אחת בפינה השמאלית העליונה. רק למסמכים של עד 12 עמודים; מסמך ארוך יותר נדחה בעת תמחורו. ברירת המחדל היא false.
foldboolean · רשות- קיפול מכתב Express Post או מכתב בינלאומי של עד 12 עמודים לתוך מעטפה קטנה יותר.
preparedForstring · רשות- רק כאשר אתם כותבים בשם עסק לאחד מלקוחותיו: שם העסק, עד 60 תווים. דף התשלום מציג אותו כמידע שהעוזר מסר לנו, לא כמידע שנבדק, ושמות כמו Unopost, Australia Post, בנק או סוכנות ממשלתית נדחים.
notifyEmailstring · רשות- עם
preparedFor: כתובת האימייל של העסק. היא מקבלת עותק של כל אימייל על המכתב, מהתשלום ועד המסירה, והלקוח רואה כתובת זו לפני התשלום. customerEmailstring · רשות- כתובת האימייל של הלקוח המשלם, אם היא בידיכם. דף התשלום נפתח כשהיא כבר ממולאת; אימיילים על המעקב נשלחים אליה.
כתובת
name, line1 ו-suburb הם שדות חובה; שמות ושורות מוגבלים ל-40 תווים. באוסטרליה המיקוד קובע את המדינה. מחוץ לאוסטרליה, הוסיפו country, ולמכתב לסין גם מספר טלפון נייד סיני ב-phone.
namestring · חובה- שמו המלא של האדם.
companystring · רשות- עסק או ארגון.
line1string · חובה- כתובת הרחוב, או תא דואר כגון
"PO Box 123". line2string · רשות- שורת כתובת שנייה.
suburbstring · חובה- הפרבר או העיירה.
statestring · רשות- באוסטרליה אפשר להשמיט: המדינה (state) נקבעת לפי המיקוד. אם היא מצוינת, אחד מהערכים
ACT,NSW,NT,QLD,SA,TAS,VICאוWA, בהתאם למיקוד. מחוץ לאוסטרליה, האזור, אם המדינה משתמשת בו. postcodestring · רשות- ארבע ספרות, חובה באוסטרליה. מחוץ לאוסטרליה, המיקוד, אם המדינה משתמשת בו.
countrystring · רשות- עבור אוסטרליה יש להשמיט. אחרת, שם המדינה באנגלית. הנמען יכול להיות מחוץ לאוסטרליה רק כאשר
serviceהואinternational. phonestring · רשות- רק לנמען בסין: מספר הטלפון הנייד הסיני שלו, ש-China Post דורש.
{
"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. …"
}העלאת הקובץ בעצמכם
TOOLcreate_letter_upload → finish_letter_upload
ללקוחות שיכולים לקרוא את הקובץ של המשתמש ולשלוח בקשת HTTP, אבל המארח שלהם לא מספק הפניות לקבצים. create_letter_upload מקבל את שם הקובץ ומחזיר uploadUrl, שתוקפו פג בתוך 5 דקות. שלחו אליו ב-PUT את הבייטים המקוריים, ואז קראו ל-finish_letter_upload עם ה-jobId ועם אותם שדות מכתב כמו ב-prepare_letter.
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/octet-stream" \
--data-binary @letter.pdfget_letter_status
TOOLget_letter_status
מדווח היכן המכתב נמצא, עם pageCount ו-costCents הסופיים לאחר העימוד. מכתב לוקח בדרך כלל כמה שניות. בדקו לכל היותר פעם ב-5 שניות.
{
"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
המחירים הנוכחיים בסנטים של AUD, העמודים שכל מחיר כולל, מגבלות עמודים וקבצים, ותשובות בשפה פשוטה על זמני שליחה, מסירה, מעקב וביטול. העוזרים משתמשים בו כדי לענות על שאלות לפני שהם מכינים משהו.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_letter_info",
"arguments": {}
}
}מגבלות
pages- עד 80 עמודים למכתב. חלקו מסמך ארוך יותר למכתבים נפרדים.
regular- דואר רגיל, וכל מכתב מקופל, מקבל עד 12 עמודים. מכתבים ארוכים יותר נשלחים ב-Express Post, לא מקופלים.
size- עד 50 MB לקובץ.
files- PDF, Word (.doc, .docx), JPEG או PNG. מסמכי Word מעומדים על A4.
letter- קובץ אחד למכתב דרך המחבר. האתר מקבל עד 10.
rate- 200 מכתבים בשעה מכל מארח AI.
סטטוסים
CREATED- שמור, ממתין לקובץ שלו.
CONVERTING- בעימוד.
CONVERTEDAWAITING_PAYMENT- מוכן לבדיקה ולתשלום של המשתמש ב-
reviewUrl. PAIDPAYINGSENDINGRETRYINGMANUAL_CHECK- שולם. מכתבים ששולמו עד 14:30 לפי שעון מלבורן ביום עסקים נשלחים באותו יום.
POSTEDUNDELIVERED- הופקד ב-Australia Post. מספר המעקב נשלח למשתמש באימייל.
DELIVERED- המעקב של Australia Post מראה שהמכתב נמסר.
FAILED- לא נשלח.
errorמציין את הסיבה, ו-instructionsמה לעשות בשלב הבא. מכתב ששולם מוחזר במלואו. PAYMENT_EXPIRED- לא שולם בזמן. המסמך שלו נמחק.
REFUNDED- בוטל או שלא ניתן היה לשלוח אותו, והסכום הוחזר לכרטיס.
שגיאות
כלי שנכשל מחזיר תוצאת שגיאה שהטקסט שלה, שנכתב עבור העוזר, אומר מה השתבש ומה לעשות. אין קודי שגיאה, ואנחנו עשויים לנסח את ההודעות מחדש, לכן פעלו לפי סוג השגיאה ולא לפי הניסוח המדויק.
כלי אף פעם לא גובה תשלום ולא שולח, כך ששגיאה אף פעם לא עולה למשתמש דבר. אבל ברגע ששגיאה מזכירה עבודה, המכתב הזה קיים: בדקו אותו עם get_letter_status במקום להכין מכתב שני.
arguments- ארגומנט חסר או שגוי: כתובת שהמשתמש צריך לאשר, אפשרויות שלא מתאימות זו לזו, סוג קובץ שאינו נתמך,
preparedForשנדחה או כתובת אימייל לא תקינה. ההודעה מציינת מה. תקנו וקראו שוב; שום דבר לא נוצר. file- לא ניתן היה להביא את הקובץ המקורי מהמארח: תוקף הקישור פג, הוא נדחה, היה איטי מדי או הפנה מחדש יותר מדי פעמים, מצביע על כתובת פרטית, או שהקובץ ריק או גדול מ-50 MB. שום דבר לא נשלח. השיגו הפניה חדשה לקובץ, או השתמשו ב-
create_letter_upload; לעולם אל תשלחו במקומו עותק טקסט. job …- ההודעה מתחילה ב-
job …:כשהמכתב נוצר אבל שלב מאוחר יותר נכשל. קראו ל-get_letter_statusעם מזהה העבודה הזה, ואז ל-finish_letter_uploadאם המכתב עדיין ממתין לכתובות שלו. אל תכינו מכתב נוסף. rate limit- יותר מדי מכתבים ממארח ה-AI הזה בשעה הזו, או שהמחבר הגיע למגבלה היומית שלו. אל תנסו שוב בלולאה: אמרו למשתמש לנסות מאוחר יותר, או לשלוח את המכתב באתר של Unopost.
paused- השהינו לזמן מה קבלת מכתבים חדשים; מכתבים שכבר בטיפול ממשיכים כרגיל. נסו שוב מאוחר יותר.
not found- אין מכתב עם ה-
jobIdהזה, או שתוקף ההעלאה שלו פג אחרי 24 שעות. השתמשו רק במזהה עבודה ש-Unopost החזירה למשתמש הזה, והתחילו מחדש אם התוקף פג. server- משהו השתבש אצלנו:
Unopost API returned HTTP 5xx. המתינו כמה שניות ונסו פעם אחת נוספת. FAILED- מכתב שלא ניתן להדפיס אינו שגיאת כלי:
get_letter_statusמחזירFAILEDעםerrorועםinstructionsברורות, כמו לפצל מסמך של יותר מ-80 עמודים או להסיר סיסמה.
תשלום ופרטיות
- הוא אף פעם לא משלם ולא שולח. המחבר לא מחזיר קישור לתשלום. המשתמש משלם רק באתר, אחרי שראה את התצוגה המקדימה.
- הקובץ המקורי, ללא שינוי. קבצים אף פעם לא עוברים בתוך הודעות MCP, ואף פעם לא מוחלפים בטקסט.
- קישורים פרטיים. מזהה העבודה (job ID) הוא המפתח היחיד למכתב, ולכן העוזרים משתפים אותו ואת
reviewUrlרק עם המשתמש. - ביטול לפני ההדפסה. אפשר לבטל מכתב ששולם ולקבל החזר מלא דרך
reviewUrlעד שנתחיל להדפיס אותו. - נמחקים אחרי השליחה. המסמכים נמחקים ברגע שהמכתב נשלח, ואלה של מכתב שלא שולם אחרי 24 שעות.
Webhooks? השתמשו בתיבת דואר נכנס
למחבר אין webhooks. במקום זאת, תנו לעוזר notifyEmail של תיבת דואר שהתוכנה שלכם קוראת. כל אימייל על מכתב מגיע מ-notifications@unopost.com.au ונושא את פרטי המכתב בכותרות שלו, כך ששירות דואר שמריץ קוד על דואר נכנס, כמו Amazon SES, Postmark, Mailgun או SendGrid, יכול לפעול על כל עדכון ברגע שהוא מגיע.
- כוונו את
notifyEmailלכתובת ששירות הדואר שלכם מקבל, כמוletters@yourbusiness.com.au. - קבלו רק דואר מ-
notifications@unopost.com.auשעובר DMARC, והשליכו את השאר. - קראו את הכותרות, לא את הנוסח, שעשוי להשתנות. השליכו
Unopost-Event-Idשכבר ראיתם.
כותרות
Unopost-Letter-Id- ה-
jobIdשל המכתב, כפי שהמחבר החזיר אותו. Unopost-Event- מה קרה:
receipt,posted,tracking,retrying,delayed,awaiting-collection,delivered,cancelled,failed,refundedאוrefunded-printed. Unopost-Event-Id- זהה עבור אותה הודעה, לא משנה כמה פעמים היא נשלחת, כך שאפשר להשליך כפילויות.
Unopost-Letter-Status- הסטטוס של המכתב אחריו:
TO_POST,POSTED,DELAYED,AWAITING_AT_COLLECTION,DELIVERED,CANCELLEDאוREFUNDED. Unopost-Tracking-Number- מספר המעקב של Australia Post, אחרי שהמכתב נשלח.
Unopost-Copybusinessבעותק שעסק מקבל; לא באימייל של הלקוח עצמו.
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'),
});
};העותקים מתחילים להישלח ברגע שהלקוח משלם, כך ששום דבר לא מגיע עבור מכתב שלא שולם: עד אז בדקו עם get_letter_status. גם האימיילים של הלקוח עצמו נושאים את אותן כותרות. אנחנו עשויים להוסיף כותרות, אבל לעולם לא נשנה את השמות של אלה או נסיר אותן.
גילוי
סוכנים יכולים למצוא את המחבר בלי שיגידו להם. הוא רשום בקטלוג ה-AI שלנו, שמפנה לכרטיס שרת ה-MCP שלו.
- קטלוג AI
/.well-known/ai-catalog.json - כרטיס שרת MCP
/.well-known/mcp/server-card.json
מחירים
| פריט | מחיר |
|---|---|
| דואר רגיל, מקופל כך שייכנס לתיבת הדואר: עד 12 עמודים | $10 |
| דואר רשום, דואר רגיל עם חתימה בעת המסירה: עד 12 עמודים | $16 |
| Express Post, לא מקופל במעטפת B4: 20 עמודים כלולים, ולאחר מכן $0.30 לכל עמוד נוסף | $20 |
| Express Post עם חתימה בעת המסירה: 20 עמודים כלולים, ולאחר מכן $0.30 לכל עמוד נוסף | $26 |
| מעקב, הדפסה בצבע, דו-צדדית או בשחור-לבן, והידוק | חינם |
כל מכתב נשלח עם מעקב. המחיר הסופי תלוי במספר העמודים, שידוע לאחר עימוד המכתב.
מכתבים שהוכנו דרך המחבר כפופים לתנאים ולמדיניות הפרטיות שלנו, כמו כל מכתב אחר.