Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joshmsimpson avatar

Exiftool

  • Updated October 2, 2025
  • joshmsimpson/exiftool_mcp

io.github.joshmsimpson/exiftool is an MCP server that exposes ExifTool read/write/remove metadata operations to coding agents over stdio.

About

io.github.joshmsimpson/exiftool is a Model Context Protocol server that wraps Phil Harvey’s ExifTool so AI assistants can inspect and edit file metadata programmatically. developers shipping galleries, marketplaces, newsletters, or compliance-sensitive uploads use it when they need repeatable tag reads, redaction, or batch fixes instead of manual desktop tools. The server publishes on PyPI as exiftool-mcp (0.1.6) with stdio transport, which matches how most agent CLIs register local MCP children. You still need the ExifTool binary available on the machine—the MCP layer exposes operations to the model, not a hosted conversion API. Typical flows include stripping location from user photos, normalizing copyright fields, debugging why a CDN or social preview shows wrong dimensions, or validating that exported PDFs carry the expected document properties before launch.

  • Read metadata from 150+ file formats via ExifTool through stdio MCP (PyPI package exiftool-mcp v0.1.6)
  • Write and update tag fields agents need for titles, GPS, copyright, or custom XMP
  • Remove sensitive metadata before shipping user uploads or public assets
  • Stdio transport fits Claude Code, Cursor, and other local MCP hosts
  • Pairs with content, SaaS, and mobile apps that accept photos, PDFs, or AV files

Exiftool by the numbers

  • Data as of Jul 7, 2026 (Skillselion catalog sync)
terminal
claude mcp add exiftool-mcp -- uvx exiftool-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Packageexiftool-mcp
TransportSTDIO
AuthNone
Last updatedOctober 2, 2025
Repositoryjoshmsimpson/exiftool_mcp

What it does

Let your coding agent read, strip, or rewrite EXIF/IPTC/XMP metadata on images, video, audio, and documents without leaving the editor.

Who is it for?

Best when you're adding upload pipelines, DAM-lite features, or privacy scrubbing to apps that handle real-world media files.

Skip if: Skip if you only need cloud image transforms with no local file access or and refuse to install ExifTool on dev machines.

What you get

Your agent can query and mutate metadata on local files in agent-driven build and ship workflows before users see leaked GPS or stale tags.

  • Agent-callable read/write/remove metadata operations on supported local files
  • Repeatable privacy scrub workflows for upload features
  • Debuggable tag inspection without leaving the agent session

By the numbers

  • Supports 150+ file formats per server description
  • Package exiftool-mcp version 0.1.6 on PyPI with stdio transport
  • Repository: github.com/joshmsimpson/exiftool_mcp
README.md

MCP ExifTool Server

mcp-name: io.github.joshmsimpson/exiftool

An MCP (Model Context Protocol) server that provides access to ExifTool for reading, writing, and removing metadata from a wide range of file types.

Features

  • Read metadata from over 150 file formats
  • Write metadata to files with automatic backup creation
  • Remove metadata selectively or completely from files
  • Extract specific tags or retrieve all available metadata
  • Support for multiple metadata standards: EXIF, IPTC, XMP, GPS, and manufacturer-specific formats

Supported File Formats

Image Formats:

  • RAW Camera Formats: ARW, CR2, CR3, CRW, DNG, ERF, FFF, GPR, IIQ, K25, KDC, MEF, MRW, NEF, NRW, ORF, PEF, RAF, RAW, RW2, RWL, SR2, SRF, SRW, X3F
  • Raster Images: BMP, FLIF, GIF, HDR, HEIC, HEIF, JPEG, JPEG 2000, JXL, JXR, PCX, PGF, PNG, PPM, TIFF, WebP
  • Specialized Images: AVIF, BPG, DPX, EXR, FITS, FLIR, FPX, ICO, LFP, MIFF, PSD, PSP, QTIF, SVG

Video Formats:

  • Containers: 3GP, AVI, F4V, FLV, GLV, M2TS, MOV, MP4, MKV, MPEG, R3D, VOB, WebM, WTV
  • Other Video: DV, DVR-MS, INSV, LRV, MQV

Audio Formats:

  • Lossless: AIFF, FLAC, LA, OFR, PAC, WAV, WV
  • Lossy: AAC, APE, DSF, M4A, MP3, MPC, OGG, OPUS, RA, WMA

