AI agents use immich_assets_bulk_update to create or update resources in Immich — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Immich environment.
This tool creates or modifies data (metadata) for multiple assets reversibly. It falls under Write rather than Destructive because updates are reversible and the dry_run feature explicitly supports preview/validation before commitment. However, the bulk nature and lack of granular access control details elevate severity to medium—an agent could inadvertently modify metadata across many assets simultaneously.
From the tool's definition Tool name contains 'bulk_update' and description states 'Update metadata for multiple assets at once'. The 'dry_run' parameter indicates reversible modifications to asset metadata rather than destructive deletion.
Attacks that exploit this kind of access
Update metadata for multiple assets at once. Supports dry_run to preview changes. It is categorised as a Write tool in the Immich MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Immich MCP server in PolicyLayer and add a rule for immich_assets_bulk_update: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Immich. Nothing to install.
immich_assets_bulk_update is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the immich_assets_bulk_update rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for immich_assets_bulk_update. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
immich_assets_bulk_update is provided by the Immich MCP server (whitehara/immich-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →