{"name":"Wally by 4OVER4","description":"4OVER4.COM is a US online print shop. Wally, its print assistant, finds the right printed product, prices it live from the 4OVER4 API, answers printing and support questions, and reads a signed-in customer's orders. It changes nothing in an account. Every flow ends with a link to www.4over4.com to upload artwork and order; nothing is bought through this agent.","supportedInterfaces":[{"url":"https://www.4over4.com/appsapi/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"provider":{"organization":"4OVER4.COM Inc.","url":"https://www.4over4.com"},"version":"1.0.0","documentationUrl":"https://www.4over4.com/ai-mode","iconUrl":"https://www.4over4.com/apple-touch-icon.png","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"securitySchemes":{"4over4":{"oauth2SecurityScheme":{"description":"Sign in with 4OVER4. Needed only for the account skills; every other skill is open.","flows":{"authorizationCode":{"authorizationUrl":"https://www.4over4.com/appsapi/oauth/authorize","tokenUrl":"https://www.4over4.com/appsapi/oauth/token","refreshUrl":"https://www.4over4.com/appsapi/oauth/token","scopes":{"account":"Read your own 4OVER4 orders, profile, coins and cart."},"pkceRequired":true}},"oauth2MetadataUrl":"https://www.4over4.com/.well-known/oauth-authorization-server/appsapi/oauth"}}},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"ask_wally","name":"Ask Wally","description":"Ask 4OVER4's print assistant anything in plain words: which product fits a goal, a live price, turnaround and delivery, file setup, or a help question. Wally answers from the live 4OVER4 API and help answers, and ends with the www.4over4.com page to order on. Send a text part.","tags":["printing","print products","prices","support"],"examples":["500 business cards, 16 pt, matte, how much?","What should a new restaurant print for its opening?","When would 1000 flyers arrive in 10001?"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"list_categories","name":"List product categories","description":"Shows our Shop By, the site's own menu: the 14 groups (Business Stationery, Marketing Materials, Invitations & Cards, Packaging & Labels, Signs & Banners, Branded Merchandise, Stickers & Labels, Trade Shows & Events, Posters & Wall Art, Finish, Material, Shape, Celebrations, Industry), each with its categories inside; a tap on a group shows its categories, a tap on a category its products with prices. Send a data part {\"skill\": \"list_categories\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"show_products","name":"Find products","description":"THE product-finding tool: query (any words), category (a slug), angle + productType (a type with an angle), sort (popular, cheapest, top_rated, newest) or maxTotal + qty (a budget). Send a data part {\"skill\": \"show_products\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"find_similar_products","name":"Find similar products","description":"Products related to ONE product the user already knows, by its catalog slug: mode \"similar\" (default) for products like it, \"goes_with\" for what pairs with it. Send a data part {\"skill\": \"find_similar_products\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"compare_products","name":"Compare products","description":"Side-by-side comparison TABLE of 2 to 4 of our products by slug: From price, paper, finish, turnaround, rating and reviews, with a Customize button per column. Send a data part {\"skill\": \"compare_products\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"recommend","name":"Recommend products for a goal","description":"Router for a goal or situation with NO product named: \"what should I get for my dental clinic\", \"how do I promote my food truck\", \"opening a coffee shop\", \"best products for a startup launch\". Send a data part {\"skill\": \"recommend\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"marketing_kit","name":"Build a marketing kit","description":"One card with several REAL products for one goal, or, with productTypes, exactly one product per type the user listed. Send a data part {\"skill\": \"marketing_kit\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"configure_product","name":"Configure and price a product","description":"THE price and spec tool for ONE product: opens the live configurator (IPC) in chat with sizes, papers, finishes, quantity tiers, turnarounds and the live price. Send a data part {\"skill\": \"configure_product\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"price_breaks","name":"Quantity price breaks","description":"The quantity price-break TABLE for one product: every tier's total and price per piece from live configurator data, with the value sweet spot (where the per-piece curve flattens) highlighted. Send a data part {\"skill\": \"price_breaks\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"delivery_by_zip","name":"Delivery estimate","description":"The one delivery tool: quick true for an instant in-hands estimate, slug + zip for the live carrier estimator, no slug for general shipping methods. Send a data part {\"skill\": \"delivery_by_zip\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"print_calculator","name":"Print math calculator","description":"Exact print math in a calculator card by mode: dpi, bleed, paper_weight (lb, GSM, points) or file_spec (one product's artwork setup); never do this math in prose. Send a data part {\"skill\": \"print_calculator\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"daily_deals","name":"Today's deal","description":"Today's live deal from the 4OVER4 deals API: the product, discount %, code and sale price. Send a data part {\"skill\": \"daily_deals\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"search_knowledge","name":"Search 4OVER4 help","description":"The answer tool for every support, policy and how-to question, and for anything a buyer asks that no other tool answers: 11,000+ 4OVER4 help-center and FAQ answers, every product page and curated answers (returns, refunds, reprints, file prep, bleed, CMYK vs RGB, paper weights, finishes, turnaround vs shipping, free samples, coins and how to earn them, where 4OVER4 is located, why choose 4OVER4, print statistics). Send a data part {\"skill\": \"search_knowledge\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"search_content","name":"Search 4OVER4 guides and pages","description":"4OVER4's editorial pages, shown ONLY when the user asks for that content: kits (curated business bundles), guides (how-to and product-vs-product comparisons), alternatives (4OVER4 vs a competitor), case studies, showcase, statistics, benefits, articles, updates, services, team, collections, hubs, brand reviews and help pages. Send a data part {\"skill\": \"search_content\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"talk_to_human","name":"Contact 4OVER4 support","description":"Puts the support contact card on screen (live chat and the Submit-a-Ticket page). Send a data part {\"skill\": \"talk_to_human\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"get_my_orders","name":"My orders","description":"The signed-in user's orders, one page at a time, newest first, each with its stage. Send a data part {\"skill\": \"get_my_orders\", \"arguments\": {...}} with the arguments of the MCP tool of the same name. Needs the customer's 4OVER4 sign-in.","tags":["account","orders"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"],"securityRequirements":[{"schemes":{"4over4":{"list":["account"]}}}]},{"id":"get_order_details","name":"Order details, tracking or invoice","description":"ONE order of the signed-in user by its exact order or job number, as view \"details\" (default), \"tracking\" or \"invoice\"; a prefix never matches and an order number returns every job in it. Send a data part {\"skill\": \"get_order_details\", \"arguments\": {...}} with the arguments of the MCP tool of the same name. Needs the customer's 4OVER4 sign-in.","tags":["account","orders"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"],"securityRequirements":[{"schemes":{"4over4":{"list":["account"]}}}]},{"id":"get_my_profile","name":"My account","description":"The signed-in user's own account data by section: \"profile\" (default), \"addresses\" or \"qr_codes\". Send a data part {\"skill\": \"get_my_profile\", \"arguments\": {...}} with the arguments of the MCP tool of the same name. Needs the customer's 4OVER4 sign-in.","tags":["account","orders"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"],"securityRequirements":[{"schemes":{"4over4":{"list":["account"]}}}]},{"id":"get_my_coins","name":"My 4OVER4 coins","description":"The signed-in user's live 4OVER4 coins balance and full ledger (earned and redeemed), for \"my coins\", \"coin balance\", \"coin history\", \"what did I redeem\". Send a data part {\"skill\": \"get_my_coins\", \"arguments\": {...}} with the arguments of the MCP tool of the same name. Needs the customer's 4OVER4 sign-in.","tags":["account","orders"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"],"securityRequirements":[{"schemes":{"4over4":{"list":["account"]}}}]},{"id":"get_cart","name":"My cart","description":"Read-only view of the user's 4OVER4 cart: line items (product, quantity, price), the total and a checkout link, for \"what's in my cart\", \"cart total\". Send a data part {\"skill\": \"get_cart\", \"arguments\": {...}} with the arguments of the MCP tool of the same name. Needs the customer's 4OVER4 sign-in.","tags":["account","orders"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"],"securityRequirements":[{"schemes":{"4over4":{"list":["account"]}}}]},{"id":"loyalty_tasks","name":"Ways to earn 4OVER4 coins","description":"Every task that earns 4OVER4 coins in My Influence, our loyalty program, live: each task's title, short description, coins and time, with a thumbnail and a link to its page on www.4over4.com; 100 coins are $1. Send a data part {\"skill\": \"loyalty_tasks\", \"arguments\": {...}} with the arguments of the MCP tool of the same name.","tags":["catalog","printing"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"search_catalog","name":"Search the catalog (UCP)","description":"UCP catalog search (2026-04-08): products for free-text query, with filters and cursor pagination. Send a data part {\"skill\": \"search_catalog\", \"arguments\": {...}} with the UCP arguments of the MCP tool of the same name.","tags":["catalog","ucp","commerce"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"lookup_catalog","name":"Look up products (UCP)","description":"UCP catalog lookup (2026-04-08): products by id (the product slug) or variant id ({slug}.p{printProductId}.q{quantity}.t{turnaroundId}[.w{width}.h{height}].o{optionId}...; a custom size in inches, _ for the decimal point), priced live. Send a data part {\"skill\": \"lookup_catalog\", \"arguments\": {...}} with the UCP arguments of the MCP tool of the same name.","tags":["catalog","ucp","commerce"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_product","name":"Get a product (UCP)","description":"UCP get_product (2026-04-08): one product with full options; selected narrows the configuration (e.g. Send a data part {\"skill\": \"get_product\", \"arguments\": {...}} with the UCP arguments of the MCP tool of the same name.","tags":["catalog","ucp","commerce"],"inputModes":["application/json"],"outputModes":["application/json"]}]}