Skip to main content
Glama

update_contact

Destructive

Update fields on a contact. Standard fields (firstName, lastName, email, companyName, notes, tags, lifecycleStage) and any custom field keys are accepted. bypassReceptionist turns Skip AI on (true) or off (false) for this person. doNotCall and doNotSms are protected — only the business owner can change those via the dashboard. Routes through the audit log so changes appear in the timeline. Use it to change an existing contact found with search or get_contact; to add someone new by phone number use addToContacts, and to add a dated note without touching fields use create_contact_note. Only the listed fields change; returns the updated contact, or an {error} naming an unknown contact or invalid value.

Input Schema

NameRequiredDescriptionDefault
fieldsYesStandard fields (firstName, lastName, email, companyName, notes, tags, lifecycleStage, bypassReceptionist) or any custom field key as key/value pairs. bypassReceptionist is Skip AI (true/false): when true, this person's calls skip the AI receptionist and leave a voicemail after the owner's greeting. doNotCall/doNotSms are blocked for compliance.
contactIdYesUUID of the contact to update. Get it from search (scope contacts).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark this as non-read-only and destructive, and the description adds exactly the context they cannot: which fields are write-protected for compliance and why (only the business owner via dashboard), that the operation is a partial patch ("Only the listed fields change"), that it is audit-logged into the timeline, and that failures return an error naming an unknown contact or invalid value. That covers mutation scope, authorization constraints, and error semantics.

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?

Content is dense and front-loaded: mutation scope first, then field semantics, then routing, then return behavior. The bypassReceptionist sentence partially duplicates the schema's own parameter description, which is the only real redundancy in an otherwise efficient block.

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?

No output schema exists, yet the description still states the return value (the updated contact) and the error shape. Combined with the authorization constraint, partial-update guarantee, and audit behavior, nothing an agent needs in order to call this destructive mutation safely is missing.

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

Parameters3/5

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

Schema description coverage is already 100%, and the schema text itself spells out bypassReceptionist as Skip AI and the doNotCall/doNotSms block. The description largely restates those same semantics rather than adding new detail such as value formats, key casing, or how clearing a field with null behaves, so the baseline of 3 applies.

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 opening sentence states a specific verb and resource ("Update fields on a contact") and the body enumerates the updatable field families (standard fields, custom keys, bypassReceptionist). It also explicitly distinguishes itself from addToContacts (new contact by phone) and create_contact_note (dated note without touching fields), so an agent can route correctly without inspecting the schema.

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

Usage Guidelines5/5

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

Explicit when-to-use ("change an existing contact found with search or get_contact") paired with two named alternatives and the conditions that select them (adding someone new by phone number, adding a dated note). The doNotCall/doNotSms exclusion tells the agent when the call will fail.

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