Skip to main content
Glama

Update a contact

update_contact
Destructive

Edit a contact: name, email, company, notes, tags, subscription or blocked state, or pause the bot for them. Blocking a contact also stops every automation for them. botPaused is the softer option: automations and the AI stop answering this one person (e.g. while a human handles them by hand) but nothing is blocked and the team can still write to them; set it back to false to resume.

Input Schema

NameRequiredDescriptionDefault
nameNo
tagsNoReplaces the full tag list. Read the contact first if you want to add one.
emailNo
notesNo
blockedNo
companyNo
botPausedNotrue pauses automations and the AI for this contact only (no blocking); false resumes them.
contactIdYes
subscribedNo
idempotencyKeyNoOptional. A unique id for this action (16-128 chars: letters, digits, _ : . -). If you are unsure whether a call went through (timeout, network error), repeat it with the SAME idempotencyKey and the same arguments: you get the original result and nothing is done twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare the generic destructive/openWorld/not-readOnly profile; the description goes further by disclosing the concrete blast radius ('Blocking a contact also stops every automation for them') and the softer semantics of botPaused (automations and AI stop, nothing is blocked, team can still write). It does not discuss reversibility of other fields or permission requirements, but the added behavioral detail clearly exceeds what the annotations provide.

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 and field list, then the two behavioral caveats, with no filler. There is mild redundancy between the description and the botPaused schema description ('set it back to false to resume'), which keeps it from being maximally tight.

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 destructive multi-field mutation with no output schema, the description covers the highest-risk behaviors and the field surface. The remaining gaps — whether unspecified fields are left untouched, and permission/authorization needs — are modest but real for a tool with a destructiveHint.

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?

With only 30% schema description coverage across 10 parameters, the description carries real weight: it explains the behavioral difference between `blocked` and `botPaused` (the schema only defines botPaused, not blocked), and names the fields it can set. It does not clarify partial-update semantics for the remaining unspecified fields, but it meaningfully compensates for the coverage gap.

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?

States a specific verb and resource ('Edit a contact') and enumerates the editable surface (name, email, company, notes, tags, subscription/blocked state, bot pause). That is enough to separate it from list_contacts/get_contact/create_contact, but it never names the closest sibling (set_contact_field) so the boundary is left implicit.

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?

The blocked vs. botPaused contrast is genuinely useful selection guidance for choosing a parameter, including a concrete scenario ('while a human handles them by hand'). However, it gives no guidance on when to use update_contact rather than set_contact_field or other contact-mutation siblings, which is the alternative an agent most needs disambiguated.

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