Skip to main content
Glama

Mark an AI-generated file

mark_file

Adds an invisible watermark and signed C2PA manifest to AI-generated images or audio for EU AI Act Article 50 compliance, writing a marked copy next to the original.

Instructions

Adds an invisible watermark and a signed C2PA manifest (Content Credentials) to an AI-generated image (PNG, JPEG, WebP) or audio file (WAV, MP3), marking it as AI-generated for EU AI Act Article 50. Writes the marked copy next to the original (images as PNG, audio as WAV) and returns its watermark code and public verification URL. Use this on every image or audio file you generate before handing it to a user. Counts as one API call.

Input Schema

NameRequiredDescriptionDefault
pathYesPath to the local image or audio file to mark.
overwriteNoAllow replacing an existing file at output_path. Defaults to false.
model_nameNoName of the model that generated the file.
output_pathNoWhere to write the marked copy. Defaults to <name>.marked.<ext> beside the original.
visible_labelNoImages only. Also draw a visible label on the image (EU AI Act Art. 50(4), e.g. for deepfakes): true for "AI-generated", or custom text up to 40 characters.
generator_nameNoName of the app or system that generated the file; recorded in the C2PA manifest.
label_positionNoCorner for visible_label. Defaults to bottom-right.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond annotations, the description discloses key side effects and outputs: it writes a marked copy next to the original, converts images to PNG and audio to WAV, returns a watermark code and public verification URL, and counts as one API call. These details substantially clarify behavior for a non-read-only, open-world operation.

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?

The description is front-loaded with the core action, followed by usage, output behavior, and cost context. It is dense but every sentence contributes useful information without waste.

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

Completeness5/5

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

Given moderate complexity and no output schema, the description supplies the essential missing context: supported formats, output location and format conversion, return values, legal purpose, and API cost. An agent has enough information to invoke it correctly.

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 every parameter is already documented in the schema. The description adds high-level context about supported file types and output behavior but does not explain individual parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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?

The description states a specific verb and resource: adding an invisible watermark and signed C2PA manifest to AI-generated image or audio files. It is clear what the tool does, but it does not explicitly differentiate itself from siblings like verify_file or get_asset.

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 gives a clear usage directive: use this on every generated image or audio file before handing it to a user. It does not explicitly name alternatives or when not to use it, but the intended context is unambiguous.

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