Watermark Buster Local
Run Watermark Buster on your computer. The package includes a command line tool and a local stdio MCP server for Codex, Claude Code, Gemini CLI, Cursor, Antigravity, and other MCP clients.
Normal text and file cleaning uses the CPU and Python standard library. It does not send content to watermarkbuster.com.
Install
Python 3.10 or newer is required. pipx keeps the command in its own Python environment:
pipx install watermarkbuster-local
watermarkbuster-local doctor
To install this source checkout before the public package is released:
cd /path/to/watermarkbuster.com
pipx install .
watermarkbuster-local doctor
Upgrade a released install with:
pipx upgrade watermarkbuster-local
Use the CLI
Inspect or clean one file:
watermarkbuster-local inspect draft.md
watermarkbuster-local clean draft.md -o draft.cleaned.md
Audit a folder:
watermarkbuster-local audit-directory ./content --json > audit.json
Audit same-site URLs from a sitemap:
watermarkbuster-local audit-website \
--sitemap https://example.com/sitemap.xml \
--max-pages 100 \
--json > website-audit.json
The audit follows only URLs with the same scheme, host, and port as the sitemap. It reads at most 4 MB from each URL by default.
Connect an AI agent
The safest setup gives the agent access to one folder:
watermarkbuster-local mcp --root /ABSOLUTE/PATH/TO/YOUR/FILES
The command waits for MCP messages on standard input. An MCP client starts it for you.
Codex
codex mcp add watermark-buster-local -- \
watermarkbuster-local mcp --root /ABSOLUTE/PATH/TO/YOUR/FILES
Then run codex mcp list.
Gemini CLI
gemini mcp add --scope user watermark-buster-local \
watermarkbuster-local mcp -- --root /ABSOLUTE/PATH/TO/YOUR/FILES
Then run gemini mcp list.
Claude Code
claude mcp add --scope user watermark-buster-local -- \
watermarkbuster-local mcp --root /ABSOLUTE/PATH/TO/YOUR/FILES
Then run claude mcp list or use /mcp inside Claude Code.
Cursor, Antigravity, and JSON clients
Use this stdio MCP server object in the client's MCP settings:
{
"mcpServers": {
"watermark-buster-local": {
"command": "watermarkbuster-local",
"args": [
"mcp",
"--root",
"/ABSOLUTE/PATH/TO/YOUR/FILES"
]
}
}
}
Use a real absolute path. Restart the client after you save its settings.
Use npx or npm
The npm command can start the local Python package after pipx install watermarkbuster-local:
npx -y watermarkbuster-mcp --local --root "$PWD"
Or install both commands once:
pipx install watermarkbuster-local
npm install --global watermarkbuster-mcp
watermarkbuster-mcp --local --root "$PWD"
npx installs the small MCP launcher. pipx installs the local cleaning engine.
Local MCP tools
inspect_textfinds hidden Unicode without changing text.clean_textreturns clean text and removal counts.inspect_filechecks one file inside the allowed folder.clean_filewrites a clean copy inside the allowed folder.audit_directorychecks a folder tree.audit_websitechecks same-site sitemap URLs when network access is enabled.rewrite_text_localuses an Ollama server on this computer.remove_pixel_watermarkuses the optionalnoai-watermarkcommand.get_local_capabilitiesshows the folder boundary and optional tool status.
Optional local model rewriting
Install and start Ollama separately. Pull a model that is suitable for your computer, then run:
watermarkbuster-local rewrite draft.txt \
--model YOUR_LOCAL_MODEL \
-o draft.rewritten.txt
Only loopback Ollama URLs such as http://127.0.0.1:11434 are accepted. This prevents an agent from sending the text to a remote rewrite server.
Optional pixel cleaning
Pixel cleaning uses the separate noai-watermark project. It can run on a CPU, but the first use can download about 4 GB for the default model or about 10 GB for CtrlRegen.
That project does not currently publish a license file. Watermark Buster does not include its code or model files. Confirm that you have permission to install and use it before you continue.
pipx install noai-watermark
watermarkbuster-local remove-pixel source.png \
-o source.pixel-cleaned.png
Use --model-profile ctrlregen for the larger CtrlRegen pipeline. Watermark Buster does not bundle its code or model files.
Website access for agents
Website audit is off in MCP mode by default. Turn it on only when the agent must audit a site:
watermarkbuster-local mcp \
--root /ABSOLUTE/PATH/TO/YOUR/FILES \
--allow-network
The direct CLI website command does not need this flag because you start that command yourself.
File safety
- The MCP server can access only
--root. Its default is the folder where it starts. - Paths that leave the allowed folder are rejected.
- Cleaning writes a new file unless you give the same output path yourself through the direct CLI.
- Normal cleaning needs no account, token, model, GPU, or internet connection.
rewrite_text_localneeds a local Ollama model.remove_pixel_watermarkneeds the separate pixel tool and its model files.
Use these tools only on content that you own or have permission to change.
License
MIT. See the repository LICENSE file.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file watermarkbuster_local-0.1.0.tar.gz.
File metadata
- Download URL: watermarkbuster_local-0.1.0.tar.gz
- Upload date:
- Size: 65.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8f89225c089ad453813e4e837ac5b83739d4df495e035d6f3246a63c38bb435
|
|
| MD5 |
aef398670a91619144a848087f51f8f6
|
|
| BLAKE2b-256 |
bac1ae6360d85b3e98ffef560aefbcdc9853a3857a78ea7f0f569a600a5fb960
|
File details
Details for the file watermarkbuster_local-0.1.0-py3-none-any.whl.
File metadata
- Download URL: watermarkbuster_local-0.1.0-py3-none-any.whl
- Upload date:
- Size: 50.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11c23ded50bba7782322f40450545f7e53e73f50aaf0deaee31c47fb988006b3
|
|
| MD5 |
5aeacbefd26d2edcf5377aa0c8cd08f6
|
|
| BLAKE2b-256 |
e6cc2d0a35d9e0c1664ccecf10982939a8c4ebe6da27ff2ac48b2484ca8a6db3
|