Set Metadata
set_metadataUpdate metadata fields on a Premiere Pro project item by supplying complete XML or changing one XMP/project property with readback; optionally write XMP tags to source media.
Instructions
Update project metadata on a project item. Supply complete metadata_xml plus updated_fields, or field_name and value to read-modify-write one XMP/project property through AdobeXMPScript with field readback. The project packet (default) stays in the project; packet 'xmp' is written by Premiere into the source media file on disk and requires the filesystem capability.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Replacement value for field_name. Maximum 4096 characters. | |
| packet | No | Packet for field_name writes. Default project (Premiere-private metadata). | |
| item_id | Yes | Node ID or name of the project item | |
| field_name | No | Named field to update (for example Column.Intrinsic.LogNote). Used with value; cannot be combined with metadata_xml. | |
| metadata_xml | No | Complete Project Metadata XML previously read from get_metadata, with the intended field values applied. | |
| expected_value | No | Optional compare-and-set guard for field_name writes. | |
| updated_fields | No | Exact Project Metadata field paths changed in metadata_xml (for example, Column.Intrinsic.Description). | |
| field_namespace | No | XMP namespace URI or alias (premiere, dc, xmp, exif). Default premiere for project packet; required for xmp. | |
| idempotency_key | No | Optional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process or one HTTP session) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated. | |
| expected_cep_target | No | Optional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard. | |
| expected_project_path | No | Optional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether the tool completed successfully. | |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. | |
| tool | Yes | The registered MCP tool name. | |
| error | No | Failure detail when ok is false. | |
| receipt | No | Versioned common mutation receipt; success never implies rendered verification. | |
| idempotency | No | Present when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again. |