Skip to main content
Glama

brainkb_qa_run

Run a canned question from brainkb_qa_list by id. params maps parameter names to values; they are validated and escaped, never spliced in raw. Runs through the same SPARQL endpoint as brainkb_sparql, so it needs the same role. Results page the same way: a query without its own LIMIT returns limit rows from offset, and page.next_offset says where to continue.

Input Schema

NameRequiredDescriptionDefault
limitNo
offsetNo
paramsNo
query_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 0,
      +  "title": "Limit",
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "title": "Offset",
      +  "type": "integer"
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and delivers: it discloses the auth requirement (same role as brainkb_sparql), the security handling of params (validated and escaped, never spliced raw), and the pagination contract (limit rows from offset, page.next_offset to continue). This is rich behavioral context beyond the schema.

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?

Front-loaded with the core action, then parameters, then auth, then paging. Three tight sentences with no filler, each conveying distinct information.

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 4-param tool with no annotations and no output schema, it covers purpose, param meaning, auth, and paging, and even names a return field (page.next_offset). Gaps remain around what limit=0 means and the result row format, but overall it is close to 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?

Schema coverage is 0%, so the description must compensate. It explains query_id (an id from brainkb_qa_list), params (name-to-value mapping), and the limit/offset paging behavior. It leaves the meaning of limit=0 (the schema default) and the shape of returned rows unspecified, so it is strong but not complete.

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 (Run) and resource (a canned question from brainkb_qa_list, by id), and explicitly names the sibling that supplies the query_id. An agent can distinguish it from brainkb_sparql, which it references as a related but distinct tool.

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

Usage Guidelines4/5

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

Directs the agent to brainkb_qa_list for the id and explains the relationship to brainkb_sparql (same endpoint, same role). It gives clear context for use, but never states an explicit when-to-use-this-vs-sparql rule or any exclusion.

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.