Check and fix Amazon, eBay and Etsy product images, calculate marketplace fees, look up barcodes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Stamps text (e.g. "© Your Brand") on an image in a corner, the centre, or tiled diagonally. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
Public https:// URL of the image. Preferred over image_base64.
The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Stamps text (e.g. "© Your Brand") on an image in a corner, the centre, or tiled diagonally. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| size | string | |
| text* | string | |
| color | string | |
| opacity | integer | |
| position | string | |
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"size": {
"enum": [
"small",
"medium",
"large"
],
"type": "string",
"default": "medium"
},
"text": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"color": {
"enum": [
"white",
"black"
],
"type": "string",
"default": "white"
},
"opacity": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 5
},
"position": {
"enum": [
"tiled",
"bottom-right",
"bottom-left",
"top-right",
"top-left",
"center"
],
"type": "string",
"default": "bottom-right"
},
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Computes selling fees, net profit, margin and ROI for one sale on Amazon, eBay or Etsy from the sale price, shipping and costs. Category sets the default fee rate: amazon: default (15%), electronics (8%), computers (7%), clothing (17%), home (15%), toys (15%), books (15%); ebay: default (13.25%), electronics (9%), books (14.95%), clothing (13.25%); etsy: default (6.5%). Rates are 2026 estimates and vary by region; pass fee_rate_percent to override. Currency-agnostic. Free.
| Argument | Type | Description |
|---|---|---|
| fba_fee | number | Amazon FBA fulfilment fee, if any. |
| category | string | Category id for the default fee rate (see description). |
| item_cost | number | Your cost of goods. |
| sale_price* | number | |
| marketplace* | string | |
| shipping_cost | number | Shipping/fulfilment you pay. |
| fee_rate_percent | number | Override the main fee %. |
| shipping_charged | number |
Removes the background and places the product on a solid colour: white, light_gray, gray, black, beige, studio_blue, soft_pink, or custom with hex. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| hex | string | Required when color is "custom", e.g. #f5f1e8. |
| color | string | |
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hex": {
"type": "string",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Required when color is \"custom\", e.g. #f5f1e8."
},
"color": {
"enum": [
"white",
"light_gray",
"gray",
"black",
"beige",
"studio_blue",
"soft_pink",
"custom"
],
"type": "string",
"default": "white"
},
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Deterministically checks whether a product photo meets the main-image requirements of Amazon, eBay or Etsy (pure white background, product fill, minimum resolution, file format, colour space, borders, aspect ratio, sharpness, stray text/watermarks). Measured from the actual pixels, not guessed by a vision model. Returns pass / warn / fail with a reason per rule. Use before uploading a listing image. Free.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| marketplace | string | |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"marketplace": {
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string",
"default": "amazon"
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Re-encodes an image as jpeg, png, webp, avif at a chosen quality, to change format or shrink file size. JPEG flattens transparency to white. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| format | string | |
| quality | integer | |
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"enum": [
"jpeg",
"png",
"webp",
"avif"
],
"type": "string",
"default": "jpeg"
},
"quality": {
"type": "integer",
"default": 80,
"maximum": 100,
"minimum": 1
},
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Generates a QR code image (PNG) or SVG markup for any text or URL, e.g. for packaging inserts, product labels or invoices. Free.
| Argument | Type | Description |
|---|---|---|
| size | integer | PNG width in pixels. |
| format | string | |
| content* | string | Text or URL to encode. |
| error_correction | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"content"
],
"properties": {
"size": {
"type": "integer",
"default": 512,
"maximum": 2048,
"minimum": 128,
"description": "PNG width in pixels."
},
"format": {
"enum": [
"png",
"svg"
],
"type": "string",
"default": "png"
},
"content": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Text or URL to encode."
},
"error_correction": {
"enum": [
"L",
"M",
"Q",
"H"
],
"type": "string",
"default": "M"
}
}
}Checks a job created by one of the image tools. Returns download_url once it is unlocked (API-key jobs are paid up front; anonymous ones by a human via unlock_url). Otherwise returns the status, preview_url and unlock_url. Never charges. Anonymous results expire 24h after creation unless claimed.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | |
| access_token* | string | The access_token returned with the job. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id",
"access_token"
],
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"access_token": {
"type": "string",
"minLength": 10,
"description": "The access_token returned with the job."
}
}
}Finds product details (title, brand, category, image, description) for a UPC, EAN or GTIN barcode, using open product catalogs (strong for UK/EU groceries, drinks and cosmetics). Free.
| Argument | Type | Description |
|---|---|---|
| code* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^\\d{8,14}$"
}
}
}Removes the background, centres and scales the product on pure white, sizes and encodes it to the marketplace spec (Amazon, eBay or Etsy), then re-checks the result and returns the per-rule verdict as proof. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| marketplace | string | |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"marketplace": {
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string",
"default": "amazon"
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Cuts the product out of its background and returns a transparent PNG. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}Fits the image onto an exact canvas, padding with white: amazon (2000×2000), ebay (1600×1600), etsy (2000×2000), square (1080×1080), instagram_portrait (1080×1350), story (1080×1920), or custom width/height. Without an API key: returns a free watermarked preview (≤700px) plus unlock_url, which a human opens to download the full-resolution file for site credits (then call get_result). With an API key (Authorization: Bearer stb_…): returns download_url for the full-resolution file directly and charges the key owner's credits when the job starts, refunded automatically if processing fails. Retrying a call creates and charges a new job — use get_result to fetch an earlier one.
| Argument | Type | Description |
|---|---|---|
| width | integer | |
| height | integer | |
| preset | string | |
| image_url | string | Public https:// URL of the image. Preferred over image_base64. |
| image_base64 | string | The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"width": {
"type": "integer",
"maximum": 5000,
"minimum": 50
},
"height": {
"type": "integer",
"maximum": 5000,
"minimum": 50
},
"preset": {
"enum": [
"amazon",
"ebay",
"etsy",
"square",
"instagram_portrait",
"story",
"custom"
],
"type": "string",
"default": "amazon"
},
"image_url": {
"type": "string",
"format": "uri",
"description": "Public https:// URL of the image. Preferred over image_base64."
},
"image_base64": {
"type": "string",
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available."
}
}
}| Shipping the buyer pays you. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"marketplace",
"sale_price"
],
"properties": {
"fba_fee": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Amazon FBA fulfilment fee, if any."
},
"category": {
"type": "string",
"default": "default",
"description": "Category id for the default fee rate (see description)."
},
"item_cost": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Your cost of goods."
},
"sale_price": {
"type": "number",
"minimum": 0
},
"marketplace": {
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string"
},
"shipping_cost": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Shipping/fulfilment you pay."
},
"fee_rate_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Override the main fee %."
},
"shipping_charged": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Shipping the buyer pays you."
}
}
}