MyImage2Life MCP
An official MCP server by MyImage2Life that allows users to order custom printed products like posters, mugs, and t-shirts directly from AI assistants. It provides print proofs, pricing with shipping and VAT, and handles checkout via Stripe without requiring a user account.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://myimage2life.com/mcpWhat you can do with it
- Generate a print proof and price for a custom photo on a product
- Order a custom poster, canvas, or mug via AI chat
- Create an AI-designed product and pay via Stripe
- Check print size compatibility for AI images
Source and maintenance
Protocol and capabilities
- Server
- MyImage2Life 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 15 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
15 advertised
create_design — Create design
Create a new design with our image model, fitted to the product (aspect ratio, transparent background for clothing). Use this instead of generating an image yourself: only designs from this tool can be printed. Takes about 45 seconds.
{
"type": "object",
"title": "maak_ontwerpArguments",
"required": [
"description",
"product"
],
"properties": {
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Exact text on the design, only if the user wants text"
},
"product": {
"type": "string",
"title": "Product",
"description": "Product reference"
},
"description": {
"type": "string",
"title": "Description",
"description": "Rich description of the image: subject, pose, style, colours, mood"
},
"real_subject": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Real Subject",
"default": null,
"description": "Only for a real, existing building, monument, bridge, windmill, church or recognisable place the user names: its name and town, e.g. 'Poldertoren Emmeloord'. The engine looks up a photo of it and draws the real one. Not for the user's own house, pet or people: ask for a photo."
},
"reference_photo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reference Photo",
"default": null,
"description": "Design id of a photo the user uploaded that shows what the subject really looks like (their dog, their house, or a photo of the building)"
}
}
}{
"title": "Create design",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}edit_design — Edit design
Change a design or the user's own photo in plain words: make the subject bigger, add a short text, a name or a date, add a frame, change colours or remove something. Use this for every change to a design (never regenerate the image yourself), then create_proof. Only that change is made. Creates a new design; the original is kept. Takes about 45 seconds.
{
"type": "object",
"title": "bewerk_ontwerpArguments",
"required": [
"design",
"instruction"
],
"properties": {
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...)"
},
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area"
},
"instruction": {
"type": "string",
"title": "Instruction",
"description": "What should change"
},
"real_subject": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Real Subject",
"default": null,
"description": "Only for a real, existing building, monument, bridge, windmill, church or recognisable place the user names: its name and town, e.g. 'Poldertoren Emmeloord'. The engine looks up a photo of it and draws the real one. Not for the user's own house, pet or people: ask for a photo."
},
"reference_photo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reference Photo",
"default": null,
"description": "Design id of a photo the user uploaded that shows what the subject really looks like (their dog, their house, or a photo of the building)"
}
}
}{
"title": "Edit design",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}restyle_design — Redraw in a style
Redraws a design or the user's own photo in an illustration style, keeping people and animals recognisable and their colours the same. Creates a new design; the original is kept. Takes about 45 seconds.
{
"type": "object",
"title": "hertekenArguments",
"required": [
"design",
"style"
],
"properties": {
"style": {
"enum": [
"watercolour",
"cartoon",
"pencil",
"line-art",
"pop-art",
"oil-painting",
"storybook"
],
"type": "string",
"title": "Style",
"description": "Illustration style"
},
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...), also for an uploaded photo"
},
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Details",
"default": null,
"description": "Optional extra wish, e.g. 'warm autumn colours' or 'white background'"
},
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area"
}
}
}{
"title": "Redraw in a style",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}show_examples — Show examples
Shows example pictures for inspiration: what can go on a product for an occasion or theme (for example 'birthday mug for grandma', 'holiday photo', 'cat'). Existing pictures only; nothing is created.
{
"type": "object",
"title": "toon_voorbeeldenArguments",
"properties": {
"group": {
"anyOf": [
{
"enum": [
"poster",
"wall_art",
"mug",
"card",
"calendar",
"puzzle",
"home",
"clothing"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Group",
"default": null,
"description": "Optional product group"
},
"theme": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Theme",
"default": null,
"description": "Occasion, recipient or theme in a few words"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "Language of the user: nl or en"
}
}
}{
"title": "Show examples",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}use_example — Use a ready-made design
Puts a ready-made design from show_examples (an id starting with bib-) on the user's order: returns a design id for create_proof. Nothing new is created.
{
"type": "object",
"title": "gebruik_voorbeeldArguments",
"required": [
"example"
],
"properties": {
"example": {
"type": "string",
"title": "Example",
"maxLength": 80,
"description": "Example id from show_examples, e.g. bib-cat-coffee"
}
}
}{
"title": "Use a ready-made design",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}create_plan — Make a plan
Saves the agreed gift idea as a plan: the product, what goes on it, the style and any text, and whether the user's own photo is used. Returns a link to the MyImage2Life website, where the user makes the design, sees the proof and price, and orders. Nothing is created or charged by this tool.
{
"type": "object",
"title": "maak_planArguments",
"required": [
"product",
"idea"
],
"properties": {
"idea": {
"type": "string",
"title": "Idea",
"maxLength": 1000,
"description": "What goes on the product: subject, composition, colours and mood, in a few rich sentences. For the user's own photo: what to do with it"
},
"kind": {
"enum": [
"new_design",
"own_photo"
],
"type": "string",
"title": "Kind",
"default": "new_design",
"description": "new_design = a design is made from the idea on the website; own_photo = the user uploads their own photo on the website"
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Optional exact text on the product, e.g. 'Happy birthday Sanne'"
},
"style": {
"anyOf": [
{
"enum": [
"watercolour",
"cartoon",
"pencil",
"line-art",
"pop-art",
"oil-painting",
"storybook"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Style",
"default": null,
"description": "Optional illustration style"
},
"product": {
"type": "string",
"title": "Product",
"description": "Product reference from search_products"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "Language of the user: nl or en"
},
"recipient": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Recipient",
"default": null,
"description": "Optional: who it is for and the occasion, e.g. 'grandma, 80th birthday'"
}
}
}{
"title": "Make a plan",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}get_upload_link — Upload link for your own image
Returns a secure link (valid 24 hours) where the user uploads their own photo, drawing or design from their device.
{
"type": "object",
"title": "upload_linkArguments",
"properties": {
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Optional: product reference"
}
}
}{
"title": "Upload link for your own image",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}get_upload — Get uploaded image
Checks whether the user uploaded a file through the upload link; returns the design id when it is there.
{
"type": "object",
"title": "upload_statusArguments",
"required": [
"upload"
],
"properties": {
"upload": {
"type": "string",
"title": "Upload",
"description": "Upload id (upl_...)"
}
}
}{
"title": "Get uploaded image",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}use_chat_image — Use image from the chat
Use an image the user put in the chat as the design.
{
"type": "object",
"title": "ontvang_bestandArguments",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"title": "File",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"description": "File from the chat",
"additionalProperties": true
}
}
}{
"title": "Use image from the chat",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}create_proof — Create print proof
Makes the print-ready files and a mockup that shows exactly what will be printed. Returns a proof id.
{
"type": "object",
"title": "maak_proefArguments",
"required": [
"design",
"product"
],
"properties": {
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...)"
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Options as {type: value} from get_product, e.g. {'type_garment_size': 'l', 'colours_garment': 'Black'}"
},
"product": {
"type": "string",
"title": "Product",
"description": "Product reference"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "Language of the user for text on the product (calendar months): nl, en, de, fr, es"
},
"quantity": {
"type": "integer",
"title": "Quantity",
"default": 1,
"maximum": 1500,
"minimum": 1,
"description": "Number of copies"
}
}
}{
"title": "Create print proof",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}get_price — Get price
Price including shipping and VAT for the delivery country. This is exactly what the user pays.
{
"type": "object",
"title": "bereken_prijsArguments",
"required": [
"proof",
"country"
],
"properties": {
"proof": {
"type": "string",
"title": "Proof",
"description": "Proof id (prf_...)"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "US and Canada only: state or province (NY, CA, ON, BC, ...)"
},
"country": {
"type": "string",
"title": "Country",
"maxLength": 2,
"minLength": 2,
"description": "Delivery country, ISO code (NL, DE, US, ...)"
},
"postcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Postcode",
"default": null,
"description": "Spain and Canada only: postcode, needed for the shipping price"
}
}
}{
"title": "Get price",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}place_order — Place order (go to payment)
Creates an unpaid order for an approved proof and returns the link to the checkout page on myimage2life.com (Stripe). Nothing is printed before payment.
{
"type": "object",
"title": "bestellenArguments",
"required": [
"price"
],
"properties": {
"price": {
"type": "string",
"title": "Price",
"description": "Price id (prs_...) from get_price"
}
}
}{
"title": "Place order (go to payment)",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_order_status — Order status
Status and tracking of an order.
{
"type": "object",
"title": "order_statusArguments",
"required": [
"order"
],
"properties": {
"order": {
"type": "string",
"title": "Order",
"description": "Order number, format GP-XXXXXXXX"
}
}
}{
"title": "Order status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_products — Search products
Search printable products. Returns a reference, name and size per product.
{
"type": "object",
"title": "zoek_productenArguments",
"required": [
"query"
],
"properties": {
"group": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Group",
"default": null,
"description": "Optional group: poster, wall_art, clothing, mug, card, calendar, puzzle, photo_book, home, sticker"
},
"query": {
"type": "string",
"title": "Query",
"description": "What the user wants, e.g. 'black t-shirt' or 'poster 50x70'"
}
}
}{
"title": "Search products",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_product — Product and options
Details of one product: options (size, colour, paper, frame), quantities and dimensions.
{
"type": "object",
"title": "toon_productArguments",
"required": [
"product"
],
"properties": {
"product": {
"type": "string",
"title": "Product",
"description": "Product reference from search_products"
}
}
}{
"title": "Product and options",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
0 advertised
Resources
1 advertised
MyImage2Life — MyImage2Life
ui://gptprinter/kaart-v2.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1687 ms
- 95th percentile latency
- 1687 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1687 ms · metadata changed · 15 tool(s), 1 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http myimage2life-mcp https://myimage2life.com/mcpCodex
codex mcp add myimage2life-mcp --url https://myimage2life.com/mcpCursor
{
"mcpServers": {
"myimage2life-mcp": {
"url": "https://myimage2life.com/mcp"
}
}
}Cline
{
"mcpServers": {
"myimage2life-mcp": {
"type": "streamableHttp",
"url": "https://myimage2life.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"myimage2life-mcp": {
"type": "http",
"url": "https://myimage2life.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http myimage2life-mcp https://myimage2life.com/mcpClaude Desktop
{
"mcpServers": {
"myimage2life-mcp": {
"url": "https://myimage2life.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"myimage2life-mcp": {
"serverUrl": "https://myimage2life.com/mcp"
}
}
}Let your agent find its tools
Find servers like MyImage2Life MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run MyImage2Life MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.