Server definition
- Hash
- sha256:403f8d808a331aafd36c8d3745a5eea6a1387782eaa971425cc453411964478b
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Toolbelt tools for e-commerce sellers: check and fix product images for Amazon, eBay and Etsy, calculate marketplace fees, look up barcodes and make QR codes. check_listing_image, calculate_marketplace_fees, lookup_barcode and generate_qr_code are free with full results. The image-editing tools return a free watermarked preview; a human unlocks the full-resolution file through unlock_url using site credits, after which get_result returns download_url. With an API key (Authorization: Bearer stb_…, created at /account) image tools return download_url directly and charge the key owner's credits on success. Pass images as a public https image_url.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"color": {
"default": "white",
"enum": [
"white",
"black"
],
"type": "string"
},
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
},
"opacity": {
"default": 50,
"maximum": 100,
"minimum": 5,
"type": "integer"
},
"position": {
"default": "bottom-right",
"enum": [
"tiled",
"bottom-right",
"bottom-left",
"top-right",
"top-left",
"center"
],
"type": "string"
},
"size": {
"default": "medium",
"enum": [
"small",
"medium",
"large"
],
"type": "string"
},
"text": {
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "add_watermark",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"default": "default",
"description": "Category id for the default fee rate (see description).",
"type": "string"
},
"fba_fee": {
"default": 0,
"description": "Amazon FBA fulfilment fee, if any.",
"minimum": 0,
"type": "number"
},
"fee_rate_percent": {
"description": "Override the main fee %.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"item_cost": {
"default": 0,
"description": "Your cost of goods.",
"minimum": 0,
"type": "number"
},
"marketplace": {
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string"
},
"sale_price": {
"minimum": 0,
"type": "number"
},
"shipping_charged": {
"default": 0,
"description": "Shipping the buyer pays you.",
"minimum": 0,
"type": "number"
},
"shipping_cost": {
"default": 0,
"description": "Shipping/fulfilment you pay.",
"minimum": 0,
"type": "number"
}
},
"required": [
"marketplace",
"sale_price"
],
"type": "object"
},
"name": "calculate_marketplace_fees",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"color": {
"default": "white",
"enum": [
"white",
"light_gray",
"gray",
"black",
"beige",
"studio_blue",
"soft_pink",
"custom"
],
"type": "string"
},
"hex": {
"description": "Required when color is \"custom\", e.g. #f5f1e8.",
"pattern": "^#?[0-9a-fA-F]{6}$",
"type": "string"
},
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "change_background_color",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
},
"marketplace": {
"default": "amazon",
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string"
}
},
"type": "object"
},
"name": "check_listing_image",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"default": "jpeg",
"enum": [
"jpeg",
"png",
"webp",
"avif"
],
"type": "string"
},
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
},
"quality": {
"default": 80,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "convert_image",
"outputSchema": null
},
{
"description": "Generates a QR code image (PNG) or SVG markup for any text or URL, e.g. for packaging inserts, product labels or invoices. Free.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"content": {
"description": "Text or URL to encode.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"error_correction": {
"default": "M",
"enum": [
"L",
"M",
"Q",
"H"
],
"type": "string"
},
"format": {
"default": "png",
"enum": [
"png",
"svg"
],
"type": "string"
},
"size": {
"default": 512,
"description": "PNG width in pixels.",
"maximum": 2048,
"minimum": 128,
"type": "integer"
}
},
"required": [
"content"
],
"type": "object"
},
"name": "generate_qr_code",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"access_token": {
"description": "The access_token returned with the job.",
"minLength": 10,
"type": "string"
},
"job_id": {
"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)$",
"type": "string"
}
},
"required": [
"job_id",
"access_token"
],
"type": "object"
},
"name": "get_result",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"code": {
"pattern": "^\\d{8,14}$",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "lookup_barcode",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
},
"marketplace": {
"default": "amazon",
"enum": [
"amazon",
"ebay",
"etsy"
],
"type": "string"
}
},
"type": "object"
},
"name": "make_compliant_main_image",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "remove_background",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"height": {
"maximum": 5000,
"minimum": 50,
"type": "integer"
},
"image_base64": {
"description": "The image as base64 (or a data: URL), max 2 MB. Use only when no public URL is available.",
"type": "string"
},
"image_url": {
"description": "Public https:// URL of the image. Preferred over image_base64.",
"format": "uri",
"type": "string"
},
"preset": {
"default": "amazon",
"enum": [
"amazon",
"ebay",
"etsy",
"square",
"instagram_portrait",
"story",
"custom"
],
"type": "string"
},
"width": {
"maximum": 5000,
"minimum": 50,
"type": "integer"
}
},
"type": "object"
},
"name": "resize_for_marketplace",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:403f8d808a331aafd36c8d3745a5eea6a1387782eaa971425cc453411964478b | sha256sum