Skip to main content
Glama

fix_question

Save a previously asked question as an acceptance test so the same query can be rerun against future uploads of the same file. Call only after a person explicitly requests it.

Instructions

把问过的一道题固定为验收问题:以后重传同一份文件,用同一个查询再算一次。只在人明确说了之后调用。这道题的答案里有模型自己加的条件(evidence.filters 里 not_in_question、且筛掉了对象)时,note 不写就报错:先问人,不该加用 drop_filter 去掉重算,该加就在 note 里写明口径。

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": {
      "saved_as": "<saved_as>",
      "question": "<question>"
    },
    "name": "fix_question"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteNo口径说明,例如"按订单号计数"
questionYes题目原文,来自 list_questions 或 ask_question
saved_asYes运行的保存名,来自 list_runs 或 build_ontology

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses a precondition (explicit human instruction), a hard failure mode (calling without note when evidence.filters contains not_in_question entries that removed objects raises an error), and the persistence implied by 'later re-uploads reuse the same query'. It does not say what a successful call returns or whether an existing pin can be undone, which keeps it off 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.

Conciseness4/5

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

Purpose is front-loaded in the first clause, the gating rule follows, and the error/alternative branch comes last, which is the right priority order. The final sentence is dense and nested (condition, error, ask-human, drop_filter, note), costing some readability, but no sentence is filler.

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 mutation-style tool with no annotations and no output schema, the description covers the prerequisite, the failure condition, and the alternate path, which is most of what an agent needs to call it safely. Gaps remain around the result of a successful call and whether a pin can be changed or removed later.

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?

At 100% schema coverage the schema already documents that question comes from list_questions/ask_question and saved_as from list_runs/build_ontology, so the baseline is 3. The description does add real meaning for note — it is mandatory when the question's answer includes model-added filters, and it should record the agreed criteria — but it adds nothing for the other two parameters.

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 first sentence states a concrete verb and resource: pin an already-asked question as an acceptance question so that a re-upload of the same file re-runs the same query. It also names the sibling it is not (drop_filter) and the object it operates on (a question plus a saved run). An agent can distinguish this from drop_filter or ask_question without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

It gives an explicit gating rule ('only call after the human has explicitly said so') and then branches: if the question's answer contains model-added filters, ask the human first; if the filter should not be there, use drop_filter to remove and recompute; if it should stay, record the criteria in note. When-to-use, when-not, and the alternative are all spelled out.

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