← Back to search

io.github.daedalus/mcp-qiskit

daedalus Scanned 13d ago

MCP server exposing Qiskit 2.3.1 quantum computing functionality

B
79.9 / 100

Versions

0.1.0latest
first seen Jun 5, 2026
0.1.1
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 14

create_quantum_circuit_tool
annotations: none low

Create an empty quantum circuit. Args: num_qubits: Number of quantum bits in the circuit. num_classical_bits: Number of classical bits for measurements. Returns: Dictionary representation of the created quantum circuit. Example: >>> create_quantum_circuit_tool(2, 2) {"num_qubits": 2, "num_clbits": 2, "operations": [], "name": "circuit"}

num_qubits int num_classical_bits int
add_gate_tool
annotations: none low

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. Args: circuit: Dictionary representation of the quantum circuit. If None, creates a new circuit with 8 qubits and 8 classical bits. gate_name: Name of the gate to add (e.g., 'h', 'x', 'cx', 'rz', 'u'). qubits: List of qubit indices to apply the gate to. Can be a single qubit (e.g., [0]) or multiple qubits (e.g., [0, 1, 2, 3]). When multiple qubits are specified for a single-qubit gate, the gate is applied to each qubit. params: Optional list of parameters for parameterized gates. Returns: Updated dictionary representation of the quantum circuit. Always include this returned circuit in subsequent calls to maintain state. Example: # Create new circuit and add gates (maintaining state): >>> circuit = add_gate_tool(circuit=None, gate_name='h', qubits=[0]) >>> circuit = add_gate_tool(circuit=circuit, gate_name='x', qubits=[1]) # Apply single-qubit gate to multiple qubits at once: >>> circuit = add_gate_tool(circuit, 'h', [0, 1, 2, 3]) # Applies H to q0, q1, q2, q3 # Or use the pattern from previous calls: >>> circuit = add_gate_tool(None, 'h', [0]) >>> circuit = add_gate_tool(circuit, 'cx', [0, 1])

params string qubits string circuit string gate_name string
add_measurement_tool
annotations: none low

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. Args: circuit: Dictionary representation of the quantum circuit. If None, creates a new circuit with 8 qubits and 8 classical bits. qubits: List of qubit indices to measure. clbits: List of classical bit indices to store results. Returns: Updated dictionary representation of the quantum circuit. Always include this returned circuit in subsequent calls to maintain state. Example: # Maintain state between calls: >>> circuit = add_measurement_tool(circuit=None, qubits=[0, 1]) >>> circuit = add_measurement_tool(circuit=circuit, qubits=[2]) # Or use the pattern from previous calls: >>> circuit = add_measurement_tool(None, [0, 1]) >>> circuit = add_measurement_tool(circuit, [0, 1])

clbits string qubits string circuit string
add_gates_tool
annotations: none low

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. Args: circuit: Dictionary representation of the quantum circuit. If None, creates a new circuit with 8 qubits and 8 classical bits. gates: List of gate specifications, each containing: - gate (str): Name of the gate (e.g., 'h', 'x', 'cx', 'rz'). - qubits (list[int]): List of qubit indices to apply the gate to. - params (list[float], optional): Parameters for parameterized gates. Returns: Updated dictionary representation of the quantum circuit with all gates added. Example: # Add multiple gates in one call: >>> gates = [ ... {'gate': 'h', 'qubits': [0]}, ... {'gate': 'cx', 'qubits': [0, 1]}, ... {'gate': 'x', 'qubits': [1]} ... ] >>> circuit = add_gates_tool(circuit=None, gates=gates)

gates string circuit string
get_circuit_depth_tool
annotations: none low

Get the depth of a quantum circuit. Args: circuit: Dictionary representation of the quantum circuit. Returns: Depth of the circuit (number of layers in the longest path). Example: >>> circuit = create_quantum_circuit_tool(2, 0) >>> circuit = add_gate_tool(circuit, 'h', [0]) >>> circuit = add_gate_tool(circuit, 'cx', [0, 1]) >>> get_circuit_depth_tool(circuit) 2

circuit string
list_available_gates_tool
annotations: none low

List all available quantum gates in Qiskit. Returns: List of gate names available in Qiskit. Example: >>> gates = list_available_gates_tool() >>> 'h' in gates True

get_gate_definition_tool
annotations: none low

Get the definition of a quantum gate. Args: gate_name: Name of the quantum gate. Returns: Dictionary containing gate definition and parameters. Example: >>> gate_def = get_gate_definition_tool('h') >>> 'name' in gate_def True

gate_name str
draw_circuit_tool
annotations: none low

Draw a quantum circuit. Args: circuit: Dictionary representation of the quantum circuit. output_format: Format for output ('ascii', 'text', 'mpl', 'latex'). Returns: String representation of the circuit diagram. Example: >>> circuit = create_quantum_circuit_tool(2, 2) >>> circuit = add_gate_tool(circuit, 'h', [0]) >>> circuit = add_gate_tool(circuit, 'cx', [0, 1]) >>> circuit = add_measurement_tool(circuit, [0, 1]) >>> draw = draw_circuit_tool(circuit, 'ascii')

circuit string output_format str
list_backends_tool
annotations: none low

List available quantum backends. Args: filters: Optional dictionary of filters (e.g., {'status': 'ONLINE'}). Returns: List of backend information dictionaries. Example: >>> backends = list_backends_tool()

filters string
get_backend_status_tool
annotations: none low

Get the status of a specific quantum backend. Args: backend_name: Name of the backend. Returns: Dictionary containing backend status information. Example: >>> status = get_backend_status_tool('aer_simulator')

backend_name str
get_backend_configuration_tool
annotations: none low

Get detailed configuration of a quantum backend. Args: backend_name: Name of the backend. Returns: Dictionary containing detailed backend configuration. Example: >>> config = get_backend_configuration_tool('aer_simulator')

backend_name str
run_circuit_tool
annotations: none low

Execute a quantum circuit on a backend. Args: circuit: Dictionary representation of the quantum circuit. backend_name: Name of the backend to execute on. shots: Number of measurement shots. seed: Optional seed for reproducibility. Returns: Dictionary containing execution results. Example: >>> circuit = create_quantum_circuit_tool(2, 2) >>> circuit = add_gate_tool(circuit, 'h', [0]) >>> circuit = add_gate_tool(circuit, 'cx', [0, 1]) >>> circuit = add_measurement_tool(circuit, [0, 1]) >>> result = run_circuit_tool(circuit)

seed string shots string circuit string backend_name str
run_circuits_tool
annotations: none low

Execute multiple quantum circuits on a backend. Args: circuits: List of dictionary representations of quantum circuits. backend_name: Name of the backend to execute on. shots: Number of measurement shots. seed: Optional seed for reproducibility. Returns: List of result dictionaries. Example: >>> circuits = [create_quantum_circuit_tool(2, 2) for _ in range(3)] >>> results = run_circuits_tool(circuits)

seed string shots string circuits string backend_name str
transpile_circuit_tool
annotations: none low

Transpile a quantum circuit. Args: circuit: Dictionary representation of the quantum circuit. optimization_level: Optimization level (0-3). basis_gates: Optional list of basis gates to target. Returns: Transpiled circuit dictionary. Example: >>> circuit = create_quantum_circuit_tool(2, 0) >>> circuit = add_gate_tool(circuit, 'h', [0]) >>> transpiled = transpile_circuit_tool(circuit)

circuit string basis_gates string optimization_level int

Permissions 1

shell high
Server uses shell capabilities via: subprocess

Scan Findings 34

info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
high
Permission: shell access detected permission_analyzer · 95%
info
No dependency files found for SBOM generation sbom_generator · 100%
low
Tool 'get_gate_definition_tool' has no annotations annotation_checker · 100%
low
Tool 'draw_circuit_tool' has no annotations annotation_checker · 100%
low
Tool 'list_backends_tool' has no annotations annotation_checker · 100%
low
Tool 'get_backend_status_tool' has no annotations annotation_checker · 100%
low
Tool 'create_quantum_circuit_tool' has no annotations annotation_checker · 100%
low
Tool 'add_gate_tool' has no annotations annotation_checker · 100%
low
Tool 'add_measurement_tool' has no annotations annotation_checker · 100%
low
Tool 'add_gates_tool' has no annotations annotation_checker · 100%
low
Tool 'get_circuit_depth_tool' has no annotations annotation_checker · 100%
low
Tool 'list_available_gates_tool' has no annotations annotation_checker · 100%
low
Tool 'get_backend_configuration_tool' has no annotations annotation_checker · 100%
low
Tool 'run_circuit_tool' has no annotations annotation_checker · 100%
low
Tool 'run_circuits_tool' has no annotations annotation_checker · 100%
low
Tool 'transpile_circuit_tool' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: create_quantum_circuit_tool manifest_parser · 90%
info
Tool: add_gate_tool manifest_parser · 90%
info
Tool: add_measurement_tool manifest_parser · 90%
info
Tool: add_gates_tool manifest_parser · 90%
info
Tool: get_circuit_depth_tool manifest_parser · 90%
info
Tool: list_available_gates_tool manifest_parser · 90%
info
Tool: get_gate_definition_tool manifest_parser · 90%
info
Tool: draw_circuit_tool manifest_parser · 90%
info
Tool: list_backends_tool manifest_parser · 90%
info
Tool: get_backend_status_tool manifest_parser · 90%
info
Tool: get_backend_configuration_tool manifest_parser · 90%
info
Tool: run_circuit_tool manifest_parser · 90%
info
Tool: run_circuits_tool manifest_parser · 90%
info
Tool: transpile_circuit_tool manifest_parser · 90%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%