Skip to main content
Glama

Quantum Expectations

Compute Fault-Tolerant Resources

compute_fault_tolerant_resources
Read-onlyIdempotent

Given an algorithm stated as (numLogicalQubits, tCount) and a physical error rate (or hardwareId), derive the full surface-code + magic-state-distillation footprint from the general laws of the Litinski lattice-surgery cost model (no per-scenario constants): distillation factory choice, tile layout, required code distance, total physical qubits, and wall-clock time. Results are reported under TWO published logical-error fits (conservative + optimistic) because they disagree by 13-268x (d=7 to d=25) - always state both. Returns an explicit infeasible block when no cataloged factory or code distance can satisfy the error budget. Computes numbers only: comparing against classical alternatives and concluding "should this run on a quantum computer" stays with you, the calling agent (state the caveats when you do).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tCountYesTotal number of T gates (magic states consumed). Convention: state Toffoli-counted algorithms in T gates before calling (1 Toffoli ≈ 4–7 T depending on decomposition).
dataBlockNoData-block layout (Litinski §2): compact = fewest qubits, fast = shortest time per T gate.compact
hardwareIdNoAlias for qubitErrorRate: resolves to the error rate of a SOTA hardware entry.
qubitErrorRateNoPhysical 2-qubit error rate p in (0, 0.1]. Supply exactly one of qubitErrorRate or hardwareId.
cycleTimeSecondsNoSurface-code cycle time in seconds. Default 1 µs (Litinski convention; Google 2024 measured 1.1 µs on superconducting hardware). Trapped-ion/neutral-atom cycles are orders of magnitude slower.
numLogicalQubitsYesNumber of logical data qubits the algorithm needs.
targetSuccessProbabilityNoTarget end-to-end success probability. The failure budget (1 − target) is split evenly between T-state error and logical (memory/surgery) error, matching Litinski §4.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive traits. The description adds meaningful behavioral context: it always reports results under two logical-error fits (conservative and optimistic) because they differ by 13–268x, returns an explicit infeasible block when no factory/distrance satisfies the budget, and clarifies that it does not make quantum-vs-classical conclusions. This goes well beyond the annotations and provides important invocation expectations.

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?

The description is three sentences, each carrying essential information: the first establishes the model and outputs, the second highlights the dual-fit reporting and its significance, and the third defines the infeasible case and scope boundary. It is front-loaded with the main purpose and efficiently conveys all necessary guidance without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no nested objects, the description is remarkably complete. It enumerates all output elements (factory choice, tile layout, code distance, qubits, time), explains the two fits always reported, specifies the infeasible return, and clarifies that the tool avoids making quantum-vs-classical conclusions. This fully compensates for the absence of an output schema.

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% with detailed descriptions for all 7 parameters, so the description doesn't need to elaborate on each field. It does add context about the core algorithm inputs (numLogicalQubits, tCount) and hardware/error-rate relationship, but these are already present in the schema. The description provides minimal additional parameter semantics beyond what's structured.

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 clearly states the tool's function: it derives the full surface-code and magic-state-distillation footprint from the Litinski lattice-surgery cost model, enumerating specific outputs (distillation factory choice, tile layout, code distance, physical qubits, wall-clock time). It distinguishes itself from siblings by focusing on fault-tolerant resource estimation from algorithm parameters, unlike compute_required_error_rate or compute_expectation.

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?

The description specifies the input context (algorithm as numLogicalQubits/tCount and physical error rate or hardwareId) and explicitly notes that the tool only computes numbers, leaving classical comparison and decision-making to the agent. It also mentions the infeasible return for unsatisfiable error budgets, but does not explicitly reference alternative sibling tools or enumerate when to use this tool over them, though the scope is fairly clear.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Every tool has a clearly distinct role: compute_expectation and compute_required_error_rate are forward/inverse pairs, compare_hardware_scenarios is a batch wrapper for compute_expectation, and the list_* and get_* tools each target a different data category (hardware, timing, historic, examples, codes). The fit_historic_series tool is distinct from get_historic_series (analysis vs. retrieval). No two tools appear ambiguous.

Naming Consistency5/5

All tool names follow a strict lower_snake_case verb_noun pattern: compute_*, get_*, list_*, fit_*, compare_*. The verbs precisely indicate the action (computation, retrieval, fitting, comparison) and are used consistently across the set.

Tool Count5/5

With 12 tools, the server is well within the ideal 3-15 range. Each tool serves a distinct purpose in the quantum resource estimation workflow: data listing, forward/inverse expectation calculations, fault-tolerant resource estimation, rate computation, historic analysis, and context retrieval. No tool feels redundant or unnecessary.

Completeness5/5

The tool surface comprehensively covers the domain: current hardware data (list_current_quantum_computers, list_hardware_timings), historical trends (get_historic_series, fit_historic_series), algorithm resource examples (list_example_algorithms), error correction codes (list_qldpc_codes), forward and inverse error calculations (compute_expectation, compute_required_error_rate), batch comparison (compare_hardware_scenarios), deep resource estimation (compute_fault_tolerant_resources), a throughput metric (compute_quantum_volume_rate), and the agent brief. There are no obvious missing operations for the stated purpose.

Resources