Sendpaper
Your agent sends real postcards and letters. You approve; we print and mail.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"sendpaper": {
"url": "https://sendmypaper.com/mcp"
}
}
}リモートエンドポイント
https://sendmypaper.com/mcpstreamable-httpできること
ツール一覧
ツール(6)
🟢get_pricing
List mail products and prices (USD, printing + USPS First-Class postage included, US addresses only).
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"cents": {
"type": "number"
},
"price": {
"type": "string",
"description": "Display price, e.g. $2.99"
}
},
"required": [
"id",
"name",
"cents",
"price"
],
"additionalProperties": {}
}
},
"payment": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
}
},
"currency": {
"type": "string"
},
"stripe_network_id": {
"description": "Scope Stripe shared payment tokens to this network id",
"type": "string"
}
},
"required": [
"options",
"currency"
],
"additionalProperties": {}
},
"first_order_discount": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"description": {
"type": "string"
}
},
"required": [
"amount_cents",
"description"
],
"additionalProperties": false
},
"letter_photo": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"description": {
"type": "string"
}
},
"required": [
"amount_cents",
"description"
],
"additionalProperties": false,
"description": "Surcharge for a letter with a photo (prints in color)"
}
},
"required": [
"products",
"payment",
"first_order_discount",
"letter_photo"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡create_postcard(size, to, from, customer_email, idempotency_key, ...)
Create a postcard order (4x6, 6x9 or 6x11) 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.
入力スキーマ
{
"type": "object",
"properties": {
"size": {
"default": "4x6",
"description": "Postcard size: 4x6, 6x9 or 6x11 (see get_pricing for prices)",
"type": "string",
"enum": [
"4x6",
"6x9",
"6x11"
]
},
"to": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Recipient or sender full name"
},
"company": {
"description": "Company name, printed under the person's name",
"type": "string",
"maxLength": 60
},
"line1": {
"type": "string",
"minLength": 3,
"maxLength": 64,
"description": "Street address"
},
"line2": {
"description": "Apartment, suite, unit",
"type": "string",
"maxLength": 64
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 40,
"description": "City"
},
"state": {
"description": "Two-letter US state code, e.g. NY",
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^\\d{5}(-\\d{4})?$",
"description": "5-digit US ZIP code, or ZIP+4"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"description": "Recipient's US mailing address"
},
"from": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Recipient or sender full name"
},
"company": {
"description": "Company name, printed under the person's name",
"type": "string",
"maxLength": 60
},
"line1": {
"type": "string",
"minLength": 3,
"maxLength": 64,
"description": "Street address"
},
"line2": {
"description": "Apartment, suite, unit",
"type": "string",
"maxLength": 64
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 40,
"description": "City"
},
"state": {
"description": "Two-letter US state code, e.g. NY",
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^\\d{5}(-\\d{4})?$",
"description": "5-digit US ZIP code, or ZIP+4"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"description": "Return address; printed on the mail piece"
},
"customer_email": {
"description": "Where to send the receipt and status updates",
"type": "string",
"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,}$"
},
"idempotency_key": {
"description": "Any unique string; retrying with the same key returns the original order instead of creating a duplicate",
"type": "string",
"maxLength": 120
},
"content": {
"type": "object",
"properties": {
"front_image_url": {
"description": "https URL of a photo or design for the front (JPG or PNG)",
"type": "string",
"maxLength": 2000
},
"front_headline": {
"description": "Big text for the front if there is no image, e.g. 'Happy birthday, Sam!'",
"type": "string",
"maxLength": 60
},
"front_theme": {
"default": "ink",
"description": "Color theme for a text-only front",
"type": "string",
"enum": [
"ink",
"sky",
"sunset",
"forest"
]
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Handwritten-style message on the back"
}
},
"required": [
"message"
],
"description": "Front (an image URL or a headline) and the message on the back"
}
},
"required": [
"to",
"from",
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id, ord_…"
},
"object": {
"type": "string",
"enum": [
"postcard",
"letter"
]
},
"product": {
"type": "string",
"description": "Product id, e.g. postcard_4x6 or letter_certified"
},
"product_name": {
"type": "string"
},
"certified": {
"type": "string",
"description": "none, certified or certified_return_receipt"
},
"status": {
"type": "string",
"description": "awaiting_payment, paid, printing, mailed, cancelled or refunded"
},
"status_detail": {
"type": "string",
"description": "Plain-English status to show the user"
},
"price": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [
"amount_cents",
"currency",
"display"
],
"additionalProperties": false
},
"checkout_url": {
"description": "Where the user pays; null once paid or cancelled",
"type": [
"string",
"null"
]
},
"order_url": {
"type": "string",
"description": "Order status page"
},
"preview_url": {
"type": "string",
"description": "Exact print preview"
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "USPS tracking, for Certified Mail once printed"
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"display": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"amount_cents",
"display",
"reason"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "First-order discount, already taken off price; null when none applies"
}
},
"required": [
"id",
"object",
"product",
"product_name",
"certified",
"status",
"status_detail",
"price",
"checkout_url",
"order_url",
"preview_url",
"tracking",
"discount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡create_letter(to, from, customer_email, idempotency_key, content, ...)
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. Set certified to "certified" ($14.99) for USPS Certified Mail with tracking and proof of delivery, or "certified_return_receipt" ($19.99) to add the recipient's signature; use these when the user needs proof (landlord notices, legal or tax replies, disputes). Regular letters are $4.99.
入力スキーマ
{
"type": "object",
"properties": {
"to": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Recipient or sender full name"
},
"company": {
"description": "Company name, printed under the person's name",
"type": "string",
"maxLength": 60
},
"line1": {
"type": "string",
"minLength": 3,
"maxLength": 64,
"description": "Street address"
},
"line2": {
"description": "Apartment, suite, unit",
"type": "string",
"maxLength": 64
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 40,
"description": "City"
},
"state": {
"description": "Two-letter US state code, e.g. NY",
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^\\d{5}(-\\d{4})?$",
"description": "5-digit US ZIP code, or ZIP+4"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"description": "Recipient's US mailing address"
},
"from": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Recipient or sender full name"
},
"company": {
"description": "Company name, printed under the person's name",
"type": "string",
"maxLength": 60
},
"line1": {
"type": "string",
"minLength": 3,
"maxLength": 64,
"description": "Street address"
},
"line2": {
"description": "Apartment, suite, unit",
"type": "string",
"maxLength": 64
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 40,
"description": "City"
},
"state": {
"description": "Two-letter US state code, e.g. NY",
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^\\d{5}(-\\d{4})?$",
"description": "5-digit US ZIP code, or ZIP+4"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"description": "Return address; printed on the mail piece"
},
"customer_email": {
"description": "Where to send the receipt and status updates",
"type": "string",
"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,}$"
},
"idempotency_key": {
"description": "Any unique string; retrying with the same key returns the original order instead of creating a duplicate",
"type": "string",
"maxLength": 120
},
"content": {
"type": "object",
"properties": {
"body": {
"type": "string",
"minLength": 1,
"maxLength": 9000,
"description": "Full letter text. Plain text; blank lines separate paragraphs."
},
"font": {
"default": "serif",
"description": "Typeface for the letter body",
"type": "string",
"enum": [
"serif",
"sans"
]
},
"image_url": {
"description": "Optional photo printed at the top of the letter (https JPG or PNG). A letter with a photo prints in color, for a small surcharge (see get_pricing).",
"type": "string",
"maxLength": 2000
}
},
"required": [
"body"
],
"description": "The letter text and font"
},
"certified": {
"default": "none",
"description": "USPS Certified Mail. \"certified\" ($14.99): tracking number and proof of mailing and delivery. \"certified_return_receipt\" ($19.99): adds the recipient's signature as proof of delivery, which landlords, courts and agencies often require. \"none\" ($4.99): regular First-Class.",
"type": "string",
"enum": [
"none",
"certified",
"certified_return_receipt"
]
}
},
"required": [
"to",
"from",
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id, ord_…"
},
"object": {
"type": "string",
"enum": [
"postcard",
"letter"
]
},
"product": {
"type": "string",
"description": "Product id, e.g. postcard_4x6 or letter_certified"
},
"product_name": {
"type": "string"
},
"certified": {
"type": "string",
"description": "none, certified or certified_return_receipt"
},
"status": {
"type": "string",
"description": "awaiting_payment, paid, printing, mailed, cancelled or refunded"
},
"status_detail": {
"type": "string",
"description": "Plain-English status to show the user"
},
"price": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [
"amount_cents",
"currency",
"display"
],
"additionalProperties": false
},
"checkout_url": {
"description": "Where the user pays; null once paid or cancelled",
"type": [
"string",
"null"
]
},
"order_url": {
"type": "string",
"description": "Order status page"
},
"preview_url": {
"type": "string",
"description": "Exact print preview"
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "USPS tracking, for Certified Mail once printed"
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"display": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"amount_cents",
"display",
"reason"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "First-order discount, already taken off price; null when none applies"
}
},
"required": [
"id",
"object",
"product",
"product_name",
"certified",
"status",
"status_detail",
"price",
"checkout_url",
"order_url",
"preview_url",
"tracking",
"discount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🔴pay_order(order_id, shared_payment_token)
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.
入力スキーマ
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order id from create_postcard or create_letter, ord_…"
},
"shared_payment_token": {
"type": "string",
"description": "Stripe shared payment token, spt_…"
}
},
"required": [
"order_id",
"shared_payment_token"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id, ord_…"
},
"object": {
"type": "string",
"enum": [
"postcard",
"letter"
]
},
"product": {
"type": "string",
"description": "Product id, e.g. postcard_4x6 or letter_certified"
},
"product_name": {
"type": "string"
},
"certified": {
"type": "string",
"description": "none, certified or certified_return_receipt"
},
"status": {
"type": "string",
"description": "awaiting_payment, paid, printing, mailed, cancelled or refunded"
},
"status_detail": {
"type": "string",
"description": "Plain-English status to show the user"
},
"price": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [
"amount_cents",
"currency",
"display"
],
"additionalProperties": false
},
"checkout_url": {
"description": "Where the user pays; null once paid or cancelled",
"type": [
"string",
"null"
]
},
"order_url": {
"type": "string",
"description": "Order status page"
},
"preview_url": {
"type": "string",
"description": "Exact print preview"
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "USPS tracking, for Certified Mail once printed"
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"display": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"amount_cents",
"display",
"reason"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "First-order discount, already taken off price; null when none applies"
}
},
"required": [
"id",
"object",
"product",
"product_name",
"certified",
"status",
"status_detail",
"price",
"checkout_url",
"order_url",
"preview_url",
"tracking",
"discount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢get_order(order_id)
Get the status of a postcard or letter order by id (ord_...).
入力スキーマ
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order id, ord_…"
}
},
"required": [
"order_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id, ord_…"
},
"object": {
"type": "string",
"enum": [
"postcard",
"letter"
]
},
"product": {
"type": "string",
"description": "Product id, e.g. postcard_4x6 or letter_certified"
},
"product_name": {
"type": "string"
},
"certified": {
"type": "string",
"description": "none, certified or certified_return_receipt"
},
"status": {
"type": "string",
"description": "awaiting_payment, paid, printing, mailed, cancelled or refunded"
},
"status_detail": {
"type": "string",
"description": "Plain-English status to show the user"
},
"price": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [
"amount_cents",
"currency",
"display"
],
"additionalProperties": false
},
"checkout_url": {
"description": "Where the user pays; null once paid or cancelled",
"type": [
"string",
"null"
]
},
"order_url": {
"type": "string",
"description": "Order status page"
},
"preview_url": {
"type": "string",
"description": "Exact print preview"
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "USPS tracking, for Certified Mail once printed"
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"display": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"amount_cents",
"display",
"reason"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "First-order discount, already taken off price; null when none applies"
}
},
"required": [
"id",
"object",
"product",
"product_name",
"certified",
"status",
"status_detail",
"price",
"checkout_url",
"order_url",
"preview_url",
"tracking",
"discount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🔴cancel_order(order_id)
Cancel an order that has not been paid yet. Paid orders can be cancelled by emailing support before they are printed.
入力スキーマ
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order id, ord_…"
}
},
"required": [
"order_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id, ord_…"
},
"object": {
"type": "string",
"enum": [
"postcard",
"letter"
]
},
"product": {
"type": "string",
"description": "Product id, e.g. postcard_4x6 or letter_certified"
},
"product_name": {
"type": "string"
},
"certified": {
"type": "string",
"description": "none, certified or certified_return_receipt"
},
"status": {
"type": "string",
"description": "awaiting_payment, paid, printing, mailed, cancelled or refunded"
},
"status_detail": {
"type": "string",
"description": "Plain-English status to show the user"
},
"price": {
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [
"amount_cents",
"currency",
"display"
],
"additionalProperties": false
},
"checkout_url": {
"description": "Where the user pays; null once paid or cancelled",
"type": [
"string",
"null"
]
},
"order_url": {
"type": "string",
"description": "Order status page"
},
"preview_url": {
"type": "string",
"description": "Exact print preview"
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "USPS tracking, for Certified Mail once printed"
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"amount_cents": {
"type": "number"
},
"display": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"amount_cents",
"display",
"reason"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "First-order discount, already taken off price; null when none applies"
}
},
"required": [
"id",
"object",
"product",
"product_name",
"certified",
"status",
"status_detail",
"price",
"checkout_url",
"order_url",
"preview_url",
"tracking",
"discount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}コミュニティ
エビデンス