{"name":"io.github.ryan-tish/sendpaper","slug":"ryan-tish-sendpaper","title":"Sendpaper","description":"Your agent sends real postcards and letters. You approve; we print and mail.","url":"https://mcp.market/server/ryan-tish-sendpaper","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-03T15:41:25.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T02:05:46.353Z","last_ok_at":"2026-11-04T02:05:46.353Z","latency_ms":123},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/ryan-tish/sendpaper-plugin","website":"https://sendmypaper.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://sendmypaper.com/mcp"}],"packages":[],"tools":[{"name":"cancel_order","description":"Cancel an order that has not been paid yet. Paid orders can be cancelled by emailing support before they are printed.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"order_id":{"type":"string"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_letter","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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"to":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"Recipient or sender full name"},"company":{"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},"state":{"type":"string"},"zip":{"type":"string","pattern":"^\\d{5}(-\\d{4})?$"}},"required":["name","line1","city","state","zip"]},"from":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"Recipient or sender full name"},"company":{"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},"state":{"type":"string"},"zip":{"type":"string","pattern":"^\\d{5}(-\\d{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":{"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","type":"string","enum":["serif","sans"]}},"required":["body"]}},"required":["to","from","content"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_postcard","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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"size":{"default":"4x6","type":"string","enum":["4x6","6x9"]},"to":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"Recipient or sender full name"},"company":{"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},"state":{"type":"string"},"zip":{"type":"string","pattern":"^\\d{5}(-\\d{4})?$"}},"required":["name","line1","city","state","zip"]},"from":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"Recipient or sender full name"},"company":{"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},"state":{"type":"string"},"zip":{"type":"string","pattern":"^\\d{5}(-\\d{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":{"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"]}},"required":["to","from","content"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_order","description":"Get the status of a postcard or letter order by id (ord_...).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"order_id":{"type":"string"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_pricing","description":"List mail products and prices (USD, printing + USPS First-Class postage included, US addresses only).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"pay_order","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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"order_id":{"type":"string"},"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#"}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-10-03T16:47:13.284Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-03T16:47:13.215Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 842ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 5 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://sendmypaper.com/mcp","reachable":true,"authRequired":false,"latencyMs":842,"serverInfo":{"name":"sendpaper","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"ryan-tish","repo":"sendpaper-plugin","archived":false,"pushedAt":"2026-10-03T15:41:25Z","stars":0,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/178401379?v=4","ownerCreatedAt":"2024-08-14T14:11:49Z","license":"MIT"},"icon":{"url":"https://sendmypaper.com/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-03T15:41:25.000Z","score":23}}}},"grade_history":[],"reviews":[]}