# Seller Toolbelt

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

- name: com.sellertoolbelt/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 81/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.sellertoolbelt%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.sellertoolbelt%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "sellertoolbelt": {
      "type": "http",
      "url": "https://sellertoolbelt.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 81/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 11 of 11 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: generate_qr_code (destructiveHint, idempotentHint); add_watermark (idempotentHint); check_listing_image (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 2,894 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 1 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 11, about 2,894 tokens to load them all
- tool set hash: be7b80cd7276ffcea89d7f49382cbe21
- tools last changed: 2026-10-18T23:10:59.959Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.sellertoolbelt/mcp.svg)](https://protogrid.dev/servers/com.sellertoolbelt/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `get_result` changed (description)
  - before: Checks a job created by one of the image tools. Returns download_url once a human has unlocked it via unlock_url; otherwise the status, preview_url and unlock_url again. Results expire 24h after creation unless claimed.
  - after: 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.
- 2026-10-18 `add_watermark` changed (description)
  - before: Stamps text (e.g. "© Your Brand") on an image in a corner, the centre, or tiled diagonally. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.
- 2026-10-18 `convert_image` changed (description)
  - before: 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. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.
- 2026-10-18 `resize_for_marketplace` changed (description)
  - before: 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. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.
- 2026-10-18 `change_background_color` changed (description)
  - before: 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. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.
- 2026-10-18 `remove_background` changed (description)
  - before: Cuts the product out of its background and returns a transparent PNG. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.
- 2026-10-18 `make_compliant_main_image` changed (description)
  - before: 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. Returns a free watermarked preview (≤700px) plus unlock_url: a human opens it to download the full-resolution file for site credits. Then call get_result for the download link.
  - after: 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.

Full history: https://api.protogrid.dev/v1/servers/com.sellertoolbelt%2Fmcp/changes

## Remotes

- https://sellertoolbelt.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (11)

- `add_watermark`: 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.
- `calculate_marketplace_fees`: 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.
- `change_background_color`: 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.
- `check_listing_image`: 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.
- `convert_image`: 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.
- `generate_qr_code`: Generates a QR code image (PNG) or SVG markup for any text or URL, e.g. for packaging inserts, product labels or invoices. Free.
- `get_result`: 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.
- `lookup_barcode`: 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.
- `make_compliant_main_image`: 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.
- `remove_background`: 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.
- `resize_for_marketplace`: 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.
