A print webshop that AI agents can operate directly
PrintLab does not sell anything for real. It exists to answer one technical question in concrete terms: what does a print shop look like that can take orders from both humans and autonomous AI agents, through both modern transport layers (WebMCP in the browser and MCP over stdio)?
17live tools
23products
2transports
L2agent-ready
01 ยท Framing
What is a proof of concept?
A POC is not a product, not an MVP and not a pilot. It is a working demonstration that nails down one technical hypothesis.
With a POC you build just enough to be able to say "yes, this works" or "no, this does not work". Speed outweighs beauty; learning value outweighs production quality. The code is allowed to be ugly as long as it proves the hypothesis.
A POC makes a deliberate choice: one scope, one claim, one test. For PrintLab that claim is: it is technically possible to build a print webshop that exposes an identical tool set to both browser agents (WebMCP) and CLI agents (MCP stdio), without the user noticing any difference.
!
Why now?
Until May 2026, agent operation of webshops was a hack: taking screenshots, guessing buttons, simulating forms. Since Chrome 149 (Google I/O, 19 May 2026) there is a proper browser API. Early POCs give print companies time to learn before the first real agent traffic arrives.
02 ยท Hypothesis
What does this test site prove?
Two things: that WebMCP technically works for print workflows, and that one codebase can serve both agent routes.
Since Chrome 149, Google has been rolling out a browser layer called WebMCP. It lets a website offer its own functionality to AI agents as structured tools. No DOM scraping, no click simulation, no screenshots: the agent discovers the tools, reads the schema and calls them directly with structured parameters.
At the same time the classic MCP standard (Anthropic, Nov 2024) works for agents that have no browser - for example Claude Code in a terminal, or an ERP bot running as a background process.
This POC proves that the same print catalogue can be ordered from through both routes - with identical tool names, identical schemas, identical behaviour. For a print company that means: maintain one tool layer, serve two kinds of agents.
03 ยท Architecture
The two routes to the same tools
Both diagrams show how an agent places an order. The difference is the transport: WebMCP in a browser tab, or MCP stdio as a subprocess.
WebMCP โ browser
Web route
User opens a.vigc.be/POC in Chrome 149+ with the flag enabled. The agent lives in the tab.
01๐คUser
"Order 200 business cards with spot-UV and check out to BE"
prompt
02๐คAI agent in a Chrome 149+ tab
Gemini-in-Chrome or Claude-in-Chrome โ plans 4 tool calls based on the prompt
executeTool ยท JSON response
03โกnavigator.modelContext
WebMCP browser API โ 17 tools registered live on this tab, no DOM scraping needed
200 business cards spot-UV ยท ready for automation
Agent reads .mcp.json and starts node mcp-server/server.js
Stdio JSON-RPC: tools/list returns the same 17 tools
Per action: tools/call with structured parameters
PDF upload via filename + sha256 + page count (the agent counts pages itself)
Checkout returns an order_id - ready for automation
=
Identical tool set, two transports
The entire point of this POC: the browser flow (left) and the CLI flow (right) touch exactly the same 17 tools with exactly the same JSON schemas. For the developer this is one tool implementation with two transport wrappers.
claude โ printlab-mcp โ 102ร34
$claudeโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Claude Code ยท v1.4.2 โ
โ MCP server: printlab ยท 17 tools live โ
โ transport: stdio (node server.js) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏโถ User:Order 200 business cards with spot-UV at PrintLab,
soft-touch paper double-sided, deliver to BE.
Customer: Jan Janssens, jan@company.beClaude is thinkingโฆโกtools/calllist_products{ "category": "naamkaartjes" }โ 3 products: BC-STD, BC-PREM, BC-KRAFT
โกtools/callget_product{ "sku": "BC-STD" }โ Business cards standard, EUR 0.12/unit
paper: [matte 350g, gloss 350g, soft-touch 400g]
finish: [none, spot-UV, gold foil]
sides: [single-sided, double-sided]
โกtools/calladd_to_cart{
"sku": "BC-STD",
"qty": 200,
"options": {
"paper": "soft-touch 400g",
"finish": "spot-UV",
"sides": "double-sided"
}
}โOK item_id 1 ยท subtotal EUR 32.00โกtools/callcalculate_shipping{ "country": "BE" }โEUR 6.50โกtools/callcheckout{
"name": "Jan Janssens",
"email": "jan@company.be",
"country": "BE"
}โORDER PLACED โ
order_id: ORD-A7K2X9
subtotal: EUR 32.00
shipping: EUR 6.50
total: EUR 38.50โ Claude: Order placed.
โข 200 business cards, soft-touch 400g, spot-UV (double-sided)
โข Shipping to Belgium: EUR 6.50
โข Total: EUR 38.50
Order ID: ORD-A7K2X9
Confirmation email on its way to jan@company.be
Expected delivery: 5 working days.$
โ Live recording of a CLI session: one natural-language prompt โ five tool calls โ order confirmation in < 8 seconds.
04 ยท Context
The four-layer agentic commerce stack
WebMCP does not stand alone. It is the transport layer in a larger stack taking shape in 2026 - one that is being worked out for the print sector in the IOP UCP-print taskforce, where VIGC has a seat at the table.
UCP
Conventions
Universal Commerce Protocol โ agreements for catalogue, cart and checkout in agentic commerce.
Google + ecosystem (Shopify, Etsy, Instacart, ...)
This POC only tests the two transport layers (WebMCP + MCP). UCP-print conventions will be added once the taskforce reference implementation is final. AP2 for agent payments comes in a later phase.
05 ยท Building blocks
Under the hood
Kept as simple as possible: no framework, no build step, no backend. Static files on an ordinary Combell host.
Static HTML / CSS / JSOpen a file in a browser and it works. No build, no Node needed (only for the CLI route).
23 products, 8 categoriesRealistic options (paper, finish, sides, fold, delivery time) with a minimum quantity per SKU.
17 tools via WebMCPRegistered in the browser tab. The same 17 tools also run as a Node MCP server for CLI agents.
Cart state in localStorageThe cart survives page navigation between catalogue, product, cart and checkout.
PDF upload with live page countDrag & drop, page count via pdf.js, SHA-256 hash via WebCrypto SubtleCrypto.
Further reading
For the full technical explanation with code samples, deploy steps and schema design: developer guide PDF (15 pages).
06 ยท Honest story
What this does not do (yet)
A POC has to be honest about what it does not prove. These are the deliberately-not-done choices.
No real paymentsCheckout returns a fake order_id. Nothing is charged; no Stripe or PayPal involved.
No Odoo integrationOrders stay in browser state via localStorage. No ERP, no MIS, no printer driver.
Reviews are fictionalStatic star ratings per SKU for the "real" look - no real customers, no real reviews.
The WebMCP spec is in fluxThe browser API sits in a W3C Working Group; breaking changes possible until spring 2027.
UCP-print conventions not applied yetTool names currently follow VIGC convention, not the UCP-print spec (which the taskforce is working out now).
Questions or a live demo?
VIGC builds this POC within the Printelligence project โ the knowledge and reference programme around AI-driven workflows for the printing industry. Email Geert, visit printelligence.online, or test your own site for agent readiness.