Skip to main content
Glama
barvhaim

Qiskit MCP Server

by barvhaim

Qiskit MCP Server

Unofficial Model Context Protocol (MCP) server that enables LLMs to build and execute quantum circuits using Qiskit.

Features

The server provides 13 MCP tools for comprehensive quantum circuit operations:

Core Tools (8)

1. create_quantum_circuit

Create a new quantum circuit with specified qubits and classical bits.

Parameters:

  • num_qubits (int): Number of quantum bits

  • num_classical_bits (int, optional): Number of classical bits (defaults to num_qubits)

  • name (string, optional): Custom name for the circuit (auto-generated if not provided)

2. add_gates

Add quantum gates to an existing circuit.

Parameters:

  • circuit_name (string): Name of the circuit to modify

  • gates (array): List of gate operations

Supported gates:

  • h: Hadamard gate - {'type': 'h', 'qubits': [0]}

  • x: Pauli-X gate - {'type': 'x', 'qubits': [0]}

  • y: Pauli-Y gate - {'type': 'y', 'qubits': [0]}

  • z: Pauli-Z gate - {'type': 'z', 'qubits': [0]}

  • cx: CNOT gate - {'type': 'cx', 'qubits': [0, 1]}

  • measure: Measure specific qubit - {'type': 'measure', 'qubits': [0], 'classical_bit': 0}

  • measure_all: Measure all qubits - {'type': 'measure_all'}

3. run_circuit

Execute a quantum circuit on the BasicSimulator.

Parameters:

  • circuit_name (string): Name of the circuit to run

  • shots (int, optional): Number of measurement shots (default: 1000)

Returns: JSON with measurement results and counts

4. get_circuit_info

Get detailed information about a circuit.

Parameters:

  • circuit_name (string): Name of the circuit

Returns: JSON with circuit properties (qubits, depth, gate counts, etc.)

5. visualize_circuit

Get a text visualization of the quantum circuit.

Parameters:

  • circuit_name (string): Name of the circuit

Returns: ASCII art representation of the circuit

6. visualize_circuit_mermaid

Generate a Mermaid flowchart diagram of the quantum circuit.

Parameters:

  • circuit_name (string): Name of the circuit to visualize

Returns: Mermaid flowchart syntax representing the quantum circuit

7. list_circuits

List all created circuits with basic information.

Returns: JSON with all circuit names and their properties

Advanced Tools (6)

8. analyze_statevector

Analyze the quantum state vector of a circuit.

Parameters:

  • circuit_name (string): Name of the circuit to analyze

Returns: JSON with probabilities, amplitudes, and state analysis

9. compute_density_matrix

Compute and analyze the density matrix including purity and entanglement.

Parameters:

  • circuit_name (string): Name of the circuit to analyze

Returns: JSON with purity, entropy, and entanglement information

10. optimize_circuit

Optimize a quantum circuit using Qiskit transpiler passes.

Parameters:

  • circuit_name (string): Name of the circuit to optimize

  • optimization_level (int): Optimization level 0-3

Returns: JSON with optimization results and performance metrics

11. add_advanced_gates

Add advanced quantum gates beyond basic H, X, Y, Z, CX.

Parameters:

  • circuit_name (string): Name of the circuit to modify

  • gates (array): List of advanced gate operations

Supported advanced gates:

  • Rotation gates: rx, ry, rz, rxx, ryy, rzz

  • Universal gate: u

  • Clifford gates: s, sdg, t, tdg

  • swap: SWAP gate

12. create_variational_circuit

Create a variational quantum circuit for quantum machine learning.

Parameters:

  • num_qubits (int): Number of qubits

  • num_layers (int): Number of layers (default: 1)

  • entanglement (string): Entanglement pattern ('full', 'linear', 'circular')

  • name (string, optional): Custom name for the circuit

Returns: Success message with circuit details and parameter count

13. implement_qft

Implement Quantum Fourier Transform circuit.

