Xyppy Print This
README.md
Xyppy Print This
A deliberately small ChatGPT plugin prototype that turns an image into an interactive print configuration: size, paper, frame, mat, crop treatment, quantity, quality guidance, and a prototype price.
The current build is a Developer Mode demo. It can preview a checkout handoff, but it does not create carts, checkout sessions, orders, payments, print-ready files, or fulfillment work.
Run locally
pnpm install
pnpm build
pnpm start
- MCP endpoint:
http://localhost:8000/mcp - Health check:
http://localhost:8000/health - Standalone widget development:
pnpm devthen openhttp://localhost:5173
Container smoke path
docker build -t xyppy-chatgpt .
docker run --rm -p 8000:8000 xyppy-chatgpt
Then verify http://127.0.0.1:8000/health.
Test
pnpm verify
pnpm launch:check
pnpm docs:manifest
pnpm docs:links
Test in ChatGPT
- Build and start the server.
- Expose port
8000through a temporary HTTPS tunnel. - Enable Developer Mode in ChatGPT under Settings → Security and login.
- Add the tunnel URL ending in
/mcpas a personal plugin. - In a Work chat, invoke the plugin with
@and ask it to print an image. - Refresh the plugin after changes to tool metadata or the widget resource.
See DOCS for project state, decisions, evidence, and review gates.
Commerce path
The current recommendation is Shopify-first checkout after approval. See DOCS/evidence/active/1003/commerce-infrastructure-options.md for the Shopify, Stripe, and hybrid options. The implemented preview_checkout tool is deliberately non-transactional and exists to test the ChatGPT purchase workflow shape before live credentials are added.
The server also reports checkout readiness from /health. The current build always returns canCreateLiveCheckout: false; environment placeholders are only there to make the eventual production adapter explicit.
For durable hosting options, see DOCS/deployment/launch-hosting-options.md.
For repeatable pre-launch verification, see DOCS/deployment/launch-checklist.md.
Upstream basis
The MCP server/widget wiring is adapted from OpenAI's mcp_app_basics_node example at commit 18cc38e78a968712c357bacdc3c79fead5bfc6b4. The product implementation, configuration logic, and UI are specific to Xyppy.