Wraps the ExifTool command-line utility to read, write, and remove metadata from 150+ file formats including RAW camera files, common images, videos, audio, and documents. Exposes four tools: read_metadata for extracting all tags or specific ones like GPS coordinates and camera settings, write_metadata for updating fields like Artist or Copyright with automatic backups, remove_metadata for stripping GPS data or all metadata, and list_supported_formats. Requires ExifTool installed locally. Reach for this when you need to batch process photo metadata, strip location data before sharing images, or extract camera information from large media libraries. The server handles EXIF, IPTC, XMP, and manufacturer-specific formats across everything from CR2 and DNG to HEIC and WebP.
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.
Image Formats:
Video Formats:
Audio Formats:
Document Formats:
Archive Formats:
Other Formats:
ExifTool must be installed on your system. This MCP server is a wrapper that calls the ExifTool command-line tool.
macOS:
brew install exiftool
Ubuntu/Debian:
sudo apt-get install libimage-exiftool-perl
Windows: Download from https://exiftool.org/
Verify installation:
exiftool -ver
pip install exiftool-mcp
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"exiftool": {
"command": "exiftool-mcp"
}
}
}
The server communicates via stdio and follows the Model Context Protocol specification.
read_metadataRead 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_metadataWrite 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_metadataRemove 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_formatsList all file formats supported by ExifTool.
Parameters: None
Use the read_metadata tool with file_path: "photo.jpg"
Use the read_metadata tool with:
- file_path: "photo.jpg"
- tags: ["DateTimeOriginal", "Make", "Model", "LensModel"]
Use the write_metadata tool with:
- file_path: "photo.jpg"
- tags: {"Artist": "Jane Smith", "Copyright": "2025", "Rating": "5"}
Use the remove_metadata tool with:
- file_path: "photo.jpg"
- tags: ["GPS*"]
Use the remove_metadata tool with:
- file_path: "photo.jpg"
(no tags specified removes all metadata)
Use the list_supported_formats tool
git clone https://github.com/joshmsimpson/exiftool_mcp.git
cd exiftool_mcp
pip install -e .
python -m exiftool_mcp.server
MIT
Contributions are welcome! Please feel free to submit a Pull Request.