Register one server in Claude, Cursor, VS Code or ChatGPT and describe the task in plain words. The assistant strips location, device data, dates and AI records, and puts each clean copy next to the original.
Copy for AI
Give this page to ChatGPT, Claude or a coding agent and let it do the setup.
You register the server in your AI app once. After that, each time you make a request, the assistant hands the file paths to the server. The files go to our servers, get cleaned and re-checked there, and the finished copy lands on your computer as name-clean.ext.
It runs the same engine as our photo, video, PDF and RAW tools: no re-encoding, and a file is called clean only when a second scan finds nothing that identifies you.
On your computer
For Claude Desktop, Claude Code, Cursor and VS Code. It reaches files and folders on your own machine, and it is the route we recommend.
In the chat app
For claude.ai and ChatGPT. You sign in instead of pasting a key, and it either cleans a file from a link or hands you an upload page.
MCP access is included in every plan, the free one too. Generate a key on the API keys page; it begins with mrt_live_ and appears just once. The local server additionally needs Node.js 18 or newer.
Open Settings → Developer → Edit Config. Add this to the file, put your key in, save, and restart Claude Desktop.
{
"mcpServers": {
"metadatatools": {
"command": "npx",
"args": [
"-y",
"metadatatools-mcp"
],
"env": {
"MRT_API_KEY": "mrt_live_..."
}
}
}
}On Windows, if Claude cannot start it, change the command lines to:
"command": "cmd", "args": ["/c", "npx", "-y", "metadatatools-mcp"],
Talk about the files or the folder the way you would to a coworker. Naming a folder covers the supported files directly inside it. Afterwards the assistant tells you what was removed from each file and where its copy is saved, and it can also tell you how much of your allowance is left.
| Kind | Formats | What is removed |
|---|---|---|
| Photos | JPEG, PNG, WebP | Location, camera and phone details, timestamps, owner fields, Content Credentials (C2PA) and AI generation records such as prompts and seeds. The picture itself is copied as is. |
| Author, producing software, creation and edit dates, and the XMP packet. Pages render exactly as before. | ||
| Video | MP4, MOV, M4V, MKV, WebM | Location, device make and model, recording date, encoder strings and the timed data tracks phones use for position. No re-encoding. |
| RAW photos | CR2, CR3, NEF, ARW, DNG, RAF, ORF, RW2 | GPS, capture time, owner name and body and lens serial numbers. Nikon’s serial number stays (the report names it); sensor data and the tags a RAW developer reads are untouched. |
Local server, running on your computer:
| clean_files | Cleans files, or the supported files in a folder, on your own computer. Each clean copy is written as name-clean.ext. Optional output_dir picks where, optional overwrite replaces existing copies. |
| check_usage | Reports your plan, the allowance left (images and PDFs for today, video and RAW for the month) and the biggest file your plan accepts. |
Hosted server, for claude.ai and ChatGPT:
| clean_file_from_url | Fetches a file from a public link, cleans it and answers with a download link that works for 15 minutes. |
| get_clean_result | Picks up the outcome of a video or RAW job that had not finished yet. |
| get_upload_link | Creates a one-time page where you drop a file from your device; it is cleaned there and you download the copy. |
| inspect_metadata | Lists the hidden metadata of a file at a public link and changes nothing. |
| check_usage | Reports your plan and what remains of each allowance. |
| Free | Starter | Pro | Business | |
|---|---|---|---|---|
| Images and PDFs per day | 500 | Unlimited | Unlimited | Unlimited |
| Videos per month | 10 | 100 | 1,000 | 10,000 |
| RAW photos per month | 10 | 100 | 1,000 | 10,000 |
| Largest file | 25 MB | 100 MB | 500 MB | 1000 MB |
The site, the API and MCP draw from the same allowance. Image and PDF usage resets at midnight UTC, video and RAW usage on the first of every month (UTC). A cleaning is counted when our server accepts the file; files the app rejects before uploading (wrong type, too big) cost nothing, and failed jobs are not charged.
Photos and PDFs are handled in memory and are never written to our storage. Video and RAW files wait in temporary space while they are cleaned: the original is deleted as soon as the job ends, and the clean copy disappears within a minute after it is returned (15 minutes when fetched through a link). We keep counters for billing and limits, and a file name only until its file is deleted. We never read or retain the content. See the privacy policy.
Model Context Protocol, an open standard that lets AI assistants such as Claude, Cursor and ChatGPT call outside tools. With this server added, a plain sentence from you turns into a real metadata cleaning job.
No. You paste one settings block into your AI app a single time, with your API key inside, and then simply ask in ordinary language. The local server needs Node.js 18 or newer, which developers usually have already.
With the local server, each file goes directly from your computer to ours and the clean copy is saved back on your computer. The assistant is shown file names, paths and the removal report, not the contents. With the claude.ai and ChatGPT connector it sees the link you provide and the result.
Never. A clean copy lands beside each original with -clean added to its name, such as holiday-clean.mp4. If that name exists, a number is appended instead of overwriting.
All of them, Free too. The server draws on the same keys and allowances as the website and the API: images and PDFs per day, video and RAW per month.
Yes, as a custom connector that you sign into with your MetadataTools.io account, no key needed. Those chat apps cannot forward a file you drop into the conversation, so there it cleans a file at a public link or hands you a one-time upload page. For files on your computer use Claude Desktop, Claude Code, Cursor or VS Code.
Yes. Set MRT_ALLOWED_DIRS to one or more folders, separated by : on Mac and Linux or ; on Windows, and any path outside them is refused.
Go to Dashboard, API keys. Revoking a key stops it immediately; removing an app under Connected apps ends that app’s access.
Stuck? Contact us