Server definition
- Hash
- sha256:54b0269df87e1207769f7300ee3d7a9ea38d06e3466f29a51017d048c64ed838
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "Sendpaper prints and mails real postcards and letters to US addresses via USPS First-Class.\nFlow: confirm the recipient address, return address and wording with the user, then call create_postcard or create_letter.\nThe response contains a preview_url and a checkout_url. Nothing is printed until the order is paid. Two ways to pay:\n1. If you can obtain a Stripe shared payment token (spt_…) for the user, for example through Stripe Link / link-cli, request one for the order's exact amount in USD scoped to network id profile_61VVsCAGnpDAerZieA6VVsC9PDSQ0qYhFOyKjLBTcQYa, then call pay_order. Only do this after the user has approved this purchase and its price.\n2. Otherwise, show the user the preview_url and checkout_url and let them pay there.\nEvery order is reviewed by a person before printing; threatening, harassing, fraudulent or obscene mail is refused and refunded.",
"tools": [
{
"description": "Cancel an order that has not been paid yet. Paid orders can be cancelled by emailing support before they are printed.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"name": "cancel_order",
"outputSchema": null
},
{
"description": "Create a printed letter order (up to 3 pages, 8.5x11, mailed in a #10 envelope) and get a payment link. Mails only after the user pays.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"content": {
"properties": {
"body": {
"description": "Full letter text. Plain text; blank lines separate paragraphs.",
"maxLength": 9000,
"minLength": 1,
"type": "string"
},
"font": {
"default": "serif",
"enum": [
"serif",
"sans"
],
"type": "string"
}
},
"required": [
"body"
],
"type": "object"
},
"customer_email": {
"description": "Where to send the receipt and status updates",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"from": {
"description": "Return address; printed on the mail piece",
"properties": {
"city": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"company": {
"maxLength": 60,
"type": "string"
},
"line1": {
"description": "Street address",
"maxLength": 64,
"minLength": 3,
"type": "string"
},
"line2": {
"description": "Apartment, suite, unit",
"maxLength": 64,
"type": "string"
},
"name": {
"description": "Recipient or sender full name",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"pattern": "^\\d{5}(-\\d{4})?$",
"type": "string"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"type": "object"
},
"idempotency_key": {
"maxLength": 120,
"type": "string"
},
"to": {
"properties": {
"city": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"company": {
"maxLength": 60,
"type": "string"
},
"line1": {
"description": "Street address",
"maxLength": 64,
"minLength": 3,
"type": "string"
},
"line2": {
"description": "Apartment, suite, unit",
"maxLength": 64,
"type": "string"
},
"name": {
"description": "Recipient or sender full name",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"pattern": "^\\d{5}(-\\d{4})?$",
"type": "string"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"type": "object"
}
},
"required": [
"to",
"from",
"content"
],
"type": "object"
},
"name": "create_letter",
"outputSchema": null
},
{
"description": "Create a postcard order (4x6 or 6x9) and get a payment link. The front is an image URL or a big headline; the back carries the message and addresses. Mails only after the user pays.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"content": {
"properties": {
"front_headline": {
"description": "Big text for the front if there is no image, e.g. 'Happy birthday, Sam!'",
"maxLength": 60,
"type": "string"
},
"front_image_url": {
"description": "https URL of a photo or design for the front (JPG or PNG)",
"maxLength": 2000,
"type": "string"
},
"front_theme": {
"default": "ink",
"description": "Color theme for a text-only front",
"enum": [
"ink",
"sky",
"sunset",
"forest"
],
"type": "string"
},
"message": {
"description": "Handwritten-style message on the back",
"maxLength": 600,
"minLength": 1,
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"customer_email": {
"description": "Where to send the receipt and status updates",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"from": {
"description": "Return address; printed on the mail piece",
"properties": {
"city": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"company": {
"maxLength": 60,
"type": "string"
},
"line1": {
"description": "Street address",
"maxLength": 64,
"minLength": 3,
"type": "string"
},
"line2": {
"description": "Apartment, suite, unit",
"maxLength": 64,
"type": "string"
},
"name": {
"description": "Recipient or sender full name",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"pattern": "^\\d{5}(-\\d{4})?$",
"type": "string"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"type": "object"
},
"idempotency_key": {
"maxLength": 120,
"type": "string"
},
"size": {
"default": "4x6",
"enum": [
"4x6",
"6x9"
],
"type": "string"
},
"to": {
"properties": {
"city": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"company": {
"maxLength": 60,
"type": "string"
},
"line1": {
"description": "Street address",
"maxLength": 64,
"minLength": 3,
"type": "string"
},
"line2": {
"description": "Apartment, suite, unit",
"maxLength": 64,
"type": "string"
},
"name": {
"description": "Recipient or sender full name",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"pattern": "^\\d{5}(-\\d{4})?$",
"type": "string"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"type": "object"
}
},
"required": [
"to",
"from",
"content"
],
"type": "object"
},
"name": "create_postcard",
"outputSchema": null
},
{
"description": "Get the status of a postcard or letter order by id (ord_...).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"name": "get_order",
"outputSchema": null
},
{
"description": "List mail products and prices (USD, printing + USPS First-Class postage included, US addresses only).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_pricing",
"outputSchema": null
},
{
"description": "Pay for an unpaid order with a Stripe shared payment token (spt_…) the user approved, scoped to at least the order amount in USD. On success the order is paid and goes to print. Use only after the user approved the purchase.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"order_id": {
"type": "string"
},
"shared_payment_token": {
"description": "Stripe shared payment token, spt_…",
"type": "string"
}
},
"required": [
"order_id",
"shared_payment_token"
],
"type": "object"
},
"name": "pay_order",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:54b0269df87e1207769f7300ee3d7a9ea38d06e3466f29a51017d048c64ed838 | sha256sum