Parameters:

  • num_qubits (int): Number of qubits for QFT

  • inverse (bool): Whether to implement inverse QFT (default: false)

  • name (string, optional): Custom name for the circuit

Returns: Success message with QFT circuit details

Related MCP server: qiskit-sim-mcp

Examples and Documentation

πŸ“š Comprehensive Examples

We provide extensive examples and prompts to help you get started:

πŸ“‹ Test Scripts

πŸ’¬ Ready-to-Use Prompts (130+ Examples)

Quick Start Examples

Creating a Bell State

Create a 2-qubit quantum circuit and make a Bell state by applying H to qubit 0 and CNOT from 0 to 1, then measure both qubits and run with 1000 shots.

Advanced State Analysis

I have a Bell state circuit. Analyze its statevector to show the probabilities, then compute the density matrix to verify it's entangled with purity=1.0.

Circuit Optimization

Create a circuit with redundant gates (X followed by X), then optimize it at level 2 and show me the improvement metrics.

Variational Quantum Circuit

Create a variational quantum circuit with 4 qubits, 2 layers, and full entanglement for quantum machine learning. Show me how many parameters it has.

Running the Server

Standalone

# Install dependencies
uv sync

# Start the MCP server
uv run python main.py

Claude Desktop Integration

Add this configuration to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "qiskit-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/qiskit-mcp-server",
        "run",
        "main.py"
      ]
    }
  }
}

Replace /path/to/qiskit-mcp-server with the actual path to this project directory.

After adding the configuration, restart Claude Desktop. You can then ask Claude to:

  • "Create a quantum Bell state circuit"

  • "Build a Grover search algorithm for 2 qubits"

  • "Analyze the statevector of my circuit to show entanglement"

  • "Optimize my circuit and show performance improvements"

  • "Create a variational circuit for quantum machine learning"

  • "Implement a 3-qubit Quantum Fourier Transform"

Testing and Validation

Run Test Scripts

# Test basic functionality
uv run python examples/test_scripts/test_basic_operations.py

# Test advanced features  
uv run python examples/test_scripts/test_advanced_operations.py

# Test quantum algorithms
uv run python examples/test_scripts/test_quantum_algorithms.py

Direct Testing (Legacy)

uv run python test_direct.py  # If available

Dependencies

  • qiskit (β‰₯2.1.1): Quantum computing framework with quantum_info, circuit.library, and transpiler modules

  • fastmcp (β‰₯2.10.6): MCP server implementation

  • numpy: Required for numerical computations in state analysis

Quantum Computing Concepts Supported

Core Quantum Mechanics

  • Superposition: Create quantum superposition with Hadamard gates

  • Entanglement: Create entangled states with CNOT and advanced gates

  • Measurement: Collapse quantum states to classical bits

  • Quantum Interference: Demonstrate constructive/destructive interference

Advanced Quantum Operations

  • Parameterized Gates: RX, RY, RZ rotations with arbitrary angles

  • Two-Qubit Rotations: RXX, RYY, RZZ for direct entanglement creation

  • Universal Quantum Computation: Complete gate sets for any quantum algorithm

  • Clifford Operations: S, T gates for quantum error correction

Quantum State Analysis

  • Statevector Analysis: Complete quantum state information with probabilities

  • Density Matrix: Mixed state analysis, purity, and entropy calculations

  • Entanglement Detection: Partial trace entropy to verify quantum correlations

  • State Tomography: Comprehensive quantum state characterization

Quantum Algorithms

  • Search Algorithms: Grover's quadratic speedup for database search

  • Decision Algorithms: Deutsch-Jozsa exponential advantage

  • Fourier Analysis: Quantum Fourier Transform for period finding

  • Variational Algorithms: VQE, QAOA for near-term quantum advantage

  • Phase Estimation: Extract eigenvalues and phases from quantum operators

