Skip to main content
Glama

estimate_resources

Estimate physical qubits and runtime required to execute quantum algorithms on fault-tolerant hardware. Provide algorithm as template, counts, or Q# code and specify qubit model and error correction.

Instructions

Estimate the physical quantum resources needed to run a quantum algorithm.

Provide the algorithm as EXACTLY ONE of:

  • algorithm_template: ID of a predefined algorithm (e.g. 'shor_2048', 'grover_aes128', 'chemistry_femo', 'qpe_generic'). Use list_algorithm_templates() for the full list.

  • logical_counts: JSON string with algorithm counts, e.g.: '{"numQubits": 100, "tCount": 200, "rotationCount": 50}'

  • qsharp_code: Q# source code string with a parameterless entry point operation.

Hardware parameters:

  • qubit_model: Physical qubit technology. Default 'qubit_gate_ns_e3' (superconducting). Use list_qubit_models() for all options.

  • qec_scheme: Error correction scheme. 'surface_code' (default) or 'floquet_code' (Majorana qubits only).

  • error_budget: Acceptable failure probability (0-1). Default 0.001.

  • qubit_model_overrides: JSON string to override specific qubit parameters while keeping a named model as the base. E.g. '{"twoQubitGateTime": "10 ns"}'. Valid keys: oneQubitGateTime, twoQubitGateTime, oneQubitMeasurementTime, oneQubitGateErrorRate, twoQubitGateErrorRate, tGateErrorRate, readoutErrorRate, idleErrorRate.

Optional QEC scheme overrides (override individual parameters of the named qec_scheme):

  • qec_crossing_prefactor: float > 0. Error-suppression prefactor (default ~0.03).

  • qec_error_correction_threshold: float in (0,1). Error correction threshold (default ~0.01).

  • qec_logical_cycle_time: Formula string for logical cycle duration, e.g. '1000 ns' for a fixed 1 µs cycle (replicates Gidney-Ekerå assumption).

  • qec_physical_qubits_per_logical: Formula string for qubits per logical qubit.

Optional constraints (use at most one of max_duration or max_physical_qubits):

  • max_duration: e.g. '1 hour', '500 ms', '1 s'

  • max_physical_qubits: integer upper bound on qubit count

  • max_t_factories: limit T-factory copies (reduces qubits, increases runtime)

  • logical_depth_factor: multiplier on circuit depth (default 1.0)

Returns: summary (physical_qubits, runtime, logical_qubits, code_distance, t_factory_copies) plus full details breakdown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qsharp_codeNo
algorithm_templateNo
logical_countsNo
qubit_modelNoqubit_gate_ns_e3
qec_schemeNosurface_code
error_budgetNo
max_durationNo
max_physical_qubitsNo
max_t_factoriesNo
logical_depth_factorNo
error_budget_logicalNo
error_budget_t_statesNo
error_budget_rotationsNo
qubit_model_overridesNo
qec_crossing_prefactorNo
qec_error_correction_thresholdNo
qec_logical_cycle_timeNo
qec_physical_qubits_per_logicalNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does not explicitly state side effects or permissions, but the nature (estimation) implies read-only behavior. A more explicit 'does not modify any state' would improve transparency.

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 description is well-structured with clear sections (algorithm input, hardware parameters, QEC overrides, constraints, return). It is somewhat lengthy but every sentence adds value; could be slightly trimmed but highly functional.

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 the complexity (18 parameters, three algorithm input modes, optional constraints), the description covers all critical aspects including defaults, relationships (e.g., max_duration/max_physical_qubits mutual exclusivity), and return structure. With an output schema present, this is sufficiently 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?

With 0% schema description coverage, the description thoroughly explains all major parameters including algorithm selectors, qubit model, QEC scheme, error budget, and overrides, with syntax examples and valid keys. However, it omits three parameters from the schema: error_budget_logical, error_budget_t_states, and error_budget_rotations.

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 'Estimate the physical quantum resources needed to run a quantum algorithm', using a specific verb and resource. It distinguishes from sibling tools by referencing list_algorithm_templates() and list_qubit_models() for predefined options, setting this apart as the primary estimation 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?

The description explicitly says to provide the algorithm as exactly one of three options, with examples and defaults for hardware parameters. It does not directly contrast with siblings like compare_configurations, but the guidance on algorithm input is clear and actionable.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DeDuckProject/quantum-resource-estimator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server