MCPコネクタ
AIアシスタントから手紙を郵送
Claude、ChatGPT、その他のMCPクライアントにURLを1つ追加するだけです。アシスタントが元の書類を、A4に印刷してAustralia Postで追跡付きで郵送できるよう準備します。プレビューの確認と支払いは当社のウェブサイトで行うため、あなたの確認なしに郵送されることはありません。
$10 普通郵便$20 Express Post
https://unopost.com.au/api/mcpウェブサイトと同じ料金、GST込み。アカウント、ログイン、APIキーは不要です。
ご自身のコードから送りますか?コネクタはどの MCP クライアントからも、通常の HTTP からも使えますが、手紙ごとの支払いは当サイトで行います。人の手を介さずに送るには x402 API をご利用ください。
接続する
このコネクタは、Streamable HTTPで動作するリモートMCPサーバーです。ログインは不要なので、認証はオフのままにしてください。
- Claude:Customize → Connectorsを開き、Add custom connectorを選んで名前をUnopostとし、サーバーURLを貼り付けます。チャットでは、ツールメニューからUnopostをオンにします。
- ChatGPT:開発者モードで、サーバーURLを指定し認証なしでカスタムコネクタを追加してから、チャットでオンにします。
- Claude Codeとその他のクライアント:リモートHTTPサーバーとして追加します。カスタムMCPサーバーを追加できるクライアントなら、どれも同じURLを使います。
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が含まれます。
prepare_letter
TOOLprepare_letter
ChatGPTの添付ファイルなど、ホストからのファイル参照を受け取り、元のファイルをダウンロードして手紙の作成を始めます。ファイルが打ち直されたり、作り直されたり、テキストとして送られたりすることはありません。呼び出すたびに新しい手紙が作成されるため、アシスタントは1回だけ呼び出します。
引数
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 · 任意- 両面印刷します。宣誓書は常に片面印刷です。
monoboolean · 任意- 白黒で印刷します。既定では、カラーは追加料金なしでカラーのまま印刷します。
stapleboolean · 任意- ページの左上を1か所ホチキス留めします。12ページまでの書類のみ対象で、それより長い書類は料金計算時に拒否されます。既定値はfalseです。
foldboolean · 任意- 12ページまでのExpress Postまたは国際郵便の手紙を折りたたみ、小さい封筒に入れます。
preparedForstring · 任意- 事業者のために、その顧客に宛てて書く場合のみ:事業者の名称(60文字まで)。支払いページでは、確認済みとしてではなく、アシスタントから伝えられた内容として表示されます。Unopost、Australia Post、銀行、政府機関などの名称は拒否されます。
notifyEmailstring · 任意preparedForと併せて:事業者のメールアドレス。支払いから配達まで、手紙に関するすべてのメールの写しがこのアドレスに届きます。お客様は支払いの前にこのアドレスを確認できます。customerEmailstring · 任意- わかる場合は、支払いをするお客様のメールアドレス。支払いページには最初から入力された状態で表示され、追跡メールはこのアドレスに届きます。
住所
name、line1、suburbは必須で、名前と各行は40文字までです。オーストラリア国内では、郵便番号から州が決まります。海外の場合はcountryを追加し、中国宛ての手紙ではphoneに中国の携帯電話番号を入れます。
namestring · 必須- 個人の氏名。
companystring · 任意- 会社名または団体名。
line1string · 必須- 番地と通りの名前、または
"PO Box 123"のようなPO Box。 line2string · 任意- 住所の2行目。
suburbstring · 必須- サバーブ(地区)または町の名前。
statestring · 任意- オーストラリアの住所では省略してください。郵便番号から決まります。指定する場合は、
ACT、NSW、NT、QLD、SA、TAS、VIC、WAのいずれかで、郵便番号と一致している必要があります。海外の住所では、その国で使われていれば地域名を指定します。 postcodestring · 任意- 4桁の数字。オーストラリアの住所では必須です。海外の住所では、その国で使われていれば郵便番号を指定します。
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はファイル名を受け取り、5分で失効するuploadUrlを返します。そこに元のバイト列をPUTしてから、jobIdと、prepare_letterと同じ手紙のフィールドを指定してfinish_letter_uploadを呼び出します。
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/octet-stream" \
--data-binary @letter.pdfget_letter_status
TOOLget_letter_status
手紙の状況を報告し、レイアウトが終わると最終的なpageCountとcostCentsを返します。手紙は通常、数秒で終わります。確認は5秒に1回までにしてください。
{
"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- 1通あたり80ページまで。長い書類は別々の手紙に分けてください。
regular- 普通郵便と、折りたたむ手紙はすべて12ページまでです。それより長い手紙は、Express Postで折らずに送ります。
size- 1ファイルあたり50 MBまで。
files- PDF、Word(.doc、.docx)、JPEG、PNG。Word文書はA4にレイアウトされます。
letter- コネクタ経由では手紙1通につき1ファイル。ウェブサイトでは10ファイルまで受け付けます。
rate- AIホストごとに1時間200通まで。
ステータス
CREATED- 確保済みで、ファイルを待っています。
CONVERTING- レイアウト中です。
CONVERTEDAWAITING_PAYMENT- ユーザーが
reviewUrlで確認して支払える状態です。 PAIDPAYINGSENDINGRETRYINGMANUAL_CHECK- 支払い済みです。営業日の午後2時30分(メルボルン時間)までに支払われた手紙は、当日に発送します。
POSTEDUNDELIVERED- Australia Postに差し出しました。追跡番号はユーザーにメールで送信済みです。
DELIVERED- Australia Postの追跡情報で配達済みと表示されています。
FAILED- 発送されませんでした。理由は
errorに、次にすべきことはinstructionsに示されます。支払い済みの手紙は全額返金します。 PAYMENT_EXPIRED- 期限内に支払われませんでした。書類は削除済みです。
REFUNDED- キャンセルされたか発送できなかったため、カードに返金しました。
エラー
失敗したツールは、何が起きたか、どうすればよいかをアシスタント向けに書いたテキスト付きのエラー結果を返します。エラーコードはなく、メッセージの文言は変わることがあるため、正確な文言ではなくエラーの種類に応じて対応してください。
ツールが支払いや郵送を行うことはないため、エラーでユーザーに費用が発生することはありません。ただし、エラーにジョブが示されている場合、その手紙は作成済みです。2通目を準備せず、get_letter_statusで状態を確認してください。
arguments- 引数が不足しているか誤っています。ユーザーに確認すべき住所、両立しないオプション、未対応のファイル形式、拒否された
preparedFor、不正な形式のメールアドレスなどです。メッセージに該当箇所が示されます。修正して再度呼び出してください。何も作成されていません。 file- ホストから元のファイルを取得できませんでした。リンクの期限切れ、拒否、応答が遅すぎる、リダイレクトが多すぎる、非公開のアドレスを指している、またはファイルが空か50 MBを超えている場合です。何も郵送されていません。新しいファイル参照を取得するか、
create_letter_uploadを使ってください。代わりにテキストのコピーを送ることは絶対にしないでください。 job …- 手紙は作成されたものの後の手順で失敗した場合、メッセージは
job …:で始まります。そのジョブIDでget_letter_statusを呼び出し、まだ住所を待っている場合はfinish_letter_uploadを呼び出してください。別の手紙を準備しないでください。 rate limit- このAIホストからの1時間あたりの手紙が多すぎるか、コネクタの1日の上限に達しました。ループで再試行せず、後で試すか、Unopostのウェブサイトから送るようユーザーに伝えてください。
paused- 新しい手紙の受け付けを一時停止しています。すでに処理中の手紙はそのまま進みます。後でもう一度お試しください。
not found- その
jobIdの手紙はないか、アップロードが24時間で期限切れになりました。Unopostがこのユーザーに返したジョブIDだけを使い、期限切れの場合は最初からやり直してください。 server- 当社側で問題が発生しました:
Unopost API returned HTTP 5xx。数秒待ってから、もう一度だけお試しください。 FAILED- 印刷できない手紙はツールのエラーではありません。
get_letter_statusはFAILEDを、errorとわかりやすいinstructionsとともに返します。たとえば、80ページを超える書類を分割する、パスワードを解除する、などです。
支払いとプライバシー
- 支払いも郵送も勝手に行いません。コネクタは支払いリンクを返しません。ユーザーはプレビューを見た後、ウェブサイトでのみ支払います。
- 元のファイルをそのまま。ファイルがMCPメッセージに含まれてやり取りされることはなく、テキストに置き換えられることもありません。
- 非公開のリンク。ジョブIDが手紙にアクセスする唯一の鍵なので、アシスタントはジョブIDと
reviewUrlをユーザー以外には伝えません。 - 印刷前ならキャンセル可能。支払い済みの手紙は、当社が印刷を始めるまで
reviewUrlからキャンセルでき、全額返金されます。 - 発送後に削除。書類は手紙の発送後に削除し、未払いの手紙の書類は24時間後に削除します。
Webhookの代わりに受信箱を
コネクタにはWebhookがありません。代わりに、お使いのソフトウェアが読み取る受信箱の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-Copy- 事業者に届く写しでは
business。お客様自身に届くメールには含まれません。
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ページまで込み、以降1ページごとに$0.30 | $20 |
| Express Post、配達時の署名付き:20ページまで込み、以降1ページごとに$0.30 | $26 |
| 追跡、カラー印刷、両面印刷、白黒印刷、ホチキス留め | 無料 |
すべての手紙は追跡付きです。最終的な料金はページ数によって決まり、ページ数は手紙のレイアウト後に確定します。
コネクタを通じて準備された手紙にも、他の手紙と同様に当社の利用規約とプライバシーポリシーが適用されます。