Medium Risk

UpdateUser

Update a user's attributes. You can set the user's primary contact identifiers (email address and phone numbers) by updating the `primary_email_address_id` and `primary_phone_number_id` attributes respectively. Both IDs should correspond to verified identifications that belong to the user. You ...

Handles credentials or secrets (auth); Accepts raw HTML/template content (body); High parameter count (30 properties)

Part of the Clerk MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

@clerk/clerk-mcp Write Risk 3/5

AI agents use UpdateUser to create or modify resources in Clerk. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call UpdateUser repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Clerk.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

clerk.yaml
tools:
  UpdateUser:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full Clerk policy for all 14 tools.

Tool Name UpdateUser
Category Write
MCP Server Clerk MCP Server
Risk Level Medium

View all 14 tools →

Agents calling write-class tools like UpdateUser have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

What does the UpdateUser tool do? +

Update a user's attributes. You can set the user's primary contact identifiers (email address and phone numbers) by updating the `primary_email_address_id` and `primary_phone_number_id` attributes respectively. Both IDs should correspond to verified identifications that belong to the user. You can remove a user's username by setting the username attribute to null or the blank string "". This is a destructive action; the identification will be deleted forever. Usernames can be removed only if they are optional in your instance settings and there's at least one other identifier which can be used for authentication. This endpoint allows changing a user's password. When passing the `password` parameter directly you have two further options. You can ignore the password policy checks for your instance by setting the `skip_password_checks` parameter to `true`. You can also choose to sign the user out of all their active sessions on any device once the password is updated. Just set `sign_out_of_other_sessions` to `true`.. It is categorised as a Write tool in the Clerk MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on UpdateUser? +

Add a rule in your Intercept YAML policy under the tools section for UpdateUser. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Clerk MCP server.

What risk level is UpdateUser? +

UpdateUser is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit UpdateUser? +

Yes. Add a rate_limit block to the UpdateUser rule in your Intercept 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.

How do I block UpdateUser completely? +

Set action: deny in the Intercept policy for UpdateUser. 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.

What MCP server provides UpdateUser? +

UpdateUser is provided by the Clerk MCP server (@clerk/clerk-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Clerk

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.