Herofab MCP server

Marketplace image rules for AI assistants · last updated 14 October 2026

Herofab's MCP server gives AI assistants the published product-image rules of 98 marketplaces, shop platforms and ad platforms, each read from the platform's own help page and dated. The server is read-only and needs no account or key. The image itself is never sent: the assistant sends only a platform name and, for a check, the image's measurements.

Server URL
https://app.herofab.app/mcp
Transport
Streamable HTTP, stateless (POST only)
Authentication
None
Tools
get_image_requirements, check_image_spec (both read-only)
Privacy
Privacy notice: AI assistants
Support
support@herofab.app

What the server does

An assistant connected to the server can look up a platform's image requirements (image size, aspect ratio, file size, accepted formats, main-image background and product fill) and check an image's measurements against them. get_image_requirements names the official source page and the day Herofab read it, and both tools link to Herofab's guide for the platform.

The server does not generate, edit or receive images, and it does not write any data. A passing check means that no checked rule failed, not that a platform will accept a listing. Platforms change their rules; the official page each answer links to is authoritative.

Tools

Both tools are read-only (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false). Each successful result is returned as structured content and as the same JSON in a text block.

get_image_requirements

Official product-image rules of a marketplace or ad platform, each read from the platform's own help page, with the source and the day it was read. Without a platform, it lists every platform.

ArgumentTypeRequiredMeaning
platformstringnoPlatform key, for example amazon, ebay, etsy, shopify, google-shopping, zalando. Omit it to list every platform.

Without a platform the result is platforms: a list of key, name and kind (marketplace, or specs for ad platforms and other image specifications).

With a platform the result holds:

check_image_spec

Checks an image's width, height, format and file size, and its declared main-image background and product fill, against a platform's published rules.

ArgumentTypeRequiredMeaning
platformstringyesPlatform key (see get_image_requirements).
widthintegeryesImage width in pixels, 1 to 100,000.
heightintegeryesImage height in pixels, 1 to 100,000.
formatstringyesOne of jpeg, jpg, png, gif, webp, tiff, tif, bmp, heic, avif, svg.
file_size_bytesintegernoFile size in bytes. Without it, the file size limit is not checked.
backgroundstringnoMain-image background as seen in the photo: pure-white (RGB 255), white (off-white), light (light grey or neutral), coloured (plain colour), busy (scene or texture), transparent.
product_fillnumbernoShare of the frame the product covers on its longest axis, 0 to 1 (0.85 = 85%).

The result holds platform, name, pass (true when no checked rule fails), three lists of rule and message (fails, notes and not_checked), guide_url and fix_url. fix_url is null when nothing fails. When a main-image rule fails, it points to the Herofab app. When only measurements fail, it points to Herofab's free compressor for that platform (file size only) or its free resizer (size, aspect ratio or format), where the platform has one, and otherwise to the app.

What is not checked. The tool works from the values it receives, not from the photo, so:

Herofab links in results (guide_url, fix_url) carry utm_source=mcp, utm_medium=agent and the tool name as utm_campaign. Links to the platforms' own pages are not tagged.

Supported platforms

The server covers 98 platforms: 76 marketplaces and shop platforms, such as Amazon, eBay, Etsy, Walmart, Zalando, Shopify, Google Shopping and TikTok Shop, and 22 ad platforms and other image specifications, such as Google Ads, TikTok ads and Amazon A+ Content. get_image_requirements without arguments returns every key. The same rules are published on herofab.app:

Add it to an assistant

The server URL is the same in every client: https://app.herofab.app/mcp. No sign-in is needed.

Claude

  1. Open Customize → Connectors on claude.ai and choose Add custom connector.
  2. Enter https://app.herofab.app/mcp as the URL and choose Add.
  3. In a chat, turn the connector on from + → Connectors.

Claude Code

claude mcp add --transport http herofab https://app.herofab.app/mcp

Cursor

In ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "herofab": {
      "url": "https://app.herofab.app/mcp"
    }
  }
}

VS Code

In .vscode/mcp.json:

{
  "servers": {
    "herofab": {
      "type": "http",
      "url": "https://app.herofab.app/mcp"
    }
  }
}

ChatGPT

ChatGPT connects to remote MCP servers in developer mode, on the plans where OpenAI offers it. At the time of writing, developer mode is turned on under Settings → Apps & Connectors → Advanced settings → Developer mode; a connector is then created with the server URL above and no authentication. ChatGPT's menu names change from time to time, and OpenAI's help center describes the current steps.

Other MCP clients

Any client that supports Streamable HTTP connects with the same URL. Supported protocol versions: 2025-11-25, 2025-06-18 and 2025-03-26. To list the tools from a terminal with MCP Inspector:

npx @modelcontextprotocol/inspector --cli https://app.herofab.app/mcp --transport http --method tools/list

Example prompts

Limits and errors

Privacy

The server receives only the fields an assistant sends: a platform name and, for a check, an image's width, height, format and file size and a description of its background and product fill. Apart from the platform name, these values are not stored. Each call writes one anonymous log line with the tool name, the platform, the result and the response time, which contains no IP address and no personal data. Rate limits count requests per keyed hash of the network address, held in memory only. The general server logs described in the privacy notice apply to these requests as to any other. The conversation with the assistant is processed by the assistant's provider under its own privacy terms. Details: privacy notice, AI assistants.

For API customers: the studio server

A separate MCP server, https://app.herofab.app/mcp/studio, runs Herofab's image tools with a workspace's own API key and credits. It is not part of the public server described above: the public server at /mcp offers no image generation, even when a key is sent.

Server URL
https://app.herofab.app/mcp/studio
Authentication
Authorization: Bearer hf_sk_live_…, an API key created in the Herofab app under Settings, API keys
Server name
herofab-studio
Credits
generate_image spends the workspace's credits
ToolKey scopeWhat it does
list_studio_toolsany keyHerofab's image tools with their credit cost, image inputs and settings.
generate_imagejobs:writeSpends credits. Starts one image job from a product photo at a public http(s) address (JPEG, PNG or WebP, up to 25 MB) and reserves the tool's credit cost. idempotency_key is required: a new value for each new image, the same value when retrying the same request. A repeated key with the same request returns the first job and charges nothing again; the same key with a different image, tool or settings is refused with idempotency_key_reused. The credit balance is checked before the photo is fetched. Returns the job id at once.
get_jobjobs:readStatus of a job. When it has succeeded, each image has a short-lived download link; while it is queued or running, poll_after_seconds says when to check again.
get_creditsbilling:readAvailable and reserved credits and this period's usage.
get_image_requirements, check_image_specany keyThe two rule tools of the public server.

A tool whose scope the key lacks is not listed; called anyway, it returns an error with a link to create a key with that scope. Rate limits apply per API key, as in the HTTP API. The studio server answers no browser cross-origin requests, so the key stays in desktop and server-side clients. Calls are handled like any other API call (see API and webhooks in the privacy notice); their log line also holds the first eight characters of the key's ID.

Claude Code:

claude mcp add --transport http herofab-studio https://app.herofab.app/mcp/studio --header "Authorization: Bearer hf_sk_live_..."

Cursor (mcp.json):

{
  "mcpServers": {
    "herofab-studio": {
      "url": "https://app.herofab.app/mcp/studio",
      "headers": { "Authorization": "Bearer hf_sk_live_..." }
    }
  }
}

The HTTP API behind these tools, with uploads, batches and signed webhooks, is described on the API page.

Support

Questions about the MCP servers, errors and corrections to rule data go to support@herofab.app. For a rule correction, include the platform and the official page.

Support
support@herofab.app
Contact
herofab.app/contact
Privacy notice
herofab.app/privacy
Terms of service
herofab.app/terms