Document Formats:

  • Office: DOC, DOCX, XLSX, PPTX, XLS, KEY, NUMBERS, PAGES
  • Other Documents: PDF, EPS, RTF, TXT, XML, JSON
  • eBooks: EPUB, MOBI, AZW

Archive Formats:

  • 7z, GZ, RAR, ZIP

Other Formats:

  • Fonts: AFM, OTF, PFA, TTF
  • And many more specialized formats

Prerequisites

ExifTool must be installed on your system. This MCP server is a wrapper that calls the ExifTool command-line tool.

Installing ExifTool

macOS:

brew install exiftool

Ubuntu/Debian:

sudo apt-get install libimage-exiftool-perl

Windows: Download from https://exiftool.org/

Verify installation:

exiftool -ver

Installation

pip install exiftool-mcp

Usage

With Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "exiftool": {
      "command": "exiftool-mcp"
    }
  }
}

With Other MCP Clients

The server communicates via stdio and follows the Model Context Protocol specification.

Available Tools

read_metadata

Read metadata from a file using ExifTool.

Parameters:

  • file_path (required): Path to the file (absolute or relative)
  • tags (optional): Array of specific metadata tags to extract (e.g., ["DateTimeOriginal", "Make", "Model"])

Example:

{
  "file_path": "/path/to/image.jpg",
  "tags": ["DateTimeOriginal", "Make", "Model", "GPSLatitude", "GPSLongitude"]
}

write_metadata

Write or update metadata tags in a file using ExifTool. Creates a backup by default.

Parameters:

  • file_path (required): Path to the file (absolute or relative)
  • tags (required): Dictionary of metadata tags to write (e.g., {"Artist": "John Doe", "Copyright": "2025"})
  • overwrite_original (optional): If true, overwrites the original file without creating a backup. Default is false.

Example:

{
  "file_path": "/path/to/image.jpg",
  "tags": {
    "Artist": "John Doe",
    "Copyright": "2025",
    "Comment": "Beautiful sunset"
  },
  "overwrite_original": false
}

remove_metadata

Remove metadata from a file using ExifTool. Can remove all metadata or specific tags.

Parameters:

  • file_path (required): Path to the file (absolute or relative)
  • tags (optional): Array of specific metadata tags to remove (e.g., ["GPS*", "Comment"]). If not specified, all metadata is removed.
  • overwrite_original (optional): If true, overwrites the original file without creating a backup. Default is false.

Example:

{
  "file_path": "/path/to/image.jpg",
  "tags": ["GPS*", "Location*"],
  "overwrite_original": false
}

list_supported_formats

List all file formats supported by ExifTool.

Parameters: None

Examples

Reading all metadata from an image

Use the read_metadata tool with file_path: "photo.jpg"

Reading specific EXIF tags

Use the read_metadata tool with:
- file_path: "photo.jpg"
- tags: ["DateTimeOriginal", "Make", "Model", "LensModel"]

Writing metadata to a file

Use the write_metadata tool with:
- file_path: "photo.jpg"
- tags: {"Artist": "Jane Smith", "Copyright": "2025", "Rating": "5"}

Removing GPS data from a photo

Use the remove_metadata tool with:
- file_path: "photo.jpg"
- tags: ["GPS*"]

Removing all metadata from a file

Use the remove_metadata tool with:
- file_path: "photo.jpg"
(no tags specified removes all metadata)

Checking supported formats

Use the list_supported_formats tool

Development

Setup

git clone https://github.com/joshmsimpson/exiftool_mcp.git
cd exiftool_mcp
pip install -e .

Running locally

python -m exiftool_mcp.server

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Links

Recommended MCP Servers

How it compares

MCP integration to ExifTool, not a hosted media CDN or a single Cursor skill.

FAQ

Who is exiftool MCP for?

Developers who want Claude Code or Cursor agents to manage file metadata during feature work on uploads and exports.

When should I use exiftool MCP?

Use it while building or hardening media handling—reading tags, removing GPS, or fixing copyright before release.

How do I add exiftool MCP to my agent?

Install exiftool-mcp from PyPI (0.1.6), ensure ExifTool is on PATH, and register the server as a stdio MCP entry in Claude Code or your host’s config.

Developer Toolsintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.