Skip to main content
Glama

update_user

Update an existing end user (identify by user_email, checked first, or external_id). Only fields you pass change (none at all is 400 NO_FIELDS_TO_UPDATE); metadata replaces the whole object, except referral_code (kept unless you send it) and stripe_account_id (Cred-only: the stored value stays and a value you send is silently dropped). signup_* fields overwrite attribution (use to correct it). 404 USER_NOT_FOUND. To change a wallet use set_user_wallet. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.

Input Schema

NameRequiredDescriptionDefault
nameNoNew name
emailNoNew email
api_keyNoCred API key (optional if set via the x-api-key header)
metadataNoNew metadata (replaces existing)
project_idNoCred project ID (optional; the API key already identifies the project)
signup_urlNoCorrected signup URL (also re-derives signup_host)
user_emailNoCurrent email of the user to update
external_idNoExternal ID of the user to update
signup_hostNoCorrected signup host
x402_paymentNoBase64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD
signup_credit_type_idNoCorrected signup credit type

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so: PATCH-style partial semantics, a 400 NO_FIELDS_TO_UPDATE on empty calls, 404 USER_NOT_FOUND, 1 CRD cost charged even on rejection, 429 costing nothing, and request_id in errors for support escalation. It also discloses surprising mutation effects (metadata wholesale replace; referral_code/stripe_account_id preserved; silent drop of stripe_account_id outside Cred).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb, resource, and lookup key, then the behavioral rules. It is dense with stacked parentheticals and semicolon-chained clauses, which costs some scannability, but essentially every clause carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation tool with no annotations and no output schema, the description covers cost, failure modes, field side effects, and the sibling alternative. It stops short of indicating what a successful response contains, which would round out the contract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds real meaning beyond it: precedence of user_email over external_id, the metadata replacement rule and its two exceptions, and the fact that signup_* fields re-derive attribution/related fields. It does not explain x402_payment mechanics beyond the schema's own note, leaving a small gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update an existing end user') and immediately disambiguates the lookup key ('identify by user_email, checked first, or external_id'). It also distinguishes itself from sibling set_user_wallet, so an agent can route correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly redirects wallet changes to set_user_wallet and explains the intended use of signup_* fields ('use to correct it'). It lacks an explicit boundary against create_user/delete_user, but the 'existing end user' phrasing and the named alternative cover the main ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources