A community MCP server for Quantinuum Nexus, wrapping the qnexus SDK. Not affiliated with Quantinuum.
Project description
qnexus-mcp
A community Model Context Protocol (MCP) server for Quantinuum Nexus,
wrapping the official qnexus Python SDK so any MCP-speaking agent
(Claude Code, Cursor, VS Code, Codex, …) can inspect Nexus and, opt-in, run circuits on the free emulator.
Not affiliated with, endorsed by, or an official product of Quantinuum. "Quantinuum" and "Nexus" are trademarks of their respective owners, used here nominatively to describe compatibility.
Status
Early development. Read-only by default. Design and rationale live in
docs/DESIGN.md; the research behind it is in docs/research/.
Install & run
Requires Python 3.10+ and uv.
uvx qnexus-mcp
Authenticate (once)
qnexus-mcp never handles your Nexus token. Authenticate out-of-band with the qnexus CLI:
qnx login
Inside Nexus JupyterHub, authentication is automatic; do not run qnx login there.
Configure your MCP client
Add to your client's MCP config (Claude Code / Cursor / VS Code share this shape). Default is read-only:
{
"mcpServers": {
"nexus": { "command": "uvx", "args": ["qnexus-mcp"] }
}
}
To also allow running circuits (defaults to the free H2-1LE emulator):
{
"mcpServers": {
"nexus": { "command": "uvx", "args": ["qnexus-mcp", "--toolsets", "read,execute"] }
}
}
Configuration
| Flag | Env | Default | Effect |
|---|---|---|---|
--toolsets |
QNEXUS_MCP_TOOLSETS |
read |
Capability domains to expose (read,execute,manage,destructive) |
--allow-spend |
QNEXUS_MCP_ALLOW_SPEND |
false |
Permit credit-spending (HQC) execution |
--allow-hardware |
QNEXUS_MCP_ALLOW_HARDWARE |
false |
Permit real-QPU targets |
--allow-destructive |
QNEXUS_MCP_ALLOW_DESTRUCTIVE |
false |
Permit delete/cancel/archive |
--max-credits |
QNEXUS_MCP_MAX_CREDITS |
0 |
Hard per-call HQC ceiling; 0 blocks all spend |
--projects |
QNEXUS_MCP_PROJECTS |
(all) | Comma-separated project allowlist, enforced on every mutating tool |
Safety
Read-only by default. Anything that spends credits or mutates cloud state requires an explicit opt-in flag
and an in-protocol confirmation, and the default execution backend is the free, noiseless H2-1LE
emulator. Submissions are rate-limited, cloud mutations are serialized, destructive project operations
resolve their target by exact name (never substring), and the server never reads, stores, or returns
your Nexus token. Every control is enforced server-side; MCP tool annotations are treated as UX hints
only. See docs/DESIGN.md §6–§7.
Contributing
See CONTRIBUTING.md. Contributions are accepted under the
Developer Certificate of Origin; sign off your commits with -s.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qnexus_mcp-0.1.0.tar.gz.
File metadata
- Download URL: qnexus_mcp-0.1.0.tar.gz
- Upload date:
- Size: 263.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cf44217ce6a491a0d95df562d095c56c93998d578922af72a5d72394b0ab14a
|
|
| MD5 |
19fafa0af47edb5253a5b5be84be03db
|
|
| BLAKE2b-256 |
60195879ed723ae699da41fc2f8fe7f2bc5165ef27f239e86a271983bb93da79
|
Provenance
The following attestation bundles were made for qnexus_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on Blite-HQ/qnexus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qnexus_mcp-0.1.0.tar.gz -
Subject digest:
3cf44217ce6a491a0d95df562d095c56c93998d578922af72a5d72394b0ab14a - Sigstore transparency entry: 2215799047
- Sigstore integration time:
-
Permalink:
Blite-HQ/qnexus-mcp@f7b8fa37d5a95eb6e6cce372fefad2b34d8f91f8 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Blite-HQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7b8fa37d5a95eb6e6cce372fefad2b34d8f91f8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qnexus_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qnexus_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed35d40529622d7af2143cfeeccb7e8785b56105a43daf00c4355ba82174736f
|
|
| MD5 |
11a78f1ac07f29909810f3980525aa8b
|
|
| BLAKE2b-256 |
534fd7de4b8757a82f4ab0f024c4d1e71e0cd2213eee2e1a318462c5283900a4
|
Provenance
The following attestation bundles were made for qnexus_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Blite-HQ/qnexus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qnexus_mcp-0.1.0-py3-none-any.whl -
Subject digest:
ed35d40529622d7af2143cfeeccb7e8785b56105a43daf00c4355ba82174736f - Sigstore transparency entry: 2215799107
- Sigstore integration time:
-
Permalink:
Blite-HQ/qnexus-mcp@f7b8fa37d5a95eb6e6cce372fefad2b34d8f91f8 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Blite-HQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7b8fa37d5a95eb6e6cce372fefad2b34d8f91f8 -
Trigger Event:
release
-
Statement type: