MCP server for quantum computing simulations including QAOA, VQE, and resource estimation. Supports both simulated and real IBM Quantum hardware execution.
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (qc_estimate_resources, qc_simulate_qaoa, qc_run_vqe, qc_run_vqe_real). All tools have descriptions 100+ chars. Input parameters are typed with enums and constraints (algorithm, hardware_profile, optimizer, basis_set, ansatz). However, output schemas are not documented, tools return JSON strings without specifying field structure. Error handling is minimal (qc_run_vqe_real has a try/catch but returns generic error JSON). Tool annotations are present (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) but qc_run_vqe_real incorrectly marks readOnlyHint=true despite making real API calls and having openWorldHint=true. Parameter descriptions lack actionable constraints (e.g., 'problem_graph' says 'Graph with nodes and edges' but doesn't specify edge weight format or node ID type). No pagination or result limits documented.
Estimate quantum resources needed to run an algorithm without executing it. Returns qubit count, circuit depth, estimated runtime, and feasibility verdict.
Run Variational Quantum Eigensolver to find molecular ground-state energy. Supports molecules: H2, LiH, BeH2, H2O, NH3. Returns ground-state energy in Hartree, convergence history, and FCI baseline comparison.
Run REAL VQE on IBM Quantum hardware to find molecular ground-state energy. Unlike qc_run_vqe which uses simulation, this tool submits actual quantum circuits to IBM Quantum hardware. Supported molecules: H2, LiH. WARNING: This makes real API calls to IBM Quantum. May take 30-120 seconds.
Run a Quantum Approximate Optimization Algorithm simulation on a problem graph. Solves combinatorial optimization problems like Max-Cut using QAOA. Returns optimal bitstring, approximation ratio, and convergence history.
Output schemas not documented. Tools return JSON strings but field structure, types, and required fields are not specified. LLMs cannot reliably extract results or chain to downstream tools.
qc_run_vqe_real has conflicting annotations: readOnlyHint=true but openWorldHint=true and description warns 'makes real API calls'. Should be readOnlyHint=false, destructiveHint=false (or true if it modifies IBM state), and idempotentHint=false.
Parameter 'problem_graph' in qc_simulate_qaoa lacks actionable constraints. Description says 'Graph with nodes and edges' but doesn't specify: node ID type (string/int), edge weight format (float range?), required vs optional fields, or example structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Error handling is minimal. qc_run_vqe_real catches exceptions and returns generic error JSON with a 'tip' field, but does not categorize errors as retryable, user-fixable, or fatal. Other tools have no visible error handling.
No result limits or pagination documented. qc_simulate_qaoa returns 'convergence history' but max length is not specified. Large result sets could exhaust context windows.