这是一个非官方的模型上下文协议(MCP)服务器,它使大语言模型(LLMs)能够使用 Qiskit 构建和执行量子电路。
该服务器提供了13个MCP工具,用于全面的量子电路操作:
create_quantum_circuit创建具有指定量子比特和经典比特的新量子电路。
参数:
num_qubits (int): 量子比特的数量num_classical_bits (int, 可选): 经典比特的数量(默认为 num_qubits)name (string, 可选): 电路的自定义名称(如果没有提供,则自动生成)add_gates向现有电路添加量子门。
参数:
circuit_name (string): 要修改的电路名称gates (array): 门操作列表支持的门:
h: 哈达玛门 - {'type': 'h', 'qubits': [0]}x: 保里-X门 - {'type': 'x', 'qubits': [0]}y: 保里-Y门 - {'type': 'y', 'qubits': [0]}z: 保里-Z门 - {'type': 'z', 'qubits': [0]}cx: 控制非门 - {'type': 'cx', 'qubits': [0, 1]}measure: 测量特定量子比特 - {'type': 'measure', 'qubits': [0], 'classical_bit': 0}measure_all: 测量所有量子比特 - {'type': 'measure_all'}run_circuit在 BasicSimulator 上执行量子电路。
参数:
circuit_name (string): 要运行的电路名称shots (int, 可选): 测量次数(默认值:1000)返回值: 包含测量结果和计数的 JSON
get_circuit_info获取有关电路的详细信息。
参数:
circuit_name (string): 电路名称返回值: 包含电路属性(量子比特、深度、门数量等)的 JSON
visualize_circuit获取量子电路的文本可视化表示。
参数:
circuit_name (string): 电路名称返回值: 电路的 ASCII 艺术表示
visualize_circuit_mermaid生成量子电路的 Mermaid 流程图。
参数:
circuit_name (string): 要可视化的电路名称返回值: 表示量子电路的 Mermaid 流程图语法
list_circuits列出所有已创建的电路及其基本信息。
返回值: 包含所有电路名称及其属性的 JSON
analyze_statevector分析电路的量子态矢量。
参数:
circuit_name (string): 要分析的电路名称返回值: 包含概率、振幅和状态分析的 JSON
compute_density_matrix计算并分析密度矩阵,包括纯度和纠缠。
参数:
circuit_name (string): 要分析的电路名称返回值: 包含纯度、熵和纠缠信息的 JSON
optimize_circuit使用 Qiskit 编译器传递优化量子电路。
参数:
circuit_name (string): 要优化的电路名称optimization_level (int): 优化级别 0-3返回值: 包含优化结果和性能指标的 JSON
add_advanced_gates添加超出基本 H, X, Y, Z, CX 的高级量子门。
参数:
circuit_name (string): 要修改的电路名称gates (array): 高级门操作列表支持的高级门:
rx, ry, rz, rxx, ryy, rzzus, sdg, t, tdgswap: 交换门create_variational_circuit创建用于量子机器学习的变分量子电路。
参数:
num_qubits (int): 量子比特数量num_layers (int): 层数(默认值:1)entanglement (string): 纠缠模式('full', 'linear', 'circular')name (string, 可选): 电路的自定义名称返回值: 成功消息,包含电路详情和参数数量
implement_qft实现量子傅里叶变换电路。
参数:
num_qubits (int): QFT 的量子比特数量inverse (bool): 是否实现逆 QFT(默认值:false)name (string, 可选): 电路的自定义名称返回值: 成功消息,包含 QFT 电路详情
我们提供了广泛的示例和提示以帮助您入门:
创建一个 2 量子比特的量子电路,并通过在量子比特 0 上应用 H 门和从 0 到 1 的 CNOT 门来形成贝尔态,然后测量两个量子比特,并以 1000 次测量运行。
我有一个贝尔态电路。分析其状态矢量以显示概率,然后计算密度矩阵以验证其纠缠纯度为 1.0。
创建一个具有冗余门(X 后跟 X)的电路,然后在第 2 级进行优化,并展示改进的指标。
创建一个用于量子机器学习的 4 量子比特、2 层且完全纠缠的变分量子电路。展示它有多少参数。
# 安装依赖项
uv sync
# 启动 MCP 服务器
uv run python main.py
将此配置添加到您的 Claude Desktop 配置文件中:
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"
]
}
}
}
将 /path/to/qiskit-mcp-server 替换为此项目的实际目录路径。
添加配置后,重启 Claude Desktop。您可以要求 Claude 执行以下操作:
# 测试基础功能
uv run python examples/test_scripts/test_basic_operations.py
# 测试高级特性
uv run python examples/test_scripts/test_advanced_operations.py
# 测试量子算法
uv run python examples/test_scripts/test_quantum_algorithms.py
uv run python test_direct.py # 如果可用
该服务器允许 LLM 通过描述所需的量子操作来交互式地构建量子电路,这些操作被翻译成具体的门序列,分析其量子属性,优化其性能,并在量子模拟器上执行,同时进行全面的结果分析。
qiskit-mcp-server/
├── main.py # 包含 13 个量子工具的 MCP 服务器
├── pyproject.toml # 依赖项和项目配置
├── examples/ # 全面的示例和文档
│ ├── README.md # 学习指南和示例概述
│ ├── test_scripts/ # 测试用例和演示
│ │ ├── test_basic_operations.py # 核心工具测试
│ │ ├── test_advanced_operations.py # 高级特性测试
│ │ └── test_quantum_algorithms.py # 算法实现
│ └── prompts/ # 130+ 即用提示示例
│ ├── basic_circuit_operations.md # 初学者提示
│ ├── advanced_circuit_operations.md # 状态分析提示
│ ├── quantum_algorithms.md # 算法提示
│ └── educational_examples.md # 学习提示
└── README.md # 此文件
欢迎贡献!扩展领域:
该项目是开源的。详见许可证文件。