项目简介

本项目是一个实现了 Model Context Protocol (MCP) 的量子计算模拟器服务器。它使用 Qiskit 框架,能够模拟量子电路在不同噪声模型下的运行结果,并以标准化的 MCP 协议与 LLM 客户端(如 Claude for Desktop)进行通信,为 LLM 提供量子计算能力。

主要功能点

  • 量子电路模拟: 支持使用 OpenQASM 2.0 格式描述的量子电路模拟,可以模拟量子比特的运算过程。
  • 噪声模型: 内置多种量子噪声模型,例如退极化噪声、热弛豫噪声和读出误差,可以更真实地模拟量子计算环境。
  • 多种结果类型: 支持输出多种模拟结果,包括量子比特的计数、状态向量以及可视化的直方图,方便用户理解和分析模拟结果。
  • 预置示例电路: 提供了一些预先配置好的示例量子电路,用户可以直接调用和运行,快速上手体验。
  • MCP 协议集成: 完全兼容 Model Context Protocol,可以无缝集成到支持 MCP 协议的 LLM 客户端,例如 Claude for Desktop。

安装步骤

本项目以 Docker 镜像的形式发布,安装非常简单,只需两步:

  1. 安装 Docker: 确保您的计算机上已经安装了 Docker。您可以从 Docker 官网下载并安装:https://www.docker.com/

  2. 拉取 Docker 镜像: 打开终端或命令提示符,运行以下命令拉取预构建的 Docker 镜像:

    docker pull ychen94/quantum-simulator-mcp:latest

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude for Desktop)配合使用,您需要在客户端的配置文件中添加服务器配置信息。以 Claude for Desktop 为例,您需要编辑其配置文件 'claude_desktop_config.json',并添加以下 'mcpServers' 配置:

{
  "mcpServers": {
    "quantum-simulator": { //  服务器名称,可以自定义,用于在客户端中标识该服务器
      "command": "docker", //  启动服务器的命令,这里使用 docker 命令
      "args": [ //  启动服务器命令的参数列表
        "run",        //  docker run 子命令,用于运行容器
        "-i",         //  保持 STDIN 打开,MCP STDIO 传输协议需要
        "--rm",       //  容器退出后自动删除
        "-v", "/tmp:/data/quantum_simulator_results", //  将主机 /tmp 目录挂载到容器的 /data/quantum_simulator_results 目录,用于输出结果文件
        "-e", "HOST_OUTPUT_DIR=/tmp", //  设置环境变量 HOST_OUTPUT_DIR,指定主机侧的输出目录
        "ychen94/quantum-simulator-mcp:latest" //  要运行的 Docker 镜像名称和标签
      ]
    }
  }
}

配置文件路径:

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

配置说明:

  • '"quantum-simulator"': 您为该服务器定义的名称,在 Claude UI 中会显示这个名称。
  • '"command": "docker"' 和 '"args": [...]': 指定了启动 MCP 服务器的命令。这里使用 Docker 运行容器的方式启动服务器。
    • '-v "/tmp:/data/quantum_simulator_results"': 非常重要! 这行配置将您主机上的 '/tmp' 目录挂载到 Docker 容器内的 '/data/quantum_simulator_results' 目录。量子模拟器生成的直方图等结果文件会保存在容器的 '/data/quantum_simulator_results' 目录中。通过目录挂载,这些文件可以同步到您主机上的 '/tmp' 目录,从而被 Claude 等客户端访问。请确保主机上的 '/tmp' 目录存在并且您有写入权限。
    • '"-e", "HOST_OUTPUT_DIR=/tmp"': 设置环境变量 'HOST_OUTPUT_DIR' 为 '/tmp',告知容器主机侧的结果输出目录。
    • '"ychen94/quantum-simulator-mcp:latest"': 指定要运行的 Docker 镜像。

配置完成后,重启 Claude for Desktop,您应该就能在 Claude UI 中看到锤子图标,表示 MCP 工具已可用。

基本使用方法

配置完成后,您可以在 Claude 中使用自然语言指令来调用量子模拟器提供的工具。以下是一些示例:

  1. 运行 Bell 态电路并查看结果: 在 Claude 中输入类似 "Run a Bell state circuit and show me the results" 的指令。服务器会运行预置的 Bell 态电路,并将模拟结果返回给 Claude。如果结果是直方图,Claude 可能会显示直方图的图片。

  2. 查询可用的噪声模型: 输入 "What noise models are available in the quantum simulator?",服务器会返回支持的噪声模型列表及其描述。

  3. 模拟 Grover 算法并指定噪声: 输入 "Simulate a 2-qubit Grover's algorithm with 0.01 depolarizing noise",服务器会使用指定的退极化噪声模型运行 2-qubit Grover 算法模拟。

  4. 创建测试直方图: 输入 "Create a test histogram and show me the file path",服务器会生成一个测试直方图文件,并返回该文件在您主机上的路径(根据目录挂载配置,应该在 '/tmp' 目录下)。

  5. 更复杂指令示例: "Please provide a simple QAOA algorithm, only get the result_types: histogram, and view the histogram using iterm" (注意,实际效果取决于 Claude 对指令的理解和处理能力,以及服务器工具的具体实现)。

请参考仓库 README.md 中 "MCP Tools" 和 "MCP Resources" 部分,了解服务器提供的具体工具和资源,以便在 Claude 中更有效地使用。

信息

分类

AI与计算