Skip to main content
Glama

Add watermark

add_watermark

Add a visible text or image watermark to an image or PDF supplied as a public URL. Formats: JPG/PNG/WebP images up to 10 MB; PDF up to 30 MB. watermark_type=text requires text (<= 500 chars); watermark_type=image requires watermark_image_url (PNG/JPG/WebP, <= 5 MB, transparency supported). Position: top-left/top-center/top-right/center/bottom-left/bottom-center/bottom-right/tile. opacity 0.05-1, optional scale/font_size/color/rotation. For PDF, pass pages (e.g. "1-3,5") to limit pages. Synchronous. Cost: 2 credits per call; mcp-credit-gateway charges before forwarding the request. Requires Authorization: Bearer sk_live_... on the MCP endpoint.

Input Schema

NameRequiredDescriptionDefault
textNoWatermark text, required when watermark_type=text (<= 500 chars).
colorNoText colour as #RRGGBB. Defaults to upstream choice (usually white).
pagesNoPDF only. 1-based page selection such as "1", "1-3" or "1-3,5,8-10".
scaleNoImage watermark width as a fraction of the source width, 0.02–0.95.
opacityNoWatermark opacity, 0.05–1 (default 0.35).
positionNoAnchor for the watermark, or `tile` to repeat it across the page/image.bottom-right
rotationNoClockwise rotation in degrees, -180 to 180 (e.g. 45 for a diagonal stamp).
font_sizeNoText watermark font size in pixels (images) or points (PDF), 8–256.
source_urlYesPublic http(s) URL of the source image (JPG/PNG/WebP, <= 10 MB) or PDF (<= 30 MB).
source_typeNoOptional. Defaults to PDF when source_url ends in .pdf, otherwise image.
watermark_typeYes`text` stamps words; `image` overlays a logo/PNG watermark.
idempotency_keyNoOptional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.
watermark_image_urlNoPublic PNG/JPG/WebP watermark image URL, required when watermark_type=image (<= 5 MB; transparency supported).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

Goes well past the annotations: synchronous execution, 2 credits per call with mcp-credit-gateway charging before forwarding, required Authorization: Bearer sk_live_... header, per-format size limits, and transparency support for image watermarks. These are exactly the operational facts an agent cannot derive from readOnly/destructive/openWorld hints.

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?

Purpose leads, then constraints grouped by mode, then operational notes. Dense but almost every clause carries a constraint; the billing/header sentence is somewhat long and could be tightened.

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

Completeness3/5

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

For a 13-parameter tool with no output schema, the description never states what comes back — a hosted URL, base64, or a job reference — beyond 'synchronous' and the echoed idempotency_key. Inputs are thoroughly covered; the successful-call result shape is the notable hole.

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%, so all 13 parameters are already documented, and the description mostly restates the same ranges (opacity 0.05-1, position list, pages format). It does group the two conditional requirements under their watermark_type branches, which is modest added value over the schema.

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

Purpose4/5

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

States a specific verb and resource ('Add a visible ... watermark to an image or PDF') plus the input channel (public URL). The word 'visible' implicitly separates it from the sibling embed_blind_watermark, but no sibling is named explicitly.

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?

Gives clear preconditions for each mode: watermark_type=text needs `text`, watermark_type=image needs `watermark_image_url`, PDF page limiting via `pages`, plus accepted formats and size ceilings. It never says when to prefer this over embed_blind_watermark or remove_watermark, so routing to alternatives remains inferred.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.