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

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)
meetings_shownNoOn a card «Close the lead» as Disqualified: the keys (booking:<id>, event:<id>) of the future meetings to cancel, as an earlier answer named them; Google tells each guest. Without them none is cancelled, and the answer names each meeting it left, with its key.
in_the_leads_hoursNoSend in the lead's working hours rather than now

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / meetings_shown
      Added value: +{
      +  "description": "On a card «Close the lead» as Disqualified: the keys (booking:<id>, event:<id>) of the future meetings to cancel, as an earlier answer named them; Google tells each guest. Without them none is cancelled, and the answer names each meeting it left, with its key.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, the description still adds real substance: guardrails ("nothing leaves before the owner confirms", a test record acts on nothing outward, a paused lead is not written to) and the audit trail ("The record says who approved it and that it was through MCP"). The auth constraint that a key cannot approve is material context not carried by annotations.

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

Conciseness2/5

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

The description is a single dense run-on paragraph of metaphor and nested parentheticals, so key points are not front-loaded for scanning. The content is informative, but the phrasing ("the fact a letter's slot asks for", "the card's errand") costs more effort than it earns.

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 an 8-parameter mutation tool with nested objects and no output schema, the description covers the approval effects, the auth requirement, and most parameters, leaving meetings_shown to the schema. It stops short of describing the response shape, but overall it gives an agent enough to call the tool correctly.

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?

Schema coverage is 75%, yet the description adds meaning beyond the schema for several parameters: edits index semantics ("by its place on the card, 0 the first"), what answer/picked/file represent, that in_the_leads_hours is read from the record with an open window sending now, and that struck names struck departures. This goes past restating field names, though the prose buries the details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause does name a specific verb and resource ("Approve a card as the signed-in person") and describes the resulting effects (a letter leaves, a change lands on the record). However the heavy metaphor ("what it carries is done", "errand") makes the core action harder to extract than it should be, and no sibling such as reject_a_card or set_a_card_aside is named to disambiguate selection.

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?

One genuine usage constraint is given: "Only a signed-in person approves; a key cannot," which governs who may call it. But there is no explicit when-to-use versus reject_a_card, stop_a_card, or bring_a_card_back, and the approval-with-edits behavior is described rather than positioned against alternatives.

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.