Skip to main content
Glama

Ask the user

tg_ask_user
Read-only

Pause an AI workflow to ask the user a question in the TG Agent console, offering choices or free text and returning the answer or a timeout result.

Instructions

Ask the user a question in the TG Agent console and wait for the answer (e.g. which of two versions to download). Give options when possible. Returns the answer, or answered=false after timeout_s.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "question": "<question>"
    },
    "name": "tg_ask_user"
  }
}

Input Schema

NameRequiredDescriptionDefault
optionsNo
questionYes
timeout_sNo
allow_textNoAlso allow a free-text answer

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint/openWorldHint/destructiveHint=false, which say nothing about blocking behavior. The description adds the crucial trait that the call waits for a human reply and that a timeout yields 'answered=false' after timeout_s. It does not cover what happens if the session ends or the user declines, so it falls short of a 5.

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, front-loaded with the action and the waiting semantic, followed by the practical option-formatting tip and the return contract. Nothing redundant and nothing that could be trimmed without losing meaning.

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?

There is no output schema, and the description does state the return shape (the answer, or answered=false). For a four-parameter blocking tool that is nearly sufficient; the only gap is the undocumented allow_text parameter and the interaction between options and free text.

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?

With only 25% schema description coverage, the description must carry the load. It adds real meaning for 'options' (a recommended list of choices) and 'timeout_s' (timeout produces answered=false), but says nothing about 'allow_text' or how a free-text answer interacts with supplied options.

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?

The description gives a specific verb and resource ('ask the user a question in the TG Agent console') plus the defining behavior of waiting for the answer. No sibling in the list does anything comparable, so an agent can select it without ambiguity.

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 through the example 'which of two versions to download' and the advice 'give options when possible'. There is no explicit statement of when to prefer this over proceeding autonomously (e.g. only for blocking decisions) and no when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.