Where was this photo taken, and with what camera? An AI agent can answer both by reading the EXIF, XMP and IPTC packages of the file locally, using GroupDocs.Metadata.Mcp, so the image never goes to a cloud service. A first prompt:

What EXIF data do these photos have? Include camera, date taken, and GPS if present.

The step-by-step version with config and troubleshooting is in the documentation: How to read EXIF, XMP, and IPTC data from images with AI.

Who asks photo provenance questions?

An editor needs to confirm that a submitted image carries the photographer’s copyright field. A researcher wants three hundred photos sorted by when they were taken, not by when they were copied. A security reviewer needs to know whether a photo about to be published reveals a home address. These are questions about the file, not about what the picture shows, and a model that only looks at pixels cannot answer them reliably. The answers sit in metadata packages that most viewers hide.

Why is uploading the photo the wrong first step?

Sending a photo to a cloud service to ask what it contains sends the photo, including the location you were trying to check for. With GroupDocs.Metadata.Mcp the client (Claude Desktop, Claude Code, Cursor, GitHub Copilot or another) starts the server as a local child process over stdio. There are no inbound ports and no external endpoints in the data path: agent, local server, local filesystem. The image is read in place, and only the answer travels. With a locally hosted model, not even that.

Which questions does the agent answer from the metadata?

read_metadata returns the packages the file carries (EXIF, XMP, IPTC) as JSON, and the agent reads the answer out of them. The prompts below work well:

Which of these photos were taken with the same camera?

Sort these images by date taken, not by file date.

Do any of these have GPS coordinates? Where?

Does the XMP show which software edited this?

The second one is quietly useful. File timestamps are rewritten by copying and syncing, while the EXIF date taken is not. For a narrow question, search_metadata with the category gps, time or tool returns only the matching properties, and it answers “does photo.jpg have GPS?” without dumping everything. A copyright question can use nameContains with the text “copyright”.

In evaluation mode EXIF GPS data is unavailable, so a count of 0 for gps proves nothing; check get_license_status first.

Example session (abridged, licensed server)

You:    Do any photos in /site-visit have GPS coordinates?
Agent:  [calls search_metadata: category = gps, per file]
Agent:  IMG_2041.jpg  count = 1  (category: gps)
        IMG_2042.jpg  count = 0
        IMG_2043.jpg  count = 1  (category: gps)
        2 of 3 photos carry GPS data. Want me to strip it from copies?

This is an illustration of the flow, not a captured screenshot. The reply fields follow the search_metadata description: count and a properties array.

What does evaluation mode hide?

This is the point where an unlicensed result can mislead you. In evaluation mode only the first 5 document properties are readable, and XMP and EXIF are partly unavailable. Exactly: XMP exposes only the first two schemes, and for EXIF the GPS data and the image thumbnail are unavailable. The read simply does not include them, so a check that reports “no location data” is not evidence of anything. Before concluding that a photo is safe to publish, ask:

What is the license status of the metadata server?

get_license_status answers in one call. Apply a license file or metered keys to remove the limit, or request a free 30-day temporary license.

How do I clean the photos once I know what they carry?

Strip EXIF from every image in this folder and confirm the copies are clean.

remove_metadata writes cleaned copies, and you can pass categories such as gps to remove only the location. A second read of the copy confirms the result. The originals remain on disk with everything intact, so publish the copies. The full workflow is covered in Why stripping metadata does not make a document safe to share.

Frequently asked questions

Can Claude tell me where a photo was taken without me uploading it? Yes, if the photo has GPS EXIF and you run GroupDocs.Metadata.Mcp locally with a license. The agent calls the server, the server reads the file from your storage folder, and the coordinates come back as text.

Which image formats are supported? The documented families include JPEG, PNG, TIFF, WebP and PSD, with EXIF, XMP and IPTC where the format has them. The server exposes the full GroupDocs.Metadata engine.

Why does the agent say a photo has no GPS when I know it does? Check the license mode. In evaluation mode EXIF GPS data is unavailable, so the read leaves it out.

Go deeper