MCP bağlayıcısı
Yapay zekâ asistanınızdan mektup postalayın
Claude'a, ChatGPT'ye veya herhangi bir MCP istemcisine tek bir URL ekleyin. Asistanınız orijinal belgenizi A4'e basılmak ve Australia Post ile takipli olarak postalanmak üzere hazırlar. Önizlemeyi kontrol edip ödemeyi web sitemizde siz yaparsınız; yani siz olmadan hiçbir şey postalanmaz.
$10 Normal posta$20 Express Post
https://unopost.com.au/api/mcpWeb sitesindekiyle aynı fiyatlar, GST dahil. Hesap, oturum açma veya API anahtarı yok.
Kendi kodunuzdan mı gönderiyorsunuz? Bağlayıcı her MCP istemcisinden veya düz HTTP ile çalışır, ancak her mektubun ödemesi web sitemizde yapılır. Kimsenin müdahalesi olmadan göndermek için x402 API'yi kullanın.
Bağlayın
Bağlayıcı, Streamable HTTP üzerinden çalışan uzak bir MCP sunucusudur. Oturum açma gerektirmez, bu yüzden kimlik doğrulamayı kapalı bırakın.
- Claude: Customize → Connectors'ı açın, Add custom connector'ı seçin, adını Unopost koyun ve sunucu URL'sini yapıştırın. Bir sohbette Unopost'u araçlar menüsünden açın.
- ChatGPT: geliştirici modunda, sunucu URL'siyle ve kimlik doğrulama olmadan özel bir bağlayıcı ekleyin, ardından sohbette açın.
- Claude Code ve diğer istemciler: uzak bir HTTP sunucusu olarak ekleyin. Özel MCP sunucularını kabul eden her istemci aynı URL'yi kullanır.
claude mcp add --transport http unopost https://unopost.com.au/api/mcp{
"mcpServers": {
"unopost": {
"type": "http",
"url": "https://unopost.com.au/api/mcp"
}
}
}Bir mektup nasıl gider
Asistan adresleri kullanıcıyla teyit eder, mektubu hazırlar ve kullanıcıya özel bir inceleme bağlantısı verir. Kullanıcı önizlemeyi orada kontrol eder, bir e-posta adresi girer ve kartla öder. Mektubu postalatan şey ödemedir.
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.Araçlar
Asistanlar bunları kendileri çağırır. prepare_letter, finish_letter_upload ve get_letter_status araçlarının her sonucunda, kullanıcının önizlemeyi kontrol edip ödediği özel sayfa olan reviewUrl ve kullanıcıya sırada ne söyleneceğini belirten instructions bulunur.
get_letter_infoFiyatlar, sınırlar, postalama saatleri, teslimat, takip ve iptal.TOOLprepare_letterKullanıcının eklediği dosyayı alır ve bir mektup başlatır.TOOLcreate_letter_uploadBir mektup ayırır ve dosyanın yükleneceği bir bağlantı döndürür.TOOLfinish_letter_uploadYüklenen mektubu adresler ve yerleşimine başlar.TOOLget_letter_statusSayfa sayısı, fiyat, önizleme, ödeme ve postalama durumu.prepare_letter
TOOLprepare_letter
Ana makineden (host), örneğin ChatGPT'deki bir ekten, bir dosya referansı alır, orijinali indirir ve mektubu başlatır. Dosya hiçbir zaman yeniden yazılmaz, yeniden oluşturulmaz veya metin olarak gönderilmez. Her çağrı yeni bir mektup oluşturur, bu yüzden asistan onu bir kez çağırır.
Bağımsız değişkenler
fileobject · zorunlu- Ana makinenin kullanıcının orijinal ekine ait referansı:
download_urlvefile_id, biliniyorsafile_namevemime_typeile. fileNamestring · isteğe bağlı- Uzantısıyla birlikte dosya adı, örneğin
letter.pdf. Yalnızcafile.file_nameyoksa gerekir. recipientAddress · zorunlu- Mektubun kime gideceği, kullanıcının teyit ettiği şekliyle.
serviceinternationalolmadıkça Avustralya'dadır. senderAddress · zorunlu- Kullanıcının zarfa basılan iade adresi. Herhangi bir ülkede olabilir.
servicestring · isteğe bağlıexpress(varsayılan), B4 zarfta düz;regular, DL zarfa katlanmış, en fazla 12 sayfa; veyainternational, teslimatta imzalı.signatureboolean · isteğe bağlı- Teslimatta imza, Avustralya'da ek $6. İmzalı Normal posta, Taahhütlü posta olarak gider.
duplexboolean · isteğe bağlı- Çift taraflı basar. Statutory declaration belgeleri (yasal beyannameler) her zaman tek taraflı basılır.
monoboolean · isteğe bağlı- Siyah beyaz basar. Varsayılan olarak renkler renkli kalır, ek ücret olmadan.
stapleboolean · isteğe bağlı- Sayfaları sol üst köşeden bir kez zımbalar. Yalnızca en fazla 12 sayfalık belgeler için; daha uzun bir belge fiyatlandırılırken reddedilir. Varsayılan değer false.
foldboolean · isteğe bağlı- En fazla 12 sayfalık bir Express Post veya uluslararası mektubu daha küçük bir zarfa katlar.
preparedForstring · isteğe bağlı- Yalnızca bir işletme adına onun müşterilerinden birine yazdığınızda: işletmenin adı, en fazla 60 karakter. Ödeme sayfası bunu doğrulanmış olarak değil, asistanın bize söylediği bilgi olarak gösterir; Unopost, Australia Post, bir banka veya bir devlet kurumu gibi adlar reddedilir.
notifyEmailstring · isteğe bağlıpreparedForile birlikte: işletmenin e-posta adresi. Ödemeden teslimata kadar mektupla ilgili her e-postanın bir kopyası bu adrese gider ve müşteri bu adresi ödeme yapmadan önce görür.customerEmailstring · isteğe bağlı- Varsa, ödemeyi yapan müşterinin e-posta adresi. Ödeme sayfası bu adres doldurulmuş olarak açılır; takip e-postaları bu adrese gider.
Adres
name, line1 ve suburb zorunludur; adlar ve satırlar en fazla 40 karakter olabilir. Avustralya'da eyaleti posta kodu belirler. Yurt dışı için country ekleyin; Çin'e giden bir mektupta phone alanına bir Çin cep telefonu numarası ekleyin.
namestring · zorunlu- Kişinin tam adı.
companystring · isteğe bağlı- Bir işletme veya kuruluş.
line1string · zorunlu- Sokak adresi veya
"PO Box 123"gibi bir PO Box. line2string · isteğe bağlı- İkinci adres satırı.
suburbstring · zorunlu- Semt (suburb) veya kasaba.
statestring · isteğe bağlı- Avustralya için boş bırakın: posta kodu eyaleti belirler. Verilirse, posta koduyla eşleşen
ACT,NSW,NT,QLD,SA,TAS,VICveyaWAdeğerlerinden biri olmalıdır. Yurt dışında, ülke kullanıyorsa bölge. postcodestring · isteğe bağlı- Dört hane, Avustralya'da zorunludur. Yurt dışında, ülke kullanıyorsa posta kodu.
countrystring · isteğe bağlı- Avustralya için boş bırakın. Aksi hâlde ülkenin İngilizce adı. Alıcı yalnızca
serviceinternationalolduğunda yurt dışında olabilir. phonestring · isteğe bağlı- Yalnızca Çin'deki bir alıcı için: China Post'un istediği Çin cep telefonu numarası.
{
"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. …"
}Dosyayı kendiniz yükleyin
TOOLcreate_letter_upload → finish_letter_upload
Kullanıcının dosyasını okuyup HTTP isteği yapabilen, ancak ana makinesinde dosya referansı olmayan istemciler için. create_letter_upload dosya adını alır ve 5 dakika içinde süresi dolan uploadUrl döndürür. Orijinal baytları buraya PUT ile gönderin, ardından jobId ve prepare_letter ile aynı mektup alanlarıyla finish_letter_upload çağrısını yapın.
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/octet-stream" \
--data-binary @letter.pdfget_letter_status
TOOLget_letter_status
Mektubun hangi aşamada olduğunu, yerleşimi tamamlandığında son pageCount ve costCents değerleriyle bildirir. Bir mektup genellikle birkaç saniye sürer. En fazla 5 saniyede bir kontrol edin.
{
"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 sent cinsinden güncel fiyatlar, her fiyatın kapsadığı sayfalar, sayfa ve dosya sınırları ile postalama saatleri, teslimat, takip ve iptal hakkında sade dilde yanıtlar. Asistanlar bunu, herhangi bir şey hazırlamadan önce soruları yanıtlamak için kullanır.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_letter_info",
"arguments": {}
}
}Sınırlar
pages- Mektup başına en fazla 80 sayfa. Daha uzun bir belgeyi ayrı mektuplara bölün.
regular- Normal posta ve katlanan her mektup en fazla 12 sayfa alır. Daha uzun mektuplar Express Post ile, düz olarak gider.
size- Dosya başına en fazla 50 MB.
files- PDF, Word (.doc, .docx), JPEG veya PNG. Word belgeleri A4'e yerleştirilir.
letter- Bağlayıcı üzerinden mektup başına bir dosya. Web sitesi en fazla 10 dosya alır.
rate- Her yapay zekâ ana makinesinden saatte 200 mektup.
Durumlar
CREATED- Ayrıldı, dosyasını bekliyor.
CONVERTING- Yerleşimi yapılıyor.
CONVERTEDAWAITING_PAYMENT- Kullanıcının
reviewUrladresinde kontrol edip ödemesine hazır. PAIDPAYINGSENDINGRETRYINGMANUAL_CHECK- Ödendi. Bir iş gününde Melbourne saatiyle 14:30'a kadar ödenen mektuplar aynı gün postalanır.
POSTEDUNDELIVERED- Australia Post'a teslim edildi. Takip numarası kullanıcıya e-postayla gönderildi.
DELIVERED- Australia Post'un takip bilgisi teslim edildiğini gösteriyor.
FAILED- Postalanmadı.
errornedenini,instructionsise sırada ne yapılacağını belirtir. Ödenmiş bir mektubun ücreti tamamen iade edilir. PAYMENT_EXPIRED- Zamanında ödenmedi. Belgesi silindi.
REFUNDED- İptal edildi veya postalanamadı ve ücreti karta iade edildi.
Hatalar
Başarısız olan bir araç, metni asistan için yazılmış ve neyin yanlış gittiğini ve ne yapılacağını söyleyen bir hata sonucu döndürür. Hata kodu yoktur ve mesajları yeniden ifade edebiliriz; bu yüzden tam kelimelere göre değil, hatanın türüne göre hareket edin.
Bir araç asla ücret almaz veya postalamaz; bu yüzden bir hata kullanıcıya asla bir maliyet çıkarmaz. Ancak bir hata bir işi andığında o mektup vardır: ikinci bir mektup hazırlamak yerine onu get_letter_status ile kontrol edin.
arguments- Bir argüman eksik veya hatalı: kullanıcının teyit etmesi gereken bir adres, birlikte kullanılamayan seçenekler, desteklenmeyen bir dosya türü, reddedilen bir
preparedForveya hatalı biçimlendirilmiş bir e-posta. Mesaj hangisi olduğunu belirtir. Düzeltin ve yeniden çağırın; hiçbir şey oluşturulmadı. file- Orijinal dosya ana makineden alınamadı: bağlantının süresi doldu, bağlantı reddedildi, çok yavaştı veya çok fazla yönlendirme yaptı, özel bir adresi gösteriyor ya da dosya boş veya 50 MB'tan büyük. Hiçbir şey postalanmadı. Yeni bir dosya referansı alın veya
create_letter_uploadkullanın; asla onun yerine metin kopyası göndermeyin. job …- Mektup oluşturulduğu hâlde sonraki bir adım başarısız olduğunda mesaj
job …:ile başlar. Bu iş kimliğiyleget_letter_statusçağrısı yapın, mektup hâlâ adreslerini bekliyorsa ardındanfinish_letter_uploadçağrısı yapın. Başka bir mektup hazırlamayın. rate limit- Bu saat içinde bu yapay zekâ ana makinesinden çok fazla mektup geldi veya bağlayıcının günlük sınırına ulaşıldı. Döngü içinde yeniden denemeyin: kullanıcıya daha sonra denemesini veya mektubu Unopost web sitesinden göndermesini söyleyin.
paused- Yeni mektupları bir süreliğine durdurduk; yolda olan mektuplar devam ediyor. Daha sonra yeniden deneyin.
not found- Bu
jobIddeğerine sahip bir mektup yok ya da yüklemesinin süresi 24 saat sonra doldu. Yalnızca Unopost'un bu kullanıcıya döndürdüğü bir iş kimliğini kullanın ve süresi dolduysa baştan başlayın. server- Bizim tarafımızda bir sorun oluştu:
Unopost API returned HTTP 5xx. Birkaç saniye bekleyin ve bir kez daha deneyin. FAILED- Basılamayan bir mektup bir araç hatası değildir:
get_letter_status,errorve anlaşılırinstructionsile birlikteFAILEDdöndürür; örneğin 80 sayfayı aşan bir belgeyi bölmek veya bir parolayı kaldırmak gibi.
Ödeme ve gizlilik
- Asla ödeme yapmaz veya postalamaz. Bağlayıcı hiçbir ödeme bağlantısı döndürmez. Kullanıcı yalnızca web sitesinde, önizlemeyi gördükten sonra öder.
- Orijinal dosya, değiştirilmeden. Dosyalar hiçbir zaman MCP mesajlarının içinde taşınmaz ve hiçbir zaman metinle değiştirilmez.
- Özel bağlantılar. Bir iş kimliği (job ID) bir mektubun tek anahtarıdır; bu yüzden asistanlar onu ve
reviewUrladresini yalnızca kullanıcıyla paylaşır. - Baskıdan önce iptal edin. Ödenmiş bir mektup, biz basmaya başlayana kadar
reviewUrlüzerinden tam iadeyle iptal edilebilir. - Postalandıktan sonra silinir. Belgeler mektup postalanınca, ödenmemiş bir mektubunkiler ise 24 saat sonra silinir.
Webhook mu? Bir gelen kutusu kullanın
Bağlayıcının webhook'u yoktur. Bunun yerine asistana, yazılımınızın okuduğu bir gelen kutusunu notifyEmail olarak verin. Bir mektupla ilgili her e-posta notifications@unopost.com.au adresinden gelir ve mektubu başlıklarında taşır; böylece gelen postada kod çalıştıran bir e-posta hizmeti, örneğin Amazon SES, Postmark, Mailgun veya SendGrid, her güncellemeye geldiği anda işlem yapabilir.
notifyEmaildeğerini e-posta hizmetinizin aldığı bir adrese yönlendirin; örneğinletters@yourbusiness.com.au.- Yalnızca
notifications@unopost.com.auadresinden gelen ve DMARC doğrulamasını geçen postaları kabul edin, gerisini atın. - Değişebilecek metni değil, başlıkları okuyun. Daha önce gördüğünüz bir
Unopost-Event-Iddeğerini atın.
Başlıklar
Unopost-Letter-Id- Mektubun, bağlayıcının döndürdüğü haliyle
jobIddeğeri. Unopost-Event- Ne olduğu:
receipt,posted,tracking,retrying,delayed,awaiting-collection,delivered,cancelled,failed,refundedveyarefunded-printed. Unopost-Event-Id- Aynı haber kaç kez gönderilirse gönderilsin aynıdır; böylece tekrarları atabilirsiniz.
Unopost-Letter-Status- Mektubun bu olaydan sonraki durumu:
TO_POST,POSTED,DELAYED,AWAITING_AT_COLLECTION,DELIVERED,CANCELLEDveyaREFUNDED. Unopost-Tracking-Number- Mektup postalandıktan sonra Australia Post takip numarası.
Unopost-Copy- Bir işletmenin aldığı kopyada
business; müşterinin kendi e-postasında yer almaz.
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'),
});
};Kopyalar müşteri ödeme yaptığında başlar; yani hiç ödenmeyen bir mektup için hiçbir şey gelmez: o zamana kadar get_letter_status ile kontrol edin. Müşterinin kendi e-postaları da aynı başlıkları taşır. Yeni başlıklar ekleyebiliriz, ancak bunları asla yeniden adlandırmaz veya kaldırmayız.
Keşif
Ajanlar bağlayıcıyı kendilerine söylenmeden bulabilir. Bağlayıcı, MCP sunucu kartına yönlendiren yapay zekâ kataloğumuzda listelenir.
- Yapay zekâ kataloğu
/.well-known/ai-catalog.json - MCP sunucu kartı
/.well-known/mcp/server-card.json
Fiyatlar
| Kalem | Fiyat |
|---|---|
| Normal posta, posta kutusuna sığacak şekilde katlanmış: en fazla 12 sayfa | $10 |
| Taahhütlü posta, teslimatta imzalı Normal posta: en fazla 12 sayfa | $16 |
| Express Post, B4 zarfta düz: 20 sayfa dahil, sonraki her sayfa için $0.30 | $20 |
| Teslimatta imzalı Express Post: 20 sayfa dahil, sonraki her sayfa için $0.30 | $26 |
| Takip, renkli, çift taraflı veya siyah beyaz baskı ve zımbalama | Ücretsiz |
Her mektup takiplidir. Son fiyat, mektubun yerleşimi yapıldığında belli olan sayfa sayısına bağlıdır.
Bağlayıcı üzerinden hazırlanan mektuplar da diğerleri gibi Koşullarımıza ve Gizlilik Politikamıza tabidir.