MCP server exposing Qiskit 2.3.1 quantum computing functionality
Server has 14 tools with complete input schemas and descriptions. Naming follows verb_noun convention (create_, add_, get_, list_, draw_, run_, transpile_). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Critical gap: NO output schemas documented, LLMs cannot infer what fields to expect from tool responses. Parameters are typed but lack constraints (enums, ranges, patterns). Error handling is absent, no recovery guidance or actionable error messages. Stateful circuit passing (circuit dict) is unusual for MCP and risks serialization issues. No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction.
Add a quantum gate to a circuit. This tool maintains circuit state between calls. Pass the circuit returned by previous calls to append new gates. If no circuit is provided, a new 8-qubit circuit with 8 classical bits is created automatically.
Add multiple quantum gates to a circuit in a single call. This tool maintains circuit state between calls and allows batch insertion of gates, reducing the number of tool calls needed to build a circuit.
Add measurement operations to a circuit. This tool maintains circuit state between calls. Pass the circuit returned by previous calls to append measurements. If no circuit is provided, a new 8-qubit circuit with 8 classical bits is created automatically.
Create an empty quantum circuit.
Draw a quantum circuit.
Get detailed configuration of a quantum backend.
No output schemas documented. LLMs cannot infer response structure (fields, types, pagination). Forces agents to guess what data is available after each call.
No error handling or recovery guidance. Tools lack actionable error messages. LLMs cannot self-correct on invalid inputs (e.g., invalid gate name, backend not found).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Get the status of a specific quantum backend.
Get the depth of a quantum circuit.
Get the definition of a quantum gate.
List all available quantum gates in Qiskit.
List available quantum backends.
Execute a quantum circuit on a backend.
Execute multiple quantum circuits on a backend.
Transpile a quantum circuit for a specific backend.
Stateful circuit passing (circuit dict) is unusual for MCP. Circuits are serialized as dicts and passed between calls. Risk: serialization errors, version mismatches, loss of state if circuit is modified outside the tool chain.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Server declares Risk levels but does not expose them via MCP protocol. LLMs cannot distinguish safe reads from destructive writes.
Parameter descriptions lack constraints. 'gate_name' accepts any string; should enumerate valid gates or reference list_available_gates_tool. 'optimization_level' (0-3) lacks min/max bounds in schema.