MCPOutils MCP/Emplacements/bulk_update_locations
bulk_update_locations
Writelocations:write
Apply the same profile patch, publisher overrides, and/or tag add/remove to many locations at once, optionally publishing each to Google afterward. Useful for changes like "add the tag 'holiday-hours-2026' to these 40 locations" or "turn off online ordering everywhere in this client". Capped at 100 locations per call — extra ids beyond that are silently skipped (check the returned `skipped` count). Tags are merged per-location (added/removed against each location's existing tags), never wholesale replaced. Returns a per-location result so partial failures are visible.
Paramètres
locationIdsstring[]obligatoire
The locations to update (required, up to 100).
patchobjectfacultatif
Base profile fields to set on every location, same shape as update_location's fields (e.g. { description, phone, tags }), including hours (regularHours, moreHours, specialHours — e.g. to close every location in a client on the same date) and services. Omit fields you don't want to change. NOTE: `attributes` here must be the stored array form `[{ id, value }]`, NOT update_location's { id: value } map — this patch is passed through as given. For a change to ONE location prefer update_location, which validates and converts each field.
overridesobjectfacultatif
Per-publisher overrides to apply to every location, keyed by publisher (google/facebook/apple/bing), each an object of profile fields.
addTagsstring[]facultatif
Internal tags to add to every location (merged with each location's existing tags).
removeTagsstring[]facultatif
Internal tags to remove from every location.
publishbooleanfacultatif
If true, push each updated location to Google immediately afterward.
Exemple de requête
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bulk_update_locations",
"arguments": {
"locationIds": [
"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.