
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
exiftool-mcp
Advanced tools
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.
FAQs
MCP server for reading metadata from files using ExifTool
We found that exiftool-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.