MCPOutils MCP/Médias/update_asset

update_asset

Writemedia:write

Edit a photo/image's (or other file's) tags, folder memberships, or location associations (any source — uploads, Sydekick-generated, or synced media), and, for uploads only, its title/scope. Each of tags/folderIds/locationIds you pass REPLACES the full current list for that field — pass the complete desired list, not just additions. locationIds replaces only the associations added here (the asset's `assignedLocationIds`); synced media and GBP-imported photos also carry a location stamped by the source itself, which shows in `locationIds` and cannot be removed from this side. NOTE: unlike editing an asset's locations in the app UI, assigning a location here does NOT push the image into that location's Google-publish queue — that bridge is UI-only. For synced/UGC media only, status sets the moderation verdict by hand (ok, needs_review, or spam) — the same thing the Flag/Mark OK actions in the app do; optionally pair it with statusReason. Identify the asset by its key (e.g. "upload:abc123", from upload_asset or the library listing).

Paramètres
assetKeystringobligatoire
The asset's key, e.g. "upload:abc123" (required).
titlestringfacultatif
New title. Uploads only.
scopeType"account" | "client" | "location" | "brand"facultatif
New scope type. Uploads only.
scopeIdstringfacultatif
New scope id. Uploads only. A client id (list_clients) or location id (list_locations) for those two scope types; account/brand scoping has no lookup tool in this MCP surface.
tagsstring[]facultatif
Replaces the asset's full tag list.
folderIdsstring[]facultatif
Replaces the asset's full folder membership list (ids from list_asset_folders).
locationIdsstring[]facultatif
Replaces the asset's full list of locations assigned here (ids from list_locations). Locations stamped by the asset's own source are unaffected.
status"ok" | "needs_review" | "spam"facultatif
Sets the moderation verdict by hand. Synced/UGC media only.
statusReasonstringfacultatif
Optional note explaining the status, shown alongside it.
Exemple de requête
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_asset",
    "arguments": {
      "assetKey": "string"
    }
  }
}
Exemple de réponse
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.