To bulk edit document properties, give an AI agent a standard and a folder, and let it read, write and verify through GroupDocs.Metadata.Mcp running locally. One prompt is enough to start:

For every document in my folder, set Company to “Acme Ltd” and Author to “Research Team”, then tell me which files you changed.

The step-by-step version with config and troubleshooting is in the documentation: How to correct document properties in bulk with an AI agent.

Why do metadata standards drift in the first place?

Templates leave the previous company in every new file. A team rename leaves the old name in the author field. A migration leaves timestamps that make no sense. Nobody edits properties by hand across 200 files, so the drift stays. An agent with a loop is the right tool for it, but only if the edit is done by an engine: a language model that “rewrites” a document to change its author regenerates content, while write_metadata changes one field and leaves the body alone.

What is the workflow?

The workflow has four steps, and each has one prompt. Run it in Claude Desktop, Claude Code, Cursor, GitHub Copilot or any other client that has the server registered.

  1. Check the license. Ask: “What is the license status of the metadata server?” The agent calls get_license_status. Do this before a bulk run, not after.
  2. Read the current values. Ask: “First list the current Author and Company for each file.” The agent calls search_metadata with nameContains, which returns only the matching properties.
  3. Write only what is wrong. Ask: “Change only the ones that are wrong.” The agent calls write_metadata for each file and each property.
  4. Verify. Ask: “Read the Author and Company again on the new files and list any that still differ, with the reason.” Ask for failures as a list rather than a count.

Who decides what: the agent or the engine?

Decision Made by
Which files are in scope, and which values are wrong The agent, from your standard
Which property name maps to which field in a PDF, a DOCX or a JPEG The engine: write_metadata maps the friendly name per format
Whether a property exists in a format The engine: a write that does not apply reports 0 changed or fails with a message, never a silent success
What was saved and where The tool: it returns a saved-path message and the number of fields changed
Whether the final state matches the standard The agent, by reading back

write_metadata accepts property as one of Author, Title, Subject, Keywords, Comments, Copyright, Company or Manager. mode is set (replace, the default) or add (append, for list fields such as Keywords).

What is the rule that keeps every edit?

write_metadata sets one property per call and saves a new file. Two properties on one document are two calls, and the second must be applied to the result of the first. If the second call starts from the original, the first edit disappears. When an agent reports that both properties are set and only one stuck, this is the reason. State the rule in the prompt:

Apply the second change to the file produced by the first, not to the original.

Example session (abridged)

You:    Set Company to "Acme Ltd" on every .docx in the folder. List current values first.
Agent:  [calls search_metadata: nameContains = "Company", per file]
Agent:  proposal-q1.docx   Company = "Contoso GmbH"   -> will change
        handbook.docx      Company = "Acme Ltd"       -> already correct
        notes.docx         (no Company property)      -> will add
You:    Go ahead. Name each file you produced.
Agent:  [calls write_metadata: property = Company, value = "Acme Ltd", mode = set]
Agent:  2 files changed, 1 unchanged. Each saved copy is named in the tool reply.

This is an illustration of the flow, not a captured screenshot.

Why not fix the whole folder in one pass?

A blind bulk write can replace good values with worse ones, so the read step is the dry run. It costs one extra call per file. Under metered licensing every call is billed usage, and a two-property sweep over 200 files is 400 write calls plus the reads, so filter first and write second.

Formats differ. A property that a format has no place for is reported as 0 changed or fails with a message instead of pretending to succeed, which is the right behavior but means a mixed folder can give a partial result. Ask for the failures as a list.

What are the limits in evaluation mode?

In evaluation mode only the first 5 document properties are readable, and XMP and EXIF are partly unavailable. Writing is limited in the same way. A “check, then write” workflow under evaluation checks a truncated list, so it can miss the very property you are trying to correct. Confirm with get_license_status and apply a license file or metered keys before relying on the result. A free 30-day temporary license is available.

Frequently asked questions

Can I change the author on 100 Word documents at once? Yes, with a prompt that names the folder and the value. The agent makes one write_metadata call per file for the Author property, so 100 files means 100 write calls.

Does the agent overwrite my original files? The tool saves a new file and returns its path, so the original is not the output. Ask the agent to name each file it produced, and keep the originals until you have verified the copies.

Can the agent set a custom property that is not in the list? The documented property values are Author, Title, Subject, Keywords, Comments, Copyright, Company and Manager. Anything else is outside what the tool describes.

Go deeper