Skip to main content
Glama

Tommos

Approve a card

approve_a_card

Approve a card as the signed-in person: what it carries is done — a letter leaves (on the wire's own rules: nothing leaves before the owner confirms, a test record acts on nothing outward, a paused lead is not written to), a change lands on the record. The record says who approved it and that it was through MCP. Only a signed-in person approves; a key cannot. As Flow's Approve with edits: edits change a step's letter first (by its place on the card, 0 the first; subject and body as the person wants them); answer is the person's words answering the card's errand (the fact a letter's slot asks for, or any answer); picked is one of the options the errand names; file is a file the person answers with, kept in the customer's folder of the company's Drive; in_the_leads_hours dates the letter for the lead's working hours, read from the record (an open window sends now); struck names the departures struck on an errand. An errand approved with none of them is done with nothing to say.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNo
editsNo
answerNoThe person's words answering the card's errand
pickedNoOne of the options the errand names
struckNoThe errand's departures struck, by place
card_idYesThe card's id (from list_open_cards)
in_the_leads_hoursNoSend in the lead's working hours rather than now

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 cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), yet the description adds material context beyond them: the auth requirement, the audit trail ('The record says who approved it and that it was through MCP'), and the conditional suppression rules for test records, paused leads, and unconfirmed owners. It stops short of naming error or failure behavior for the mutation itself.

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 core action is front-loaded in the first clause, which is good, but the remainder is a dense run-on paragraph whose archaic metaphors ('what it carries is done', 'struck names the departures struck on an errand') cost more comprehension than they earn. Substantive content is present but padded with stylistic phrasing.

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 7-parameter, nested-object mutation tool with no output schema, the description covers the auth precondition, the resulting side effects, the audit record, and the per-parameter meaning of the optional edit/answer/file fields. It omits failure handling and does not revisit idempotency beyond the annotation, so it is nearly but not fully complete.

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 71% schema description coverage the baseline is 3, but the description genuinely adds semantics the schema lacks, notably that edits target a step 'by its place on the card, 0 the first' (zero-based index) and where a submitted file is stored ('the customer's folder of the company's Drive'). It explains answer/picked/struck in narrative form, though parts duplicate the schema and the archaic phrasing reduces precision.

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?

The description states a specific verb and resource ('Approve a card as the signed-in person') and spells out the two concrete effects: a letter goes out and a change lands on the record. It implicitly differentiates itself from siblings like reject_a_card or set_a_card_aside by centering on the approval action, but never names those alternatives, and the heavy metaphor ('a letter leaves', 'on the wire's own rules') makes the purpose clear only after parsing.

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?

It gives a real precondition ('Only a signed-in person approves; a key cannot') and conditional behavior for when the action has no outward effect (test record, paused lead, unconfirmed owner). However, it never says when to choose approval over the sibling refusal/rejection tools, so the routing guidance is only implied.

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