Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_social_update_watermark

Idempotent

Update an existing watermark template's image, position, opacity, scale, padding, and account bindings by template ID.

Instructions

Update a watermark template by ID Update the config on an existing watermark template — image URL, position, scale, opacity, padding, template name, or the connected accounts it applies to. Updating accountIds re-binds the template to a different set of accounts; use the Get Accounts endpoint to look up account IDs. Endpoint: PUT /social-media-posting/{locationId}/watermarks/{templateId} (Version header: v3; source: v3/social-planner-v3.json) Requires a Sub-Account (location) token. OAuth scopes: socialplanner/watermarks.write

Input Schema

NameRequiredDescriptionDefault
bodyYesRequest body (schema carried verbatim from the official OpenAPI spec).
locationIdYesLocation ID
templateIdYesWatermark template ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and idempotentHint=true, so the description is not carrying the safety burden alone; it still adds real value with the Sub-Account token requirement and the OAuth scope socialplanner/watermarks.write. The 'Sending this replaces the current binding entirely' note discloses set-replacement semantics, which is a meaningful behavioral trait. It does not mention rate limits or the response shape, keeping it at 4.

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

Conciseness5/5

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

Front-loaded with the operation, then the mutable fields, then a targeted caveat about accountIds, then compact endpoint/auth/scope lines. The only mild redundancy is repeating 'update a watermark template' in sentence two, but overall every line earns its place.

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 mutation tool with full schema coverage, present annotations, and no output schema, the description supplies everything an agent needs to call it correctly: endpoint, version header, token type, and scope. Missing only return-value expectations and confirmation of what happens to omitted fields, which is minor given the schema.

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

Parameters3/5

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

Schema description coverage is 100% and every field (scale bounds, opacity bounds, position enum, PNG/JPG size rules, soft-delete flag, accountIds replacement) is already documented in the schema. The description's field list largely restates that and adds no format or constraint detail the schema lacks, so the baseline 3 applies.

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?

States a specific verb and resource ('Update a watermark template by ID') and immediately enumerates the mutable surface: image URL, position, scale, opacity, padding, template name, and connected accounts. Against siblings like ghl_social_create_watermark, ghl_social_delete_watermark, and ghl_social_get_watermark, an agent can tell instantly which CRUD operation this is without opening the schema.

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

Usage Guidelines4/5

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

It explains the one non-obvious usage decision well: setting `accountIds` re-binds the template and requires looking up IDs via the Get Accounts endpoint. It also gives the endpoint path, version header, and token type, so context for invoking is clear. It stops short of explicit when-not-to-use guidance (e.g., use create_watermark for a new template), so 4 rather than 5.

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

Deploy Server

Other Tools