Skip to main content
Glama

Atualizar perfil

update_profile
Idempotent

Atualiza o perfil do usuário autenticado (parcial — campo omitido ou string vazia mantém o valor atual; não há como limpar um campo já preenchido por esta tool, exceto hasBusiness que aceita true/false explícito). Não atualiza email, plano ou dados de assinatura (não expostos aqui).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_profile"
  }
}

Input Schema

NameRequiredDescriptionDefault
cepNoCEP do usuário
nameNo
phoneNo
pictureNoURL ou data URI da foto de perfil
currencyNoMoeda padrão do usuário (ISO 4217, ex: 'BRL')
locationNoCidade/localização do usuário
coverImageNoURL ou data URI da imagem de capa
occupationNoProfissão/ocupação
hasBusinessNoSe o usuário tem um negócio/CNPJ associado ao perfil
businessCnpjNoCNPJ do negócio
businessNameNoNome do negócio, quando hasBusiness = true
menuPreferenceNoPreferência de layout/menu do app
businessWebsiteNoSite do negócio

Output Schema

NameRequiredDescriptionDefault
idNo
cepNo
nameNo
planNo
slugNo
typeNo
emailNo
phoneNo
auth0IdNo
pictureNo
currencyNo
locationNo
createdAtNo
updatedAtNo
occupationNo
hasBusinessNo
businessCnpjNo
businessNameNo
menuPreferenceNo
businessWebsiteNo
onboardingCompletedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / properties / businessCnpj
      Added value: +{
      +  "description": "CNPJ do negócio",
      +  "type": "string"
      +}
    • addedInput schema / properties / businessName
      Added value: +{
      +  "description": "Nome do negócio, quando hasBusiness = true",
      +  "type": "string"
      +}
    • addedInput schema / properties / businessWebsite
      Added value: +{
      +  "description": "Site do negócio",
      +  "type": "string"
      +}
    • addedInput schema / properties / cep
      Added value: +{
      +  "description": "CEP do usuário",
      +  "type": "string"
      +}
    • addedInput schema / properties / coverImage
      Added value: +{
      +  "description": "URL ou data URI da imagem de capa",
      +  "type": "string"
      +}
    • addedInput schema / properties / currency / description
      Added value: +"Moeda padrão do usuário (ISO 4217, ex: 'BRL')"
    • addedInput schema / properties / hasBusiness
      Added value: +{
      +  "description": "Se o usuário tem um negócio/CNPJ associado ao perfil",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / location
      Added value: +{
      +  "description": "Cidade/localização do usuário",
      +  "type": "string"
      +}
    • addedInput schema / properties / menuPreference
      Added value: +{
      +  "description": "Preferência de layout/menu do app",
      +  "type": "string"
      +}
    • addedInput schema / properties / occupation
      Added value: +{
      +  "description": "Profissão/ocupação",
      +  "type": "string"
      +}
    • addedInput schema / properties / picture
      Added value: +{
      +  "description": "URL ou data URI da foto de perfil",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover write and idempotency hints, but the description adds crucial behavioral nuance: the partial-update rule, the no-clear limitation, and the special exception for hasBusiness. This prevents misuse, such as attempting to null out fields via empty strings, and goes well beyond what structured annotations convey.

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

Conciseness5/5

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

The description is two sentences, with the most critical caveat (partial update, no clearing) front-loaded and the exclusions following. There is no filler; every clause adds actionable information.

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

Completeness5/5

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

Given the 13 optional parameters, the partial-update behavior, and the presence of an output schema, the description covers the essential behavioral contract. It explains how updates behave, what cannot be updated, and the clearing limitation, making it complete enough for an agent to invoke the tool correctly.

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 85%, so most parameter meanings are in the schema. The description adds a global semantic that applies to all parameters: omission or empty string leaves the current value unchanged, and only hasBusiness can be explicitly toggled. This is significant context not present in the schema, elevating it above the baseline 3.

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?

The description clearly states 'Atualiza o perfil do usuário autenticado' (updates the authenticated user's profile) with a specific verb and resource. It also differentiates itself from siblings by explicitly excluding email, plan, and subscription data, making the tool's scope unambiguous.

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?

The description explains the partial-update semantics (omitted or empty string keeps the current value) and the inability to clear fields, which directly guides correct invocation. It also states what the tool does NOT update (email, plan, subscription), giving clear when-not-to-use guidance, though it does not name alternative tools explicitly.

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.