Upload a small catalog photo
The upload_catalog_image MCP tool: upload a small catalog photo.
upload_catalog_image · writes
MCP only (no REST operation).
What the model reads
Uploads a small image you have in hand onto a catalog entry, in one call: contentBase64 at most 512 KB, PNG, JPEG, WebP, AVIF or GIF. It is re-encoded and attached last, or as the lead photo with position: first. For a photo on the user's computer use upload_image when it is offered (up to 15 MB). undo_change takes it off again.
Permissions: catalog:write. Undo: the result names a change id; undo_change reverts it.
Input
| Field | Type | Required | Description |
|---|---|---|---|
entityId |
uuid | yes | |
mimeType |
"image/png" | "image/jpeg" | "image/webp" | "image/avif" | "image/gif" | yes | The image's type — only these are accepted. |
contentBase64 |
string | yes | The image's bytes in base64; at most 512 KB once decoded. max 700076 chars |
alt |
string | A description of the photo for screen readers (recommended). max 300 chars | |
position |
"first" | "last" | first makes it the entry's lead photo; last (the default) appends it. default "last" |
Input schema (JSON)
{
"type": "object",
"properties": {
"entityId": {
"type": "string",
"format": "uuid"
},
"mimeType": {
"type": "string",
"enum": [
"image/png",
"image/jpeg",
"image/webp",
"image/avif",
"image/gif"
],
"description": "The image's type — only these are accepted."
},
"contentBase64": {
"type": "string",
"maxLength": 700076,
"description": "The image's bytes in base64; at most 512 KB once decoded."
},
"alt": {
"type": "string",
"maxLength": 300,
"description": "A description of the photo for screen readers (recommended)."
},
"position": {
"type": "string",
"enum": [
"first",
"last"
],
"default": "last",
"description": "`first` makes it the entry's lead photo; `last` (the default) appends it."
}
},
"required": [
"entityId",
"mimeType",
"contentBase64"
],
"additionalProperties": false
}