Skip to main content
Glama

Remove photo metadata (EXIF)

image_exif_strip
Read-onlyIdempotent

Removes EXIF, GPS, XMP, IPTC, comments, and embedded previews from photos before sharing, cleaning JPEG/PNG losslessly while optionally preserving orientation.

Instructions

Remove EXIF, GPS location, XMP, IPTC, comments, PNG text chunks and embedded previews from a photo before sharing it. JPEG and PNG are cleaned losslessly (image data copied byte for byte, like the website); by default the rotation is kept as a tiny orientation-only EXIF and the ICC colour profile is kept. applyOrientation re-encodes JPEGs with the rotation baked into the pixels. WebP/AVIF/HEIC/TIFF are re-encoded without metadata. Output name -clean.. Web version: https://s3eidat.github.io/exif-cleaner/

Input Schema

NameRequiredDescriptionDefault
imageYesThe photo: a local file path (absolute, or relative to the server's --root) or base64 data (raw or a data: URI).
outputNoWhere to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set).
keepIccNoKeep the ICC colour profile (no personal data; keeps colours right). Default true.
qualityNoJPEG/WebP/AVIF quality when re-encoding is needed. Default 92.
returnBase64NoAlso return the output as base64 in the result (only for small files). Default false.
keepOrientationNoKeep only the Orientation tag so the photo still shows the right way up. Default true.
applyOrientationNoInstead of keeping the Orientation tag, rotate the pixels (re-encodes JPEG at `quality`; PNG is unaffected). Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior2/5

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

The description is behaviorally rich — lossless byte-for-byte copying for JPEG/PNG, default retention of an orientation-only EXIF and the ICC profile, applyOrientation forcing a re-encode, and the generated '-clean' filename. However, it describes writing a new file to a path, which conflicts with the readOnlyHint=true annotation implying no environment modification; an agent trusting the annotation could be surprised by output files landing on disk.

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?

Front-loaded with what gets stripped and how, then defaults, then the re-encode caveat — a sensible ordering with no filler sentences. The trailing website URL is the one element that does not directly help an agent invoke the tool, keeping it from a 5.

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?

With no output schema, the description still covers the return artifact (output file named <name>-clean.<ext>) and the returnBase64 path, plus the per-format processing model. It omits what the result payload reports (e.g., which tags were removed or byte savings) and error behavior for unsupported inputs, which are minor.

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 coverage is 100%, so every parameter is already documented, and the baseline is 3. The description adds modest value by tying keepOrientation, keepIcc and applyOrientation to the defaults it applies ('by default the rotation is kept... the ICC colour profile is kept'), but says nothing about the `output` or `image` parameters and does not clarify when `quality` takes effect beyond what the schema states.

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?

The description opens with a precise verb plus an exhaustive resource list ('Remove EXIF, GPS location, XMP, IPTC, comments, PNG text chunks and embedded previews from a photo'), which is far more specific than the title. The natural contrast with the sibling image_exif_read ('remove' vs. 'read') is obvious from the verb, and the per-format handling further pins down what the tool actually does.

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?

'...before sharing it' supplies a clear motivating context, and the format notes implicitly tell the agent when lossless cleaning applies (JPEG/PNG) versus re-encoding (WebP/AVIF/HEIC/TIFF). It never explicitly says when not to use it or names image_exif_read as the alternative when the agent only wants to inspect metadata, so it stops short of a 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