mcpField
E
exiftool

exiftool

Local
github.com/joshmsimpsonMedia & Design0Updated 56w ago

About exiftool

exiftool is an MCP server that calls ExifTool to handle file metadata, for workflows that read, edit, or remove metadata from media and documents. Its tools include tag-specific reads, writes with automatic backups, and a supported-format listing.

Key features

  1. 01Read metadata from 150+ formats
  2. 02Extract selected metadata tags
  3. 03Write metadata with backups by default
  4. 04Remove selected or all metadata
  5. 05List supported file formats

Use cases

  1. 01Check photo capture time and camera details
  2. 02Add author or copyright tags to media
  3. 03Remove GPS location data from photos
  4. 04Check which file formats ExifTool supports

MCP support

The MCP server exposes ExifTool-based metadata reading, writing, removal, and format lookup to MCP clients. It communicates over stdio and requires ExifTool to be installed on the system.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"joshmsimpson-exiftool": {
"command": "uvx",
"args": [
"exiftool-mcp"
]
}
}
}
Run commanduvx exiftool-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiexiftool-mcp0.1.6

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.