返回市场
量子计算MCP服务器

量子计算MCP服务器

作者:barvhaim4 星标更新:2025-07-31

项目介绍

Qiskit MCP 服务器

这是一个非官方的模型上下文协议(MCP)服务器,它使大语言模型(LLMs)能够使用 Qiskit 构建和执行量子电路。

功能

该服务器提供了13个MCP工具,用于全面的量子电路操作:

核心工具(8)

1. create_quantum_circuit

创建具有指定量子比特和经典比特的新量子电路。

参数:

  • num_qubits (int): 量子比特的数量
  • num_classical_bits (int, 可选): 经典比特的数量(默认为 num_qubits)
  • name (string, 可选): 电路的自定义名称(如果没有提供,则自动生成)

2. 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'}

3. run_circuit

在 BasicSimulator 上执行量子电路。

参数:

  • circuit_name (string): 要运行的电路名称
  • shots (int, 可选): 测量次数(默认值:1000)

返回值: 包含测量结果和计数的 JSON

4. get_circuit_info

获取有关电路的详细信息。

参数:

  • circuit_name (string): 电路名称

返回值: 包含电路属性(量子比特、深度、门数量等)的 JSON

5. visualize_circuit

获取量子电路的文本可视化表示。

参数:

  • circuit_name (string): 电路名称

返回值: 电路的 ASCII 艺术表示

6. visualize_circuit_mermaid

生成量子电路的 Mermaid 流程图。

参数:

  • circuit_name (string): 要可视化的电路名称

返回值: 表示量子电路的 Mermaid 流程图语法

7. list_circuits

列出所有已创建的电路及其基本信息。

返回值: 包含所有电路名称及其属性的 JSON

高级工具(6)

8. analyze_statevector

分析电路的量子态矢量。

参数:

  • circuit_name (string): 要分析的电路名称

返回值: 包含概率、振幅和状态分析的 JSON

9. compute_density_matrix

计算并分析密度矩阵,包括纯度和纠缠。

参数:

  • circuit_name (string): 要分析的电路名称

返回值: 包含纯度、熵和纠缠信息的 JSON

10. optimize_circuit

使用 Qiskit 编译器传递优化量子电路。

参数:

  • circuit_name (string): 要优化的电路名称
  • optimization_level (int): 优化级别 0-3

返回值: 包含优化结果和性能指标的 JSON

11. add_advanced_gates

添加超出基本 H, X, Y, Z, CX 的高级量子门。

参数:

  • circuit_name (string): 要修改的电路名称
  • gates (array): 高级门操作列表

支持的高级门:

  • 旋转门:rx, ry, rz, rxx, ryy, rzz
  • 通用门:u
  • 克利福德门:s, sdg, t, tdg
  • swap: 交换门

12. create_variational_circuit

创建用于量子机器学习的变分量子电路。

参数:

  • num_qubits (int): 量子比特数量
  • num_layers (int): 层数(默认值:1)
  • entanglement (string): 纠缠模式('full', 'linear', 'circular')
  • name (string, 可选): 电路的自定义名称

返回值: 成功消息,包含电路详情和参数数量

13. implement_qft

实现量子傅里叶变换电路。

参数:

  • num_qubits (int): QFT 的量子比特数量
  • inverse (bool): 是否实现逆 QFT(默认值:false)
  • name (string, 可选): 电路的自定义名称

返回值: 成功消息,包含 QFT 电路详情

示例和文档

📚 全面示例

我们提供了广泛的示例和提示以帮助您入门:

📋 测试脚本

💬 即用提示(130+ 示例)

快速开始示例

创建贝尔态

创建一个 2 量子比特的量子电路,并通过在量子比特 0 上应用 H 门和从 0 到 1 的 CNOT 门来形成贝尔态,然后测量两个量子比特,并以 1000 次测量运行。

高级状态分析

我有一个贝尔态电路。分析其状态矢量以显示概率,然后计算密度矩阵以验证其纠缠纯度为 1.0。

电路优化

创建一个具有冗余门(X 后跟 X)的电路,然后在第 2 级进行优化,并展示改进的指标。

变分量子电路

创建一个用于量子机器学习的 4 量子比特、2 层且完全纠缠的变分量子电路。展示它有多少参数。

运行服务器

独立运行

# 安装依赖项
uv sync

# 启动 MCP 服务器
uv run python main.py

Claude Desktop 集成

将此配置添加到您的 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 执行以下操作:

  • "创建一个量子贝尔态电路"
  • "构建一个 2 量子比特的 Grover 搜索算法"
  • "分析我的电路的状态矢量以显示纠缠"
  • "优化我的电路并展示性能改进"
  • "创建一个用于量子机器学习的变分电路"
  • "实现一个 3 量子比特的量子傅里叶变换"

测试和验证

运行测试脚本

# 测试基础功能
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  # 如果可用

依赖项

  • qiskit (≥2.1.1): 包含量子信息、电路库和编译器模块的量子计算框架
  • fastmcp (≥2.10.6): MCP 服务器实现
  • numpy: 在状态分析中所需的数值计算

支持的量子计算概念

核心量子力学

  • 叠加态: 使用哈达玛门创建量子叠加态
  • 纠缠态: 使用 CNOT 和高级门创建纠缠态
  • 测量: 将量子态坍缩为经典比特
  • 量子干涉: 展示建设性/破坏性干涉

高级量子操作

  • 参数化门: 具有任意角度的 RX, RY, RZ 旋转
  • 双量子比特旋转: RXX, RYY, RZZ 直接创建纠缠
  • 通用量子计算: 完整的门集用于任何量子算法
  • 克利福德操作: S, T 门用于量子纠错

量子态分析

  • 状态矢量分析: 完整的量子态信息,带有概率
  • 密度矩阵: 混合态分析,纯度和熵计算
  • 纠缠检测: 部分迹熵以验证量子相关性
  • 状态层析成像: 全面的量子态表征

量子算法

  • 搜索算法: Grover 的二次加速数据库搜索
  • 决策算法: Deutsch-Jozsa 的指数优势
  • 傅里叶分析: 用于周期查找的量子傅里叶变换
  • 变分算法: VQE, QAOA 用于近期量子优势
  • 相位估计: 从量子算子中提取特征值和相位

电路优化与分析

  • 编译器集成: 多级优化(0-3)及性能指标
  • 电路深度分析: 关键路径分析和平行化
  • 门数优化: 冗余去除和交换分析
  • 资源估算: 算法的量子资源需求

量子机器学习

  • 变分电路: 具有不同的纠缠模式的参数化 ansatz
  • 量子特征映射: 将经典数据编码为量子态
  • 混合算法: 经典-量子优化循环

该服务器允许 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                  # 此文件

获取帮助

贡献

欢迎贡献!扩展领域:

  • 额外的量子算法(Shor's, HHL, 量子模拟)
  • 噪声建模和错误缓解工具
  • 高级可视化能力
  • 硬件后端集成
  • 教育内容和示例

许可证

该项目是开源的。详见许可证文件。