GiftsToPrint AI Connector

Lets an AI assistant order a personalised newspaper-style poster from GiftsToPrint on a person's behalf, with every detail attached, then hand them a normal checkout to pay.

What it does

GiftsToPrint has made personalised posters since 2021. Each one shows real headlines and events from a chosen year, with the recipient's name, a photo and an optional message, in US, UK, Canadian or Australian editions. Posters are delivered as a print-ready 300 DPI digital file by email. Nothing is posted.

The connector finds the right poster, tells the assistant exactly what to ask the user, stores the photo, and creates a Shopify checkout with every detail on the order. Nothing is charged by the connector. The user reviews and pays on GiftsToPrint's own checkout.

Endpoint

https://mcp.giftstoprint.com/mcp

Tools

  1. find_posters: Search GiftsToPrint's personalised newspaper-style posters. Each poster shows real headlines and events from one year, personalised with a name, photo and message, and is delivered as a print-ready digital file (nothing is posted). Birthday posters and wedding-anniversary posters exist per milestone and edition (e.g. 60th Birthday, Australian edition, 1966); retirement and dating-anniversary posters cover any year, chosen in the form. Pick the edition by where the recipient lives or grew up (US, UK, Canada or Australia). Returns each matching poster's handle, prices and product page. Next step: get_poster_form.
  2. get_poster_form: List exactly what to collect from the user for one poster: names, dates, optional message, and the photo, plus the turnaround options and prices. Ask the user for anything you don't already know. Don't invent names or dates. Next step: upload_photo, then create_poster_checkout.
  3. get_photo_upload_link: Create a private web page where the user can upload the poster photo from their phone or computer. Use this whenever you can't pass the user's photo to upload_photo yourself: they have no link to it, they want to pick it from their device, or a photo they attached in the chat can't be sent on. Give the user upload_page and ask them to tell you once it's uploaded, then call upload_photo with upload_id to get the photo_url. The link works for 7 days.
  4. upload_photo: Store the photo that will be printed on the poster, and return the photo_url to pass to create_poster_checkout. Only use a photo the user has given in THIS conversation. Never reuse a photo or link from memory or an earlier conversation, and never use a product or poster image. If the user hasn't given a photo yet, ask them for one instead of calling this. Give exactly one of: photo (a file the user attached in this chat), image_url (a public https link to the image), image_base64, or upload_id (from get_photo_upload_link, once the user says they've uploaded). If you can't send the user's photo any of these ways, call get_photo_upload_link instead of asking the user for a link. JPEG, PNG or WebP, up to 20MB. Photos are kept for 12 months so the poster can be made and revised, then deleted automatically.
  5. create_poster_checkout: Validate every detail and create a Shopify checkout for one personalised poster with all the details attached. Returns checkout_url. Nothing is charged: open checkout_url for the user to review the order and pay on GiftsToPrint's own checkout. Before calling, read the details back to the user, including the photo_url so they can check it is the right photo, and confirm they understand they will receive a digital file to print (set confirm_digital_file to true). If a field is wrong, the error lists every problem at once so you can fix them in one go.

Typical flow

  1. find_posters with the occasion, edition and milestone or year, e.g. a 60th birthday, Australian edition.
  2. get_poster_form for the chosen poster. Ask the user for every required detail. Never guess names, dates or the his/her wording.
  3. upload_photo with the user's photo (an attached file as photo, image_url or image_base64), or POST https://mcp.giftstoprint.com/photos with the raw image as the body. If you can't pass the photo yourself, call get_photo_upload_link, give the user the page to upload it from their device, then call upload_photo with the upload_id.
  4. Read the details back to the user, confirm they will receive a digital file to print, then call create_poster_checkout.
  5. Open the returned checkout_url for the user to review and pay.

Turnaround

Fields per occasion

Every order also needs the buyer's email (the download link is sent there) and first_name, plus confirm_digital_file: true. Days accept 14 or 14th; months accept March or 3.

Birthday (occasion: birthday)

FieldRequiredNotes
recipient_first_nameYesThe birthday person's first name, as it should appear on the poster.
recipient_last_nameNoOptional.
birth_dayYesDay of the month, e.g. 14 or "14th".
birth_monthYesMonth name or number, e.g. "March" or 3.
birth_townNoOptional. Include the state, e.g. "Austin, TX".
messageNoOptional. Printed at the bottom of the poster. Up to 200 characters.
photo_urlYesThe photo printed on the poster. Upload it first with upload_photo and pass the photo_url it returns.

Wedding anniversary (occasion: wedding_anniversary)

FieldRequiredNotes
couple_first_namesYesBoth first names, joined with "&".
wedding_dayYesDay of the month, e.g. 14 or "14th".
wedding_monthYesMonth name or number, e.g. "March" or 3.
messageNoOptional. Printed at the bottom of the poster. Up to 200 characters.
photo_urlYesThe photo printed on the poster. Upload it first with upload_photo and pass the photo_url it returns.

Dating anniversary (occasion: dating_anniversary)

FieldRequiredNotes
couple_first_namesYesBoth first names, joined with "&".
dating_dayYesDay of the month, e.g. 14 or "14th".
dating_monthYesMonth name or number, e.g. "March" or 3.
dating_yearYesFour digits, 2010 to 2026.
messageNoOptional. Printed at the bottom of the poster. Up to 200 characters.
photo_urlYesThe photo printed on the poster. Upload it first with upload_photo and pass the photo_url it returns.

Retirement (occasion: retirement)

FieldRequiredNotes
retiree_first_nameYesThe retiree's first name.
retiree_last_nameNoOptional.
pronounYesPrinted on the poster. Ask; do not guess from the name.
job_titleYese.g. "Head Teacher".
career_start_dayYesDay of the month, e.g. 14 or "14th". Use "Don't know" if they don't remember.
career_start_monthYesMonth name or number, e.g. "March" or 3. Use "Don't know" if they don't remember.
career_start_yearYesFour digits. The poster's headlines come from this year.
retirement_dayYesDay of the month, e.g. 14 or "14th".
retirement_monthYesMonth name or number, e.g. "March" or 3.
retirement_yearYesFour digits, 2025 or 2026.
messageNoOptional. Printed at the bottom of the poster. Up to 200 characters.
photo_urlYesThe photo printed on the poster. Upload it first with upload_photo and pass the photo_url it returns.

Photos

JPEG, PNG or WebP, up to 20MB. Photos below 800 pixels on the short side are accepted with a warning that they may print soft. HEIC photos need converting to JPEG first. Photos are stored only to make and revise the poster, are not public listings, and are deleted automatically after 12 months.

Other milestones

Listed birthdays: 1st, 16th, 18th, 21st and every tenth from 30th to 100th. Listed wedding anniversaries: 1st, 5th and every fifth to 65th. For anything else, the user can email hello@giftstoprint.com: it can usually be made at the same price and turnaround.

Support and policies