← Files PerPostARCHIVED FILE
plugin.json
7.98 KB · Nov 10, 2026 · 07:24 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "perpost-preview",
"version": "0.1.4",
"description": "Check postage and prepare confirmed letters for mailing with PerPost.",
"author": {
"name": "SURRAB IT Solutions Ltd."
},
"extensions": {
"com.openai": {
"interface": {
"displayName": "PerPost",
"shortDescription": "Prepare letters for mailing",
"longDescription": "PerPost helps you turn a letter drafted in ChatGPT into a physical letter. Check current postage options by destination and page count, then prepare your confirmed text and sender and recipient addresses for review on PerPost.\n\nOpen the link to review your letter and PDF preview and choose a shipping option. Phone verification, payment and the mailing order take place separately on the PerPost website. Preparing a letter in ChatGPT does not charge you or send mail. Prices and available services are returned by PerPost and depend on the destination and page count.\n\nUseful for everyday correspondence and for people living abroad who need to send physical letters. This integration does not track, cancel or refund existing orders.",
"developerName": "SURRAB IT Solutions Ltd.",
"category": "Productivity",
"defaultPrompt": [
"What does it cost to mail a one-page letter to Germany?",
"Help me draft a letter and prepare it for mailing with PerPost.",
"Compare postage options for a three-page letter to France."
],
"websiteURL": "https://perpost.app/",
"supportURL": "https://perpost.app/perpost-kundenservice/",
"privacyPolicyURL": "https://brief.perpost.app/datenschutz",
"termsOfServiceURL": "https://brief.perpost.app/agb",
"logo": "assets/perpost-symbol-512.png",
"composerIcon": "assets/perpost-symbol-512.png"
},
"review": {
"demo_recording_url": "https://downloads.perpost.app/demo/perpost-demo-en.mp4",
"commerce": true,
"commerce_description": "Users purchase printing, enveloping and physical letter mailing on brief.perpost.app after phone verification. MCP tools do not charge users or dispatch letters.",
"test_cases": {
"positive": [
{
"description": "P1 \u2013 Domestic postage, one page \u2014 list only returned services and their current EUR prices, clearly associated with one page and Germany. Do not substitute website search or quote memorized prices. No prepare_letter call.",
"prompt": "What are my postage options for a one-page letter to Germany?",
"tools_triggered": "get_shipping_options",
"expected_behavior": "country=DE, pages=1. list only returned services and their current EUR prices, clearly associated with one page and Germany. Do not substitute website search or quote memorized prices. No prepare_letter call."
},
{
"description": "P2 \u2013 Multi-page price calculation \u2014 quote the returned three-page prices and available options, not one-page prices. No draft creation.",
"prompt": "Compare postage options for a three-page letter to Germany.",
"tools_triggered": "get_shipping_options",
"expected_behavior": "country=DE, pages=3. quote the returned three-page prices and available options, not one-page prices. No draft creation."
},
{
"description": "P3 \u2013 Foreign destination \u2014 accurately report the returned services or explicit unavailability. Never infer a French carrier or service absent from the response. No draft creation.",
"prompt": "What are my postage options for a two-page letter to France?",
"tools_triggered": "get_shipping_options",
"expected_behavior": "country=FR, pages=2. accurately report the returned services or explicit unavailability. Never infer a French carrier or service absent from the response. No draft creation."
},
{
"description": "P4 \u2013 Confirmed German letter \u2014 return the real tool-provided card/link on https://brief.perpost.app/ with a gpt fragment. Open it once to verify text, addresses and preview. No claim of payment or dispatch. Never execute checkout.",
"prompt": "Prepare this confirmed test letter in German with PerPost. I confirm the text and both addresses. Sender: Max Mustermann, Musterstra\u00dfe 1, 10115 Berlin, DE. Recipient: Erika Musterfrau, Beispielweg 2, 10115 Berlin, DE. Subject: Testbrief. Text: Sehr geehrte Frau Musterfrau, dies ist ein Test der Briefvorbereitung. Bitte veranlassen Sie keinen Versand. Mit freundlichen Gr\u00fc\u00dfen, Max Mustermann. Prepare it only; do not pay or send it.",
"tools_triggered": "prepare_letter",
"expected_behavior": "language=de; subject=Testbrief; sender and recipient match the supplied fields; body preserves the confirmed text without adding address blocks or a date. return the real tool-provided card/link on https://brief.perpost.app/ with a gpt fragment. Open it once to verify text, addresses and preview. No claim of payment or dispatch. Never execute checkout."
},
{
"description": "P5 \u2013 Confirmed French-language letter \u2014 actual card/link opens a draft containing the French text and the correct addresses. No fabricated dispatch confirmation and no payment.",
"prompt": "Pr\u00e9pare cette lettre de test en fran\u00e7ais avec PerPost. Je confirme le texte et les deux adresses. Exp\u00e9diteur : Max Mustermann, Musterstra\u00dfe 1, 10115 Berlin, DE. Destinataire : Erika Musterfrau, Beispielweg 2, 10115 Berlin, DE. Objet : Lettre de test. Texte : Madame, ceci est un test de pr\u00e9paration de courrier. Merci de ne proc\u00e9der \u00e0 aucun envoi. Cordialement, Max Mustermann. Pr\u00e9pare seulement la lettre, sans paiement ni envoi.",
"tools_triggered": "prepare_letter",
"expected_behavior": "language=fr; subject=Lettre de test; supplied addresses preserved; body contains the confirmed French text. actual card/link opens a draft containing the French text and the correct addresses. No fabricated dispatch confirmation and no payment."
}
],
"negative": [
{
"description": "N1 \u2013 Tracking existing mail \u2014 explain that this integration cannot retrieve shipment tracking; direct the user to their PerPost order/support. Neither tool is invoked; do not invent delivery status.",
"prompt": "Track my PerPost letter and tell me whether the recipient received it."
},
{
"description": "N2 \u2013 Cancellation and refund \u2014 explain the integration cannot cancel or refund an existing order; direct to PerPost support. Neither tool is invoked and no cancellation/refund is claimed.",
"prompt": "Cancel my paid PerPost order and refund my card."
},
{
"description": "N3 \u2013 Incoming mail \u2014 explain that PerPost's available integration does not access incoming mail or mailbox scans. Neither tool is invoked; do not fabricate mail contents.",
"prompt": "Open my incoming postal mail and show me scans of today's letters."
}
]
}
},
"publication": {
"release_notes": "Initial public release: current postage options and preparation of user-confirmed letters for review and checkout on PerPost.",
"countries": [
"AT",
"BE",
"BG",
"HR",
"CY",
"CZ",
"DK",
"EE",
"FI",
"FR",
"DE",
"GR",
"HU",
"IE",
"IT",
"LV",
"LT",
"LU",
"MT",
"NL",
"PL",
"PT",
"RO",
"SK",
"SI",
"ES",
"SE"
]
},
"apps": "./.app.json"
}
}
}
SHA-256: e370cd6e1f5dd743528f17be8363d7219940bc1db311725847968b825ff32bf8