Circuit Optimization & Analysis

  • Transpiler Integration: Multi-level optimization (0-3) with performance metrics

  • Circuit Depth Analysis: Critical path analysis and parallelization

  • Gate Count Optimization: Redundancy removal and commutation analysis

  • Resource Estimation: Quantum resource requirements for algorithms

Quantum Machine Learning

  • Variational Circuits: Parameterized ansΓ€tze with different entanglement patterns

  • Quantum Feature Maps: Encoding classical data into quantum states

  • Hybrid Algorithms: Classical-quantum optimization loops

The server enables LLMs to interactively build quantum circuits by describing the desired quantum operations in natural language, which get translated into specific gate sequences, analyzed for quantum properties, optimized for performance, and executed on quantum simulators with comprehensive results analysis.

Project Structure

qiskit-mcp-server/
β”œβ”€β”€ main.py                     # MCP server with 13 quantum tools
β”œβ”€β”€ pyproject.toml             # Dependencies and project config
β”œβ”€β”€ examples/                  # Comprehensive examples and documentation
β”‚   β”œβ”€β”€ README.md             # Learning guide and examples overview  
β”‚   β”œβ”€β”€ test_scripts/         # Test cases and demonstrations
β”‚   β”‚   β”œβ”€β”€ test_basic_operations.py      # Core tools testing
β”‚   β”‚   β”œβ”€β”€ test_advanced_operations.py   # Advanced features testing
β”‚   β”‚   └── test_quantum_algorithms.py    # Algorithm implementations
β”‚   └── prompts/              # 130+ ready-to-use prompt examples
β”‚       β”œβ”€β”€ basic_circuit_operations.md   # Beginner prompts
β”‚       β”œβ”€β”€ advanced_circuit_operations.md # State analysis prompts
β”‚       β”œβ”€β”€ quantum_algorithms.md         # Algorithm prompts
β”‚       └── educational_examples.md       # Learning prompts
└── README.md                  # This file

Getting Help

Contributing

Contributions are welcome! Areas for expansion:

  • Additional quantum algorithms (Shor's, HHL, quantum simulation)

  • Noise modeling and error mitigation tools

  • Advanced visualization capabilities

  • Hardware backend integration

  • Educational content and examples

License

This project is open source. See license file for details.

Available Tools

13 tools
add_advanced_gatesA

Add advanced quantum gates to a circuit beyond basic H, X, Y, Z, CX.

Args: circuit_name: Name of the circuit to modify gates: List of advanced gate operations Supported gates: 'rx', 'ry', 'rz', 'rxx', 'ryy', 'rzz', 'u', 'swap', 's', 'sdg', 't', 'tdg'

Returns: Success message with applied gates

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes
gatesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It states modification of a circuit and return of a success message, but lacks details on side effects (e.g., overwriting existing gates, prerequisites like circuit existence) or authorization.

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 concise, with clear Args and Returns sections, no redundant information, and front-loaded with the main purpose.

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

Completeness3/5

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

Given the open schema for gates (array of objects with additionalProperties), the description is incomplete: it does not explain the expected object format or provide examples. The output schema exists but is not detailed in the description.

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?

Schema description coverage is 0%, but the description adds meaning by naming the circuit_name parameter and listing supported gate operations for the gates array. However, it does not specify the structure of individual gate objects (e.g., required fields for qubits and parameters).

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 it adds advanced quantum gates beyond basic H, X, Y, Z, CX, and lists supported gates. It differentiates from the sibling 'add_gates' which likely handles basic gates.

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 implies usage for advanced gates by listing supported types and contrasting with basic gates. It does not explicitly state when not to use, e.g., for basic gates use add_gates, but the implication is clear.

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

add_gatesA

Add quantum gates to a circuit.

Args: circuit_name: Name of the circuit to modify gates: List of gate operations, each with 'type' and 'qubits' keys Supported gates: 'h', 'x', 'y', 'z', 'cx', 'measure', 'measure_all'

Returns: Success message with applied gates

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes
gatesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a success message is returned but does not disclose validation rules, error handling, or that the gates object allows additional properties beyond 'type' and 'qubits'.

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 reasonably concise, with clear sections for Args and Returns. It could be more structured (e.g., bullet points) but is functional.

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

Completeness3/5

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

While an output schema exists (not shown), the description only mentions 'Success message' without details on the response format or potential errors. For a tool with two parameters, it covers the basics but lacks depth.

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 adds crucial meaning: circuit_name is the name of the circuit, and gates is a list with 'type' and 'qubits' keys and supported gate types listed. This goes beyond the bare schema.

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 'Add quantum gates to a circuit' and lists supported gates (h, x, y, z, cx, measure, measure_all), distinguishing it from the sibling 'add_advanced_gates' 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 list of supported gates provides implicit guidance that this tool is for basic operations, but there is no explicit statement of when to use this vs. 'add_advanced_gates' or other tools.

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

analyze_statevectorA

Analyze the quantum state vector of a circuit.

Args: circuit_name: Name of the circuit to analyze

Returns: JSON string with state vector analysis including probabilities and amplitudes

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavior. It states the return format (JSON with probabilities and amplitudes) but does not explicitly confirm that the tool is read-only or safe. It adds some context but could be more explicit.

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 structured with Args and Returns sections, making it clear and easy to parse. It could be slightly more concise, but it efficiently conveys necessary information.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to detail return values, but it already mentions probabilities and amplitudes. It is complete for the tool's complexity, though could contrast with related tools like compute_density_matrix.

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?

Schema coverage is 0%, but the description adds meaning: 'Name of the circuit to analyze' clarifies the single parameter beyond its schema name. This effectively compensates for the lack of schema descriptions.

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 'Analyze the quantum state vector of a circuit' with a specific verb and resource. It distinguishes from sibling tools like run_circuit and visualize_circuit by focusing on state vector analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like compute_density_matrix or run_circuit. The description implies usage for analysis but lacks when-not-to-use instructions.

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

compute_density_matrixA

Compute and analyze the density matrix of a quantum circuit.

Args: circuit_name: Name of the circuit to analyze

Returns: JSON string with density matrix analysis including purity and entropy

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool is compute-only and specifies return values (purity, entropy). However, it does not state whether the circuit must exist or if any side effects occur.

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 concise (three sentences) and front-loaded with the core purpose. There is no redundant or extraneous information; every sentence adds value.

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

Completeness4/5

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

Given the single parameter and the existence of an output schema, the description covers the essential input and output details. It could mention error handling or missing circuit behavior, but is otherwise adequate.

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 compensates by explaining that 'circuit_name' is the name of the circuit to analyze. This adds necessary semantic meaning beyond the schema's simple type definition.

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 computes and analyzes the density matrix of a quantum circuit. It distinguishes itself from sibling tools like analyze_statevector by specifying the specific object (density matrix) rather than statevector.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives (e.g., analyze_statevector). It also lacks any prerequisites or conditions for usage, leaving the agent to infer context.

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

create_quantum_circuitA

Create a new quantum circuit with auto-generated unique name.

Args: num_qubits: Number of quantum bits (must be an integer) num_classical_bits: Number of classical bits (must be an integer, defaults to num_qubits if not provided) name: Optional custom name for the circuit (auto-generated if not provided)

Returns: Success message with circuit details and generated name

ParametersJSON Schema
NameRequiredDescriptionDefault
num_qubitsYes
num_classical_bitsNo
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It explains return values and default behaviors for parameters. However, it does not disclose side effects (e.g., storage, whether circuit is saved) or permissions needed.

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 concise, with a clear summary line, Args section, and Returns section. Every sentence provides necessary information without redundancy.

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

Completeness4/5

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

Given the presence of an output schema, the return explanation is adequate. However, the description lacks usage context relative to sibling tools and does not mention if the circuit is stored or how it integrates with other tools. Still, it is complete for a simple creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but description compensates fully. It explains all three parameters, including the default behavior for num_classical_bits and auto-generation for name. This adds significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new quantum circuit with auto-generated name. It distinguishes from sibling 'create_variational_circuit' implicitly by not mentioning variational parameters, but could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs siblings like create_variational_circuit or add_gates. The description does not mention prerequisites or use cases.

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

create_variational_circuitA

Create a variational quantum circuit (ansatz) for quantum machine learning.

Args: num_qubits: Number of qubits num_layers: Number of repetitions of the ansatz entanglement: Entanglement strategy ('full', 'linear', 'circular') name: Optional custom name for the circuit

Returns: Success message with circuit details

ParametersJSON Schema
NameRequiredDescriptionDefault
num_qubitsYes
num_layersNo
entanglementNofull
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It mentions inputs and returns but lacks details on side effects, authentication, rate limits, or whether the circuit persists. For a creation tool, this is insufficient behavioral disclosure.

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 docstring format with Args and Returns is clear and efficient. Each sentence earns its place. Minor redundancy (e.g., 'Success message with circuit details' could be shorter).

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

Completeness4/5

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

Given 4 parameters (1 required), no annotations, and an output schema (not shown but mentioned), the description covers parameter meanings and return type. It lacks usage context and behavioral details, but it is complete enough for a straightforward creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description compensates by explaining each parameter's role, including defaults (num_layers=1, entanglement='full'). It adds significant meaning beyond the raw schema.

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 explicitly states it creates a variational quantum circuit (ansatz) for quantum machine learning, with a specific verb and resource. It distinguishes from sibling tools like 'create_quantum_circuit' by specifying 'variational' and 'ansatz'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for variational circuits but does not provide explicit when-to-use or when-not-to-use guidance, nor does it contrast with alternatives like create_quantum_circuit. Usage is implied but not clearly articulated.

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

get_circuit_infoA

Get information about a quantum circuit.

Args: circuit_name: Name of the circuit

Returns: JSON string with circuit information

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so description carries full burden. It states the return type (JSON string with circuit information) but does not disclose side effects, error handling, or permissions. For a read operation, it is minimally adequate but lacks depth.

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 concise with a clear structure (Args/Returns) and no redundant information. Every sentence adds value.

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

Completeness3/5

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

While the tool is simple and an output schema exists (though not shown), the description lacks details about what 'circuit information' includes (e.g., qubits, gates, depth). Also, no mention of preconditions or error cases. It is adequate but not thorough.

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 description coverage is 0%, and the description adds only the meaning of 'circuit_name' as 'Name of the circuit'. This clarifies the parameter beyond the schema's title ('Circuit Name') but is very brief. With a single parameter, this is baseline adequate.

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 action ('Get information') and the resource ('a quantum circuit'). It distinguishes from sibling tools like 'list_circuits' (which likely lists circuit names) and 'analyze_statevector' (which analyzes state outputs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need details of a specific circuit by name, but it does not explicitly state when to use this tool versus alternatives like 'analyze_statevector' or 'visualize_circuit'. No exclusions or prerequisites are mentioned.

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

implement_qftB

Implement Quantum Fourier Transform circuit.

Args: num_qubits: Number of qubits for QFT inverse: Whether to implement inverse QFT name: Optional custom name for the circuit

Returns: Success message with QFT circuit details

ParametersJSON Schema
NameRequiredDescriptionDefault
num_qubitsYes
inverseNo
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full burden. It only states that the tool implements a QFT circuit and returns a success message. It does not disclose whether it modifies an existing circuit, creates a new one, or any side effects or permissions needed.

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 structured as a clear docstring with Args and Returns sections. It is concise with no unnecessary words. The first sentence immediately states the purpose.

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

Completeness2/5

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

The description lacks important context such as how the circuit is created (e.g., does it start a new circuit or append to existing?), and the return value is vaguely described as 'Success message'. Given the output schema exists, the return description is acceptable but the overall behavioral context is insufficient.

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?

The description provides meaningful explanations for all 3 parameters: 'num_qubits' is number of qubits, 'inverse' is for inverse QFT, 'name' is optional custom name. This adds value beyond the schema, which only has titles. Schema coverage is 0%, so the description compensates well.

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 tool name 'implement_qft' and description 'Implement Quantum Fourier Transform circuit.' clearly state the action (implement) and resource (QFT circuit). It distinguishes from siblings like 'create_quantum_circuit' or 'add_gates' which are generic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, context, or when not to use. It simply states what it does.

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

list_circuitsA

List all created circuits.

Returns: JSON string with circuit names and basic info

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It states 'list all created circuits' and returns basic info, implying a read operation. However, it lacks details on scope (all circuits globally?), pagination, or performance implications.

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?

Two sentences are concise and front-loaded with purpose. Could potentially be condensed, but no wasted words.

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

Completeness4/5

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

For a simple listing tool with no parameters and an output schema, the description is adequate. It specifies the return type and content generally, though 'basic info' is vague.

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?

No parameters exist, and schema description coverage is 100% trivially. Baseline is 3; the description adds no parameter info but none is needed.

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 verb 'list' and the resource 'circuits', distinguishing it from sibling tools that add, run, or visualize circuits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not guidance. The description implies this tool is for listing all circuits, but no alternatives or exclusions are mentioned.

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

optimize_circuitB

Optimize a quantum circuit using Qiskit transpiler passes.

Args: circuit_name: Name of the circuit to optimize optimization_level: Optimization level (0-3, where 0 is no optimization)

Returns: Success message with optimization results and new circuit name

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes
optimization_levelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It states optimization via transpiler passes but does not disclose side effects (e.g., whether original circuit is modified), details on transpilation passes, or what optimization_levels entail beyond 0-3. The return message mentions 'optimization results' but lacks specifics.

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 concise, using a single sentence and clear parameter list. It is front-loaded with the main purpose and avoids unnecessary detail. However, the main sentence could be more structured (e.g., using bullet points for clarity).

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

Completeness3/5

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

Given the complexity of circuit optimization, the description covers basic purpose and parameters but lacks prerequisites, error conditions, and details on what 'optimization results' include. The presence of an output schema reduces the burden for return values, but overall completeness is adequate with gaps.

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?

Schema coverage is 0%, so description adds important context: circuit_name is the circuit to optimize, optimization_level ranges 0-3 with 0 meaning no optimization. This adds meaning beyond the schema's type and default. However, it does not explain what each level does in terms of passes.

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 action (optimize), resource (quantum circuit), and method (using Qiskit transpiler passes). It distinguishes from sibling tools like run_circuit or create_quantum_circuit by specifying optimization. The parameter descriptions further clarify its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus siblings, no prerequisites (e.g., circuit must exist), and no conditions for use. It does not mention alternatives or when optimization is appropriate.

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

run_circuitB

Run a quantum circuit on the simulator.

Args: circuit_name: Name of the circuit to run shots: Number of measurement shots

Returns: JSON string with measurement results

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes
shotsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/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 reveals it returns a JSON string with measurement results, but does not disclose side effects, performance characteristics, or whether it modifies the circuit. For a simulation tool, this is minimal.

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 extremely concise, using a clear 'Args:' and 'Returns:' format. Every sentence serves a purpose, with the main action stated first. No redundant information.

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

Completeness3/5

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

Given the tool has only 2 simple parameters and an implied output schema, the description is adequate but not thorough. It does not mention that the circuit must exist, error handling, or edge cases. It is minimally complete for a straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists parameters with brief descriptions matching the schema but adds no additional meaning or constraints. Schema coverage is 0%, and the description does not elaborate on 'circuit_name' (e.g., must exist) or 'shots' (range, valid values).

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 purpose: 'Run a quantum circuit on the simulator.' It uses a specific verb ('run') and resource ('quantum circuit'), distinguishing it from sibling tools like 'create_quantum_circuit' (creation) and 'list_circuits' (listing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'on the simulator', implying it's for simulation rather than hardware, but does not explicitly state when to use this tool vs alternatives like 'analyze_statevector' or 'compute_density_matrix'. No prerequisites or context are given.

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

visualize_circuitB

Get a text visualization of the quantum circuit.

Args: circuit_name: Name of the circuit to visualize

Returns: Text representation of the circuit

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It states it returns a 'Text representation' but does not disclose whether it is read-only, any required permissions, or side effects. Minimal transparency.

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 extremely concise: one sentence for purpose, followed by a docstring-style Args/Returns. Every sentence adds value with no fluff.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema exists. The description explains the return value. However, it lacks usage context and behavioral details, making it adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The 'Args' section adds 'Name of the circuit to visualize', which provides basic meaning but lacks details like allowed formats or examples. Insufficient depth.

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 it 'Get a text visualization of the quantum circuit,' which specifies the verb 'Get' and the resource 'text visualization of the quantum circuit'. It distinguishes from the sibling 'visualize_circuit_mermaid' by emphasizing 'text' rather than mermaid format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'visualize_circuit_mermaid' or any prerequisites. The description lacks context for decision-making.

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

visualize_circuit_mermaidA

Generate a Mermaid flowchart diagram of the quantum circuit.

Args: circuit_name: Name of the circuit to visualize

Returns: Mermaid flowchart syntax representing the quantum circuit

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the return type (Mermaid syntax) but does not explicitly state that the operation is read-only. However, given the name and context, it is still fairly clear.

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 concise with only two sentences plus structured Args/Returns sections. Every sentence adds value, and there is no redundant or vague wording.

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

Completeness4/5

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

For a simple single-parameter tool, the description covers the return format adequately. However, it does not mention that the circuit must already exist, which is a key prerequisite. Still, the presence of an output schema reduces the need for extensive return details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides a basic description 'Name of the circuit to visualize' but lacks additional details like validity requirements or formatting rules. This is minimal improvement over no description.

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 specifies a clear action 'Generate a Mermaid flowchart diagram' and the resource 'quantum circuit'. It distinguishes itself from the sibling tool 'visualize_circuit' by explicitly naming the output format 'Mermaid', providing precise purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the sibling 'visualize_circuit' or others. The description does not mention any prerequisites (e.g., circuit must exist) or contextual cues for selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedadd_advanced_gates
    • First observedadd_gates
    • First observedanalyze_statevector
    • First observedcompute_density_matrix
    • First observedcreate_quantum_circuit
    • First observedcreate_variational_circuit
    • First observedget_circuit_info
    • First observedimplement_qft
    • First observedlist_circuits
    • First observedoptimize_circuit
    • First observedrun_circuit
    • First observedvisualize_circuit
    • First observedvisualize_circuit_mermaid

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct operation: circuit creation (general vs variational), gate addition (basic vs advanced), analysis (state vector vs density matrix), visualization (text vs mermaid), etc. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, e.g., 'add_gates', 'analyze_statevector', 'create_quantum_circuit'. The naming is predictable and uniform across the set.

Tool Count5/5

With 13 tools covering creation, modification, analysis, simulation, and visualization, the count is well-scoped for a quantum computing SDK. Each tool serves a clear purpose without redundancy.

Completeness4/5

The tool surface covers the full lifecycle of circuit creation, modification, analysis, and simulation. Minor gaps exist, such as the absence of a tool to delete or reset circuits, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    This MCP server enables Claude Desktop to create, visualize, and simulate quantum circuits using Qiskit and Qiskit Aer, with support for preset circuits, custom QASM, and noise modeling.
    3
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server exposing Qiskit quantum computing functionality through the Model Context Protocol. Enables LLMs to create, manipulate, and execute quantum circuits via standardized MCP tools and resources.
    MIT

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/barvhaim/qiskit-mcp-server'

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