{"name":"com.haveitprinted/print-and-mail","slug":"haveitprinted-print-and-mail","title":"Have It Printed","description":"Print and mail physical documents in the US via USPS, with quotes, agent payment and tracking.","url":"https://mcp.market/server/haveitprinted-print-and-mail","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"finance","tags":["finance","ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T20:25:49.446Z","last_ok_at":"2026-09-20T20:25:49.446Z","latency_ms":869},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://haveitprinted.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://agents.haveitprinted.com/mcp"}],"packages":[],"tools":[{"name":"hip_complete_payment","description":"Pay for the job with a delegated payment authorization, with no browser and no human step. payment_authorization must be a Stripe shared payment token (spt_...) granted to Have It Printed whose maximum is at least the total from hip_prepare_payment; HIP charges exactly that total and never more. NEVER send a card number, expiry, CVV or any reusable credential to this tool. If the cardholder's bank requires authentication, this returns payment_status=requires_user_action rather than bypassing it.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"},"payment_authorization":{"type":"string","description":"opaque delegated payment token (spt_...)"}},"required":["job_handle","payment_authorization"],"additionalProperties":false}},{"name":"hip_create_checkout","description":"Create a Stripe Checkout session for the job and return its URL. This does NOT take payment: the customer completes payment at that URL. Show them the quote first.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"},"customer_email":{"type":"string","description":"for the receipt and tracking email"}},"required":["job_handle"],"additionalProperties":false}},{"name":"hip_create_job","description":"Start a print-and-mail job. Returns an opaque job_handle used by every later call. Creates nothing chargeable.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"hip_get_checkout_status","description":"Whether the customer has paid yet. Payment truth comes from the order record Stripe's webhook creates, never from a browser redirect.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"}},"required":["job_handle"],"additionalProperties":false}},{"name":"hip_get_order","description":"Status and USPS tracking for the paid order belonging to this job.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"}},"required":["job_handle"],"additionalProperties":false}},{"name":"hip_get_service_info","description":"What Have It Printed does, what it costs, what file types and sizes are accepted, and how mailing works. Needs a Bearer API key, like every tools/call (POST /v1/onboard to get one).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"hip_get_upload_target","description":"Get a short-lived upload URL for the customer's document. PUT the bytes to it. File type and size limits are the same as the website.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"},"filename":{"type":"string"},"content_type":{"type":"string"}},"required":["job_handle","filename"],"additionalProperties":false}},{"name":"hip_prepare_payment","description":"Resolve the EXACT amount HIP will charge, before any payment authorization is obtained or spent. This does NOT charge anything. Returns subtotal_cents, tax_cents, total_cents, currency, a pricing fingerprint and the authorization types HIP accepts. Tax is calculated by Stripe from the destination, so hip_quote alone is not the payable amount. The returned total is bound to this job's documents, options and recipient: change any of them and payment is refused with QUOTE_STALE until you prepare again. Use this when paying autonomously with a delegated payment authorization; a human paying in a browser does not need it. Commits the job to the autonomous payment rail.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"}},"required":["job_handle"],"additionalProperties":false}},{"name":"hip_quote","description":"Exact price for the job, computed by the same pricing the website checkout uses. Tax, if any, is added by Stripe at payment.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"}},"required":["job_handle"],"additionalProperties":false}},{"name":"hip_update_job","description":"Set the documents, print options and US mailing recipient on a job. Price fields are rejected: the server computes all amounts.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"job_handle":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"filename":{"type":"string"},"pages":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":1},"color":{"type":"string","enum":["bw","color"]},"size":{"type":"string","enum":["8.5x11","8x10","11x17"]}},"required":["filename","pages"],"additionalProperties":false}},"options":{"type":"object","additionalProperties":true},"recipient":{"type":"object","description":"US mailing address","properties":{"name":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string","description":"2-letter US state code"},"zip":{"type":"string"},"country":{"type":"string","default":"US"}},"required":["name","line1","city","state","zip"]}},"required":["job_handle"],"additionalProperties":false}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-20T11:37:19.458Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:37:19.372Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 757ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 6 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://agents.haveitprinted.com/mcp","reachable":true,"authRequired":false,"latencyMs":757,"serverInfo":{"name":"haveitprinted","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://haveitprinted.com/android-chrome-512x512.png","source":"site","width":512,"height":512},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}