Skip to content

Seller Toolbelt

by sellertoolbelt.com · remote · no sign-in to list tools · v1.0.0 · published by com.sellertoolbelt

Check and fix Amazon, eBay and Etsy product images, calculate marketplace fees, look up barcodes.

Deletes · 3Changes · 7

11 tools: 3 can delete or cancel things, 7 change things and 1 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http sellertoolbelt https://sellertoolbelt.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

5 warn
  • The server marks "lookup_barcode" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "lookup_barcode" says "lookup": a word for reading.

    What this check looks for
  • The server marks "generate_qr_code" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_qr_code" says "generate": a word for a change.

    What this check looks for
  • The server marks "make_compliant_main_image" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "remove_background" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "remove_background" says "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "change_background_color" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Deletes or cancels 3Claude Code: deny
  • change_background_colorRemoves the background and places the product on a solid colour: white, light_gray, gray, black, beige, studio_blue, soft_pink, or custom with hex.1 finding

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "change_background_color" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • make_compliant_main_imageRemoves 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…1 finding

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "make_compliant_main_image" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • remove_backgroundCuts the product out of its background and returns a transparent PNG.1 finding

    Why it is in this group

    • The name "remove_background" says "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "remove_background" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "remove_background" says "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Changes things 7Claude Code: ask
  • add_watermarkStamps text (e.g.No findings

    Why it is in this group

    • The name "add_watermark" says "add": a word for a change.
    Description, as the server wrote 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • calculate_marketplace_feesComputes selling fees, net profit, margin and ROI for one sale on Amazon, eBay or Etsy from the sale price, shipping and costs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • check_listing_imageDeterministically checks whether a product photo meets the main-image requirements of Amazon, eBay or Etsy (pure white background, product fill, minimum resolution, file format, co…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • convert_imageRe-encodes an image as jpeg, png, webp, avif at a chosen quality, to change format or shrink file size.No findings

    Why it is in this group

    • The name "convert_image" says "convert": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • generate_qr_codeGenerates a QR code image (PNG) or SVG markup for any text or URL, e.g.1 finding

    Why it is in this group

    • The name "generate_qr_code" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_qr_code" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_qr_code" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generates a QR code image (PNG) or SVG markup for any text or URL, e.g. for packaging inserts, product labels or invoices. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • lookup_barcodeFinds 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).1 finding

    Why it is in this group

    • The name "lookup_barcode" says "lookup": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "lookup_barcode" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "lookup_barcode" says "lookup": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • resize_for_marketplaceFits 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×192…No findings

    Why it is in this group

    • The name "resize_for_marketplace" says "resize": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Only reads 1Claude Code: allow
  • get_resultChecks a job created by one of the image tools.No findings

    Why it is in this group

    • The name "get_result" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http sellertoolbelt https://sellertoolbelt.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__sellertoolbelt__get_result"
    ],
    "ask": [
      "mcp__sellertoolbelt__check_listing_image",
      "mcp__sellertoolbelt__calculate_marketplace_fees",
      "mcp__sellertoolbelt__lookup_barcode",
      "mcp__sellertoolbelt__generate_qr_code",
      "mcp__sellertoolbelt__resize_for_marketplace",
      "mcp__sellertoolbelt__convert_image",
      "mcp__sellertoolbelt__add_watermark"
    ],
    "deny": [
      "mcp__sellertoolbelt__make_compliant_main_image",
      "mcp__sellertoolbelt__remove_background",
      "mcp__sellertoolbelt__change_background_color"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as sellertoolbelt. Review it before you use it.