Skip to main content
Glama

Affine Earth Math Court Remote

verify_bernstein_vazirani

QC-007 Bernstein-Vazirani: answers[i] = popcount(hidden AND query_i) mod 2 for every query. The separator between queries is ';' - the working call is hidden=101, queries=100;010;001, answers=101 -> WIN. Comma-separated queries (100,010,001) are REFUSED_SHAPE. All three fields required. Floats refused.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hiddenYesthe hidden bit string s, length 1..8, e.g. 101
answersYesone bit per query, concatenated in query order, e.g. 101 = popcount(s AND q_i) mod 2 for each query
queriesYesquery bit strings of the same length as hidden, separated by ';' (a comma-separated list is REFUSED_SHAPE), e.g. 100;010;001

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / answers / description
      Added value: +"one bit per query, concatenated in query order, e.g. 101 = popcount(s AND q_i) mod 2 for each query"
    • addedInput schema / properties / hidden / description
      Added value: +"the hidden bit string s, length 1..8, e.g. 101"
    • addedInput schema / properties / queries / description
      Added value: +"query bit strings of the same length as hidden, separated by ';' (a comma-separated list is REFUSED_SHAPE), e.g. 100;010;001"
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "answers",
      +  "hidden",
      +  "queries"
      +]
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses input-validation behavior (all three fields required, separator must be ';', comma lists and floats refused) and the WIN condition, but says nothing about the returned verdict format or outcomes on non-winning input.

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?

The algorithm and core formula are front-loaded, followed by separator rules, an example, and requirements; nearly every sentence carries information. It is dense and somewhat run-on but appropriately sized for the input complexity.

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 3-parameter verifier with no output schema, the description covers the input contract thoroughly, including separator format, required fields, and a full worked example. The only gap is the expected return/verdict, which is minor given no output schema exists.

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?

Schema coverage is 100%, so the schema already documents all three parameters in detail. The description largely restates this (hidden bit string, one answer bit per query, ';' separator) rather than adding syntax or format meaning beyond the schema, so the baseline 3 applies.

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 names the specific algorithm (Bernstein-Vazirani) and states the exact relation answers[i] = popcount(hidden AND query_i) mod 2, so an agent knows this verifies a BV submission. It is clear but does not explicitly distinguish itself from near-identical siblings like verify_deutsch_jozsa or verify_simon, leaving differentiation to the algorithm name alone.

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 concrete working call and the refusal conditions (comma-separated queries are REFUSED_SHAPE, floats refused), which implies how to invoke it correctly. However, it offers no guidance on when to use this tool versus the many other verify_* siblings, nor on prerequisites or sequencing.

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