mcpField
Q
qnexus-mcp

qnexus-mcp

本地服务
github.com/Blite-HQ科研与教育114 周前更新

关于 qnexus-mcp

qnexus-mcp 是社区维护的 MCP 服务,通过官方 qnexus Python SDK 访问 Quantinuum Nexus,面向需要让 Agent 检查量子项目或运行电路的用户。默认只读,执行能力可选启用,默认后端为免费 H2-1LE 模拟器。

主要功能

  1. 01读取 Nexus 信息(默认)
  2. 02可选运行量子电路
  3. 03默认使用 H2-1LE 模拟器
  4. 04按工具集控制能力范围
  5. 05为执行设置消费与硬件限制

适用场景

  1. 01让 Agent 检查 Nexus 项目
  2. 02在免费模拟器上提交电路
  3. 03限制执行的消费额度或硬件目标

MCP 相关

它将 qnexus SDK 的 Nexus 能力作为工具提供给 MCP 客户端。默认只暴露读取工具;执行及其他变更能力须通过配置显式启用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"blite-hq-qnexus": {
"command": "uvx",
"args": [
"qnexus-mcp"
],
"env": {
"QNEXUS_MCP_TOOLSETS": "<QNEXUS_MCP_TOOLSETS>",
"QNEXUS_MCP_ALLOW_SPEND": "<QNEXUS_MCP_ALLOW_SPEND>",
"QNEXUS_MCP_ALLOW_HARDWARE": "<QNEXUS_MCP_ALLOW_HARDWARE>",
"QNEXUS_MCP_ALLOW_DESTRUCTIVE": "<QNEXUS_MCP_ALLOW_DESTRUCTIVE>",
"QNEXUS_MCP_MAX_CREDITS": "<QNEXUS_MCP_MAX_CREDITS>",
"QNEXUS_MCP_MAX_OUTCOMES": "<QNEXUS_MCP_MAX_OUTCOMES>",
"QNEXUS_MCP_MAX_SUBMISSIONS_PER_MINUTE": "<QNEXUS_MCP_MAX_SUBMISSIONS_PER_MINUTE>",
"QNEXUS_MCP_PROJECTS": "<QNEXUS_MCP_PROJECTS>"
}
}
}
}
启动命令uvx qnexus-mcp
需要配置的环境变量
QNEXUS_MCP_TOOLSETSComma-separated toolsets: read,execute,manage,destructive (default: read).
QNEXUS_MCP_ALLOW_SPENDPermit credit-spending (HQC) execution (default: false).
QNEXUS_MCP_ALLOW_HARDWAREPermit real-QPU targets (default: false).
QNEXUS_MCP_ALLOW_DESTRUCTIVEPermit delete/cancel/archive tools (default: false).
QNEXUS_MCP_MAX_CREDITSHard per-call HQC ceiling; 0 blocks all spend (default: 0).
QNEXUS_MCP_MAX_OUTCOMESTop-N cap on distinct measurement outcomes returned per result item (default: 100).
QNEXUS_MCP_MAX_SUBMISSIONS_PER_MINUTESliding-window submission cap; each circuit in a batch counts as one (default: 6).
QNEXUS_MCP_PROJECTSComma-separated project allowlist, enforced on every mutating tool (default: all projects).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiqnexus-mcp0.2.0

工具

10

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

qnexus-mcp

一个面向 Quantinuum Nexus 的社区 Model Context Protocol(MCP)服务,它封装了官方 qnexus Python SDK,使任何支持 MCP 的 Agent(Claude Code、Cursor、VS Code、Codex 等)都能检查 Nexus,并可选择在免费模拟器上运行电路。

与 Quantinuum 无关联、未获其认可,也不是其官方产品。“Quantinuum”和“Nexus”是各自所有者的商标,此处仅用于说明兼容性。

状态

早期开发阶段。**默认只读。**设计与原理见 docs/DESIGN.md;相关研究见 docs/research/。

要求

  • Python 3.10+ 和 uv(uvx 命令)。在 Windows 上,请记下 uvx.exe 的完整路径(在终端中运行 where uvx)——GUI 客户端不会继承你的 shell PATH。
  • 一个 Quantinuum Nexus 账号。

1. 进行身份验证(一次即可)

qnexus-mcp **绝不会处理你的 Nexus 令牌。**请在其他环境中使用 qnexus CLI 进行身份验证(它会打开浏览器):

uvx --from qnexus qnx login

在 Nexus JupyterHub 中,身份验证会自动完成;请勿在其中运行 qnx login。

2. 将服务添加到 MCP 客户端

启动命令在所有客户端中都相同——只有各客户端的配置文件不同:

uvx qnexus-mcp==0.2.0                              # read-only (default)
uvx qnexus-mcp==0.2.0 --toolsets read,execute      # + run circuits on the free H2-1LE emulator

固定版本(==0.2.0):否则,uvx 每次启动都会解析 PyPI 上的最新版本——不固定版本既无法复现,也无法审计。在 Windows 上请避免使用 0.1.0:其首次工具调用会卡住(已在 0.2.0 中修复)。

**启动时的预期情况:**首次启动会下载量子 SDK 依赖栈(1–3 分钟);每次启动时,服务响应前都需要约 30 秒——SDK 会在 MCP 握手之前预先导入。在此期间显示“Waiting for server to respond to initialize”属于正常现象。

Claude Desktop

依次选择“设置”→“开发者”→“本地 MCP 服务”→编辑配置(请始终使用此按钮——Microsoft Store 版本会将文件保存在 %LOCALAPPDATA%\Packages\Claude_*\... 下,而非 %APPDATA%\Claude),然后添加:

{
  "mcpServers": {
    "nexus": {
      "command": "C:\\Users\\<you>\\.local\\bin\\uvx.exe", // or plain "uvx" on macOS/Linux
      "args": ["qnexus-mcp==0.2.0", "--toolsets", "read,execute"]
    }
  }
}

然后完全退出 Claude Desktop 并重新打开——配置只会在冷启动时读取,而关闭窗口不会终止旧进程(点击托盘图标 → 退出,或运行 taskkill /F /IM claude.exe)。

VS Code

命令面板 → MCP: Open User Configuration(或工作区中的 .vscode/mcp.json):

{
  "servers": {
    "nexus": {
      "type": "stdio",
      "command": "C:\\Users\\<you>\\.local\\bin\\uvx.exe", // or plain "uvx" on macOS/Linux
      "args": ["qnexus-mcp==0.2.0", "--toolsets", "read,execute"]
    }
  }
}
Claude Code
claude mcp add nexus -- uvx qnexus-mcp==0.2.0 --toolsets read,execute
其他 MCP 客户端(Cursor、Codex 等)

命令相同;配置格式为上述两种 JSON 格式之一(mcpServers 或 servers + "type": "stdio")——请查阅客户端文档,确认应将其放入哪个文件。

遇到问题?请参阅 docs/TROUBLESHOOTING.md——其中涵盖了实际客户端配置中观察到的所有故障模式(配置路径错误、首次启动缓慢、身份验证、速率限制、已知的 Nexus 端错误)。

配置

标志环境变量默认值作用
--toolsetsQNEXUS_MCP_TOOLSETSread要公开的能力领域(read,execute,manage,destructive)
--allow-spendQNEXUS_MCP_ALLOW_SPENDfalse允许消耗额度(HQC)的执行操作
--allow-hardwareQNEXUS_MCP_ALLOW_HARDWAREfalse允许使用真实 QPU 目标
--allow-destructiveQNEXUS_MCP_ALLOW_DESTRUCTIVEfalse允许删除/取消/归档
--max-creditsQNEXUS_MCP_MAX_CREDITS0单次调用的 HQC 硬性上限;0 会阻止所有额度消耗
--max-outcomesQNEXUS_MCP_MAX_OUTCOMES100每个结果最多返回的不同测量结果数;始终会报告截断情况
--max-submissions-per-minuteQNEXUS_MCP_MAX_SUBMISSIONS_PER_MINUTE6滑动窗口提交上限;批次中的每个电路都计为一次提交
--projectsQNEXUS_MCP_PROJECTS(全部)以逗号分隔的项目允许列表;对每个变更类工具强制执行

安全

默认情况下为只读。任何会消耗额度或更改云端状态的操作,都需要明确的选择启用标志,并且需要协议内确认;默认执行后端是免费、无噪声的 H2-1LE 模拟器。提交操作设有速率限制,云端变更会串行执行;破坏性项目操作通过精确名称确定目标(绝不使用子字符串);服务绝不会读取、存储或返回你的 Nexus 令牌。所有控制都由服务端强制执行;MCP 工具注释仅作为用户体验提示。请参阅 docs/DESIGN.md §6–§7。

提示词注入(有意的设计决策)。 Nexus 返回的所有内容——作业名称、项目名称、错误消息、结果——都可能受到攻击者影响(任何 Nexus 用户都可以为作业命名),因此一律视为不可信数据。当前 MCP 生态系统中,没有结构化标记可将“数据”与“指令”区分开来;这里的结构性边界是:注入内容无法提升权限:所有可能产生后果的操作(消耗额度、指定硬件、删除任何内容)都需要 Agent 无法设置的启动标志,并且需要协议内的人为确认,其中必须注明精确目标和成本。注入文本最多只能干扰 Agent 的推理——无法独自消耗额度或破坏任何内容。我们接受并记录了这项剩余风险,并非疏漏。

治理。 这是一个早期阶段、由单人维护的项目(请参阅 CODEOWNERS):版本发布由一人通过 GitHub-OIDC Trusted Publishing 完成(不使用长期有效的 PyPI 令牌)。如果这种信任模型对你的部署很重要,请固定版本(见上文)。

贡献

请参阅 CONTRIBUTING.md。我们依据开发者来源证书接受贡献;请使用 -s 为提交签署。

许可证

Apache-2.0。请参阅 LICENSE 和 NOTICE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。