Skip to main content
Glama

Tommos

Update a deal

update_deal
Idempotent

Update a deal's fields (title, amount, currency, client_name, contact_id, stage_id, owner_id, their_signatory_name, their_signatory_title), or who prepares its offer: presales_name and presales_email, and a note of how the rep reaches that colleague — presales_channel (email, telegram, whatsapp, rocketchat, sms, slack) with presales_handle, the address on that channel. Tommo never writes to presales; the rep does. A stage change keeps move_deal's rules (a lost stage needs lost_reason from the list); the pipeline follows the stage; owner_id is a person of this team who may own a deal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRow id (uuid)
titleNo
amountNo
currencyNo
owner_idNo
stage_idNo
contact_idNo
client_nameNoThe company the work is for, when the contact is a finder and not the buyer
lost_reasonNoWhy, when stage_id is a lost stage — one of the organization's lost reasons
pipeline_idNoOnly as a check: it must be the pipeline of the deal's stage
presales_nameNo
presales_emailNo
presales_handleNoThe colleague's address on that channel.
presales_channelNoHow the rep reaches the presales colleague. A note for people: Tommo does not write to presales on it.
their_signatory_nameNoWho signs for the client, by name, once their letter or a person names them. Empty clears it.
their_signatory_titleNoTheir signatory's title. Empty clears it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover idempotency, non-destructiveness, and closed-world scope, so the bar is lowered, yet the description still adds real behavior: a lost stage requires lost_reason from the org's list, the pipeline follows the stage, owner_id must be a person of this team, and empty signatory values clear the field. It does not disclose error behavior or response shape, but that is a minor gap against the annotation coverage.

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

Conciseness3/5

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

The tool's core action is front-loaded correctly, but the body is one long, dash-heavy paragraph mixing field lists, stage rules, and identity constraints. Every clause carries information, yet the run-on structure makes it harder to scan than a short bulleted grouping would.

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 16-parameter mutation tool with no output schema and 50% schema coverage, the description supplies the missing rules on conditional parameters (lost_reason, pipeline_id), identity constraints, and clearing semantics. Remaining gaps are the already-documented simple fields and any post-update return expectations.

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 16 parameters and only 50% schema description coverage, the description compensates meaningfully: it explains presales_channel values as a channel-of-contact note, presales_handle as the address on that channel, lost_reason's dependency on the org's list, owner_id's team constraint, and pipeline_id's role as a consistency check. Several params (title, amount, currency, contact_id, signatory fields) are still named without added semantics, which keeps this below 5.

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?

States a specific verb and resource ('Update a deal's fields...') and enumerates exactly which fields are in scope, including the presales sub-group. It also differentiates behaviorally from siblings move_deal (stage-change rules) and write_to_a_tommo_on_a_deal ('Tommo never writes to presales; the rep does'), so an agent can place it without opening 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 Guidelines3/5

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

Usage is implied rather than stated: the move_deal rules reference signals relevance for stage changes, and the presales clause signals what the tool does not do. There is no explicit when-to-use guidance vs update_contact, create_deal, or move_deal for a given rep intent, and no prerequisites (permissions, id validity) are spelled out.

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