How to find and remove watermarks with an AI agent

“Can you take the DRAFT off?” is a two-call job, and doing it in the right order is what keeps the answer honest.

Note
The commands and config snippets on this page are for the .NET build of the server — the only platform available today. Installation and client setup: MCP server for .NET. Other platforms will expose the same tools with their own launch command; everything else on this page applies unchanged.

Does contract.pdf have a watermark, and what does it say?

search_watermarks reports the watermark objects the engine can identify. This step matters because of what it rules out: a document that looks watermarked but returns nothing has the mark baked into its content, and no removal call will take it out.

2. Remove

Remove the DRAFT watermark but leave the company logo.

remove_watermarks with textFilter: "DRAFT" removes only the matching marks and saves <name>_unwatermarked.<ext>. Without a filter it removes every watermark it can identify.

3. Verify

Now search the cleaned file and confirm what is left.

A second search on the produced file is the difference between “removed” and “reported as removed”. It costs one call and it is the one people skip.

What will not come out, and why

The mark isRemovable?
A watermark object added by this server or the GroupDocs libraryYes
A watermark object added by many common toolsUsually
Text drawn into the page contentNo — it is content, not a watermark
Pixels flattened into a page imageNo — nothing distinguishes it from the page

For the last two, removal is not a watermark problem: covering an area is redaction, and a genuinely clean copy has to come from the source document.

A word on intent

This tool exists because documents legitimately outlive their marks — a DRAFT becomes final, a template carries an old brand, an internal mark should not reach an archive. Removing a watermark from a document you have no right to redistribute is a different matter, and no API changes that.