Skip to main content
Glama

Update the user's profile

update_profile
Idempotent

Store what you know about a user, including their role, style, and contacts, so Smitline calls and meetings reflect them. Replaces saved fields; never add passwords or payment details.

Instructions

Update the user's profile with what you know about them. Fields you pass replace the saved ones; people are added or updated by name; removePeople drops people. Never put passwords, keys, or payment details here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aboutNoWho the user is: role, work, what they are building.
styleNoHow the user likes to come across on calls.
peopleNo
boundariesNo
removePeopleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, idempotent=true, destructive=false, but the description adds genuinely load-bearing detail: passed fields replace saved ones (replace, not merge), people are matched and upserted by name, and removePeople deletes entries. The security constraint (no passwords, keys, or payment details) is also real behavioral guidance not present in any structured field. Note a mild tension with destructiveHint=false given that removePeople drops data, though the scope is limited to the agent-managed profile.

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?

Three tight sentences, zero filler, front-loaded with the core action followed by mutation semantics then the safety constraint. Each clause earns its place by covering a different parameter family.

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 a mutation tool with annotations present and no output schema, the description covers what gets changed, how people are keyed, how deletion works, and what must never be stored. The one gap is partial-update semantics for omitted fields, which matters since all five parameters are optional.

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 description coverage is only 40%, so the description must compensate, and it does for the highest-risk parameters: replace semantics for about/style, name-based identity for people, and deletion semantics for removePeople. It does not clarify what happens to fields the caller omits (whether they are preserved or cleared), which is the main remaining ambiguity for a tool with zero required params.

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

Purpose4/5

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

Specific verb+resource ("Update the user's profile") that clearly pairs with the sibling get_profile as the write half of a read/write pair. It names the key sub-resources it mutates (fields, people, removePeople), letting an agent separate it from call-management siblings like save_call_note. It stops short of explicitly naming get_profile as its counterpart, so it is clear but not fully sibling-differentiated.

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

Usage Guidelines3/5

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

"Update the user's profile with what you know about them" implies the context (persisting learned facts about the user), but there is no explicit when-to-use/when-not or mention of the read alternative get_profile. The removePeople clause hints at cleanup usage but does not state a condition for reaching for it.

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