量子计算服务协议

Qiskit MCP Servers 是一组基于模型上下文协议(MCP)的服务器,为AI助手、LLM和代理提供无缝访问IBM量子服务和Qiskit库的能力,支持生成量子代码、连接到真实硬件、分析后端、执行电路以及搜索Qiskit文档。

  • by Qiskit
  • Python
  • 本地部署
  • 45 星标
  • 更新于
在 GitHub 查看 AI4quantum/qiskit-mcp-servers

使用说明

Qiskit MCP服务器

一套 模型上下文协议(MCP) 服务器,使AI助手、LLM和代理能够无缝访问IBM Quantum服务和Qiskit库。生成量子代码、连接到真实硬件、分析后端、执行电路和搜索Qiskit文档——所有这些都是通过与任何MCP兼容的客户端兼容的标准化协议完成的。

快速开始

先决条件

  • Python 3.10+ (3.11+推荐)
  • IBM Quantum帐户 和 API令牌 (仅适用于IBM云服务器:Runtime、Transpiler)

从PyPI安装

# Install all servers (core + community)
pip install "qiskit-mcp-servers[all]"

# Install core servers only (default, excludes community)
pip install qiskit-mcp-servers
Install individual servers
pip install "qiskit-mcp-servers[qiskit]"          # Qiskit server only
pip install "qiskit-mcp-servers[runtime]"         # IBM Runtime server only
pip install "qiskit-mcp-servers[transpiler]"      # IBM Transpiler server only
pip install "qiskit-mcp-servers[docs]"            # Documentation server only
pip install "qiskit-mcp-servers[gym]"             # Qiskit Gym server only (community)

从源代码安装

每台服务器独立运行——目录名和命令相同:

cd qiskit-mcp-server  # or any server directory
pip install -e .
qiskit-mcp-server

配置

连接到IBM Quantum云服务的服务器需要 QISKIT_IBM_TOKEN 环境变量。有关环境变量和配置选项的完整列表,请参阅每台服务器的README。

export QISKIT_IBM_TOKEN="your_ibm_quantum_token_here"

客户端设置

所有服务器都与任何MCP客户端兼容。在下面选择您的客户。

克劳德代码

# No auth required
claude mcp add qiskit -- uvx qiskit-mcp-server
claude mcp add qiskit-docs -- uvx qiskit-docs-mcp-server
claude mcp add qiskit-gym -- uvx qiskit-gym-mcp-server

# Require QISKIT_IBM_TOKEN (https://quantum.ibm.com)
claude mcp add qiskit-ibm-runtime -e QISKIT_IBM_TOKEN=$QISKIT_IBM_TOKEN -- uvx qiskit-ibm-runtime-mcp-server
claude mcp add qiskit-ibm-transpiler -e QISKIT_IBM_TOKEN=$QISKIT_IBM_TOKEN -- uvx qiskit-ibm-transpiler-mcp-server

IBM Bob

添加到您的 ~/.bob/settings/mcp_settings.json:

{
    "mcpServers": {
        "qiskit": {
            "command": "uvx",
            "args": ["qiskit-mcp-server"],
            "alwaysAllow": [],
            "disabled": false
        },
        "qiskit-docs": {
            "command": "uvx",
            "args": ["qiskit-docs-mcp-server"],
            "alwaysAllow": [],
            "disabled": false
        },
        "qiskit-gym": {
            "command": "uvx",
            "args": ["qiskit-gym-mcp-server"],
            "alwaysAllow": [],
            "disabled": false
        },
        "qiskit-ibm-runtime": {
            "command": "uvx",
            "args": ["qiskit-ibm-runtime-mcp-server"],
            "env": {
                "QISKIT_IBM_TOKEN": "<your IBM Quantum token>",
                "QISKIT_IBM_RUNTIME_MCP_INSTANCE": "<Optional: Your IBM Quantum instance CRN>"
            },
            "alwaysAllow": [],
            "disabled": false
        },
        "qiskit-ibm-transpiler": {
            "command": "uvx",
            "args": ["qiskit-ibm-transpiler-mcp-server"],
            "env": {
                "QISKIT_IBM_TOKEN": "<your IBM Quantum token>"
            },
            "alwaysAllow": [],
            "disabled": false
        }
    }
}
Claude Desktop / Cline

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "qiskit": {
      "command": "uvx",
      "args": ["qiskit-mcp-server"]
    },
    "qiskit-docs": {
      "command": "uvx",
      "args": ["qiskit-docs-mcp-server"]
    },
    "qiskit-gym": {
      "command": "uvx",
      "args": ["qiskit-gym-mcp-server"]
    },
    "qiskit-ibm-runtime": {
      "command": "uvx",
      "args": ["qiskit-ibm-runtime-mcp-server"],
      "env": {
        "QISKIT_IBM_TOKEN": "your_ibm_quantum_token_here"
      }
    },
    "qiskit-ibm-transpiler": {
      "command": "uvx",
      "args": ["qiskit-ibm-transpiler-mcp-server"],
      "env": {
        "QISKIT_IBM_TOKEN": "your_ibm_quantum_token_here"
      }
    }
  }
}
MCP Inspector (interactive testing)
npx @modelcontextprotocol/inspector uvx qiskit-mcp-server
npx @modelcontextprotocol/inspector uvx qiskit-docs-mcp-server
npx @modelcontextprotocol/inspector uvx qiskit-ibm-runtime-mcp-server
# etc.

可用服务器

核心服务器

服务器 描述 目录
Qiskit MCP服务器 电路创建、转译和序列化(QASM3、QPY)使用 Qiskit qiskit-mcp-server/
Qiskit IBM运行时 通过以下方式完全访问IBM Quantum硬件 Qiskit IBM运行时 qiskit-ibm-runtime-mcp-server/
IBM翻译器无效 通过AI优化电路布线和优化 qiskit ibm转译器 qiskit-ibm-transpiler-mcp-server/
Qiskit文档 搜索和检索 Qiskit文档、指南和API参考资料。无需身份验证。 qiskit-docs-mcp-server/

社区服务器

服务器 描述 目录
Qiskit健身房 基于RL的量子电路合成 体操馆 (置换路由、线性函数、Clifford电路) qiskit-gym-mcp-server/

已删除服务器

  • Qiskit代码助手MCP服务器 --此前发表为 qiskit-code-assistant-mcp-server。已删除,因为底层Qiskit代码助理服务已被IBM Quantum终止。请参阅 日落公告PyPI包已存档,不再维护。

例子

每台服务器包括一个 examples/ 目录与a Jupyter 笔记本 (langchain_agent.ipynb)以及a Python脚本 (langchain_agent.py)展示了如何使用LangChain构建AI代理。

根源 examples/ 目录包含一个多代理 量子体积探测器 它协调多个MCP服务器,以在IBM Quantum硬件上找到可实现的最高Quantum卷。请参阅 示例README 了解详情。

建筑

所有服务器均基于 FastMCP 并共享一致的结构:

  • 异步优先 --所有工具和资源处理程序都是异步的,使用FastMCP的本机异步支持
  • 独立包装 --每个服务器都是一个独立的PyPI包,有自己的 pyproject.toml、测试和CI
  • MCP注册表 --每台服务器都附带一个 server.json 自动发现清单
  • 统一元包 — qiskit-mcp-servers 通过pip extras安装任何组合
  • 完整的MCP协议 --工具(量子操作)、资源(后端信息、服务状态)和stdio传输

发展

运行测试

cd qiskit-mcp-server  # or any server directory
./run_tests.sh

代码质量

  • 代码检查: ruff check 和 ruff format
  • 类型检查: mypy src/
  • 测试: pytest 具有异步支持和覆盖率报告
  • CI/CD:GitHub自动化测试操作

资源

贡献

欢迎投稿!请查看 贡献.md 详细指南。

许可证

该项目根据 Apache许可证2.0.