项目简介
本项目是一个实现了 Model Context Protocol (MCP) 的量子计算模拟器服务器。它使用 Qiskit 框架,能够模拟量子电路在不同噪声模型下的运行结果,并以标准化的 MCP 协议与 LLM 客户端(如 Claude for Desktop)进行通信,为 LLM 提供量子计算能力。
主要功能点
- 量子电路模拟: 支持使用 OpenQASM 2.0 格式描述的量子电路模拟,可以模拟量子比特的运算过程。
- 噪声模型: 内置多种量子噪声模型,例如退极化噪声、热弛豫噪声和读出误差,可以更真实地模拟量子计算环境。
- 多种结果类型: 支持输出多种模拟结果,包括量子比特的计数、状态向量以及可视化的直方图,方便用户理解和分析模拟结果。
- 预置示例电路: 提供了一些预先配置好的示例量子电路,用户可以直接调用和运行,快速上手体验。
- MCP 协议集成: 完全兼容 Model Context Protocol,可以无缝集成到支持 MCP 协议的 LLM 客户端,例如 Claude for Desktop。
安装步骤
本项目以 Docker 镜像的形式发布,安装非常简单,只需两步:
-
安装 Docker: 确保您的计算机上已经安装了 Docker。您可以从 Docker 官网下载并安装:https://www.docker.com/
-
拉取 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 中使用自然语言指令来调用量子模拟器提供的工具。以下是一些示例:
-
运行 Bell 态电路并查看结果: 在 Claude 中输入类似 "Run a Bell state circuit and show me the results" 的指令。服务器会运行预置的 Bell 态电路,并将模拟结果返回给 Claude。如果结果是直方图,Claude 可能会显示直方图的图片。
-
查询可用的噪声模型: 输入 "What noise models are available in the quantum simulator?",服务器会返回支持的噪声模型列表及其描述。
-
模拟 Grover 算法并指定噪声: 输入 "Simulate a 2-qubit Grover's algorithm with 0.01 depolarizing noise",服务器会使用指定的退极化噪声模型运行 2-qubit Grover 算法模拟。
-
创建测试直方图: 输入 "Create a test histogram and show me the file path",服务器会生成一个测试直方图文件,并返回该文件在您主机上的路径(根据目录挂载配置,应该在 '/tmp' 目录下)。
-
更复杂指令示例: "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与计算