Set field in hash only if it does not exist.
AI agents use hash_set_if_not_exists to create or update resources in Amazon MQ MCP Server — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Amazon MQ MCP Server environment.
This tool modifies data (sets a hash field) in a reversible manner. It falls under Write rather than Read (it has side effects) or Destructive (the operation can be undone by overwriting or deleting the field). The 'only if not exists' condition limits blast radius to scenarios where the field is absent, reducing severity from high to medium.
From the tool's definition 'Set field in hash' indicates creation or modification of data. The conditional 'if not exists' suggests this only performs the write if a field is absent, making it a reversible write operation rather than a destructive action.
Attacks that exploit this kind of access
Set field in hash only if it does not exist. It is categorised as a Write tool in the Amazon MQ MCP Server MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Amazon MQ MCP Server MCP server in PolicyLayer and add a rule for hash_set_if_not_exists: 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 Amazon MQ MCP Server. Nothing to install.
hash_set_if_not_exists 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 hash_set_if_not_exists 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 hash_set_if_not_exists. 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.
hash_set_if_not_exists is provided by the Amazon MQ MCP Server MCP server (awslabs.amazon-mq-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.