Skip to main content
Glama
posterly-mcp-server

posterly-mcp-server

by awpthorp

manage_google_business_media

Destructive

Add, replace, or delete photos and videos in a Google Business Profile gallery shown on Maps and Search, using preview and confirmation before changes publish.

Instructions

Change a Google Business Profile gallery (the photos and videos shown on Maps and Search). action=add (source_url, category): add a photo or video from a public https URL (upload it with upload_media first); COVER and PROFILE are single-slot and replace the existing one. action=delete (media_name from list_google_business_media): permanently remove an item from the public profile. Both use preview then confirm: call without confirm to get a preview and preview_id, show it, then call again with confirm=true and that preview_id.

Input Schema

NameRequiredDescriptionDefault
actionYesadd or delete.
confirmNoLeave out to get a preview; true only with the preview_id after the user approved it.
categoryNoadd: which gallery category to add the media to.
account_idNoGoogle Business account ID from list_accounts.
media_nameNodelete: full media resource name from list_google_business_media (accounts/.../locations/.../media/...).
preview_idNoThe preview_id from the preview call. Required with confirm: true.
source_urlNoadd: public https URL of the photo or video (from upload_media). Photos must be JPG or PNG, 10 KB to 5 MB.
location_idNoGoogle Business numeric location id (the location_id/platform_user_id from list_accounts, e.g. "197940849675145390"). NOT the ChIJ... Place ID from list_google_business_reviews view=review_link. Prefer account_id.
media_formatNoadd: defaults to PHOTO. Use VIDEO for videos (Google caps profile videos at 30s / 75MB).
workspace_idNoFilter to a workspace ID from whoami.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.55.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, but the description adds behavior those hints cannot convey: deletion is permanent and public-facing, single-slot categories replace rather than append, and every mutation follows a mandatory preview-then-confirm handshake with a preview_id. That preview/confirm protocol is the critical safety behavior and is absent from all structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then organized per action, with zero filler sentences. The telegraphic 'action=add (source_url, category):' style is dense but scannable; the only structural weakness is that the preview/confirm protocol — arguably the most important rule — is placed last rather than stated up front.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter destructive tool with no output schema, the definition covers prerequisites, action-scoped parameters, side effects, and the confirmation protocol, plus the fact that a preview returns a preview_id. It leaves the account_id/workspace_id scoping and the media_format semantics to the schema, which is reasonable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds genuine cross-parameter meaning: source_url and category are add-only, media_name is delete-only and must come from list_google_business_media, and preview_id must accompany confirm=true. It does not explain media_format's role beyond the schema, nor account_id vs location_id selection, so it stops short of a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb plus resource ('Change a Google Business Profile gallery') and immediately disambiguates with the parenthetical '(the photos and videos shown on Maps and Search)'. The two supported actions (add/delete) are enumerated, and it clearly separates this tool from list_google_business_media and upload_media by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the alternative for each operation: use upload_media first for add, and pull media_name from list_google_business_media for delete. It also states the when-not/when-careful conditions: COVER and PROFILE are single-slot and replace the existing item, and delete permanently removes from the public profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.