Skip to main content
Glama

Tommos

Update a contact

update_contact
Idempotent

Update a contact by id — only the fields given. The change leaves a timeline row naming who made it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRow id (uuid)
phoneNo
fieldsNoThe workspace's own fields, by field id (list_contact_fields names them): the value to set, or null to clear it. A number, a date as YYYY-MM-DD, yes/no as true/false, a choice by its id or label, a person by their user id.
companyNo
timezoneNoThe lead's IANA time zone (America/New_York); letters wait for their working hours. Empty string clears it.
full_nameNo
is_finderNoTrue when this person brings us someone else's work: a partner, a consultant, an advisor whose client buys, not their own company. The deal then opens on the meeting with that end client, and a call with this person gets its own recap.
primary_emailNo
triage_statusNoA person's triage verdict: cleared (approved), review (needs a look), disqualified (junk or spam), none (never triaged). It acts outward: cleared completes the bookings the gate withheld (calendar event, meeting link, their emails) and hands the lead to its tommo; disqualified cancels the lead's future bookings. It leaves a timeline event.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the mutation/safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), so the description only needs to add beyond that. It does add two real facts: the update is partial (unspecified fields are untouched, consistent with idempotency) and the change is auditable via a timeline row naming the actor.

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?

Two short sentences, verb and scope front-loaded, and the second sentence (audit trail) is a genuine behavioral fact rather than filler. Nothing redundant or padded.

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

Completeness3/5

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

For a 9-parameter mutation tool with no output schema, the description covers the update semantics and one side effect, and annotations cover the safety profile. It stops short of mentioning the outward-facing side effects of some values (cancelling future bookings, clearing via null), which an agent would only learn by reading the schema.

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 56%; the tricky parameters (fields, timezone, is_finder, triage_status) carry their own rich descriptions in the schema, while the undescribed ones (phone, company, full_name, primary_email) are self-evident. The description itself adds no parameter meaning, so it neither compensates for nor worsens the mid-level coverage.

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 ('Update a contact by id') and adds the partial-update scope ('only the fields given'). It is distinguishable from create_contact/delete_contact/get_contact by the operation itself, but it never explicitly names or contrasts a sibling.

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?

Usage is only implied: you need an existing row id and supply only the fields to change, which signals a patch path rather than a create/replace. There is no guidance on when to prefer this over overlapping siblings such as set_the_lead_status (which the triage_status parameter appears to touch) and no exclusions or prerequisites.

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