MCP server for the Kipu Quantum Hub
Project description
qhub-mcp
MCP server for the Kipu Quantum Hub. Exposes the Hub and Quantum Workloads APIs as tools for MCP-compatible agents and editors (Claude Desktop, Claude Code, Cursor, VS Code, and any other MCP client).
What it provides
Tools are grouped into two namespaces:
hub_*— core Hub platform API (services, data pools, applications, use cases, ...)quantum_*— Quantum Workloads API (quantum jobs, sessions, backends, ...)
Plus a top-level run_subscribed_service tool to invoke services you are subscribed to.
Prerequisites
- Python >= 3.12
uv(providesuvx)- A Kipu Quantum Hub personal access token
Authentication
The server picks up credentials in the following order:
KQH_PERSONAL_ACCESS_TOKENenvironment variable.- Credentials stored by
qhubctlafterqhubctl login -t <YOUR_PERSONAL_ACCESS_TOKEN>.
When you authenticate with qhubctl, the MCP server transparently reuses the same access token — no need to duplicate the token in your MCP client config.
This is the recommended setup for local use so the token does not live in config files, and it keeps the CLI and the MCP server in sync on a single session.
Optional environment variables
QHUB_API_BASE_URL— override the API base URL (defaults tohttps://api.hub.kipu-quantum.com). Useful for staging or self-hosted Hubs.
Configuration
The server is launched via uvx qhub-mcp.
The snippets below show the minimal configuration for common MCP clients.
Add the environment block from Option B if you prefer passing the token inline instead of using qhubctl.
Option A — with qhubctl (recommended): run qhubctl login -t <TOKEN> once, then use the config without an env block.
Option B — inline token: add "env": { "KQH_PERSONAL_ACCESS_TOKEN": "<TOKEN>" } to the server entry.
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config) and add:
{
"mcpServers": {
"qhub-mcp": {
"command": "uvx",
"args": [
"qhub-mcp"
]
}
}
}
Claude Code
Register the server with the CLI:
claude mcp add qhub-mcp -- uvx qhub-mcp
Or add it to .mcp.json / ~/.claude.json:
{
"mcpServers": {
"qhub-mcp": {
"command": "uvx",
"args": [
"qhub-mcp"
]
}
}
}
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
{
"mcpServers": {
"qhub-mcp": {
"command": "uvx",
"args": [
"qhub-mcp"
]
}
}
}
VS Code
Register the server with the CLI:
code --add-mcp "{\"name\":\"qhub-mcp\",\"command\":\"uvx\",\"args\":[\"qhub-mcp\"]}"
Or add to your user or workspace settings.json (requires an MCP-capable extension such as GitHub Copilot Chat in agent mode):
{
"mcp": {
"servers": {
"qhub-mcp": {
"command": "uvx",
"args": [
"qhub-mcp"
]
}
}
}
}
Other MCP clients
Any MCP client that supports stdio servers can launch qhub-mcp with:
command:uvxargs:["qhub-mcp"]- optional
env:{ "KQH_PERSONAL_ACCESS_TOKEN": "<TOKEN>", "QHUB_API_BASE_URL": "<URL>" }
Local development
- Clone this repository.
- Install
uvif you don't have it. - Run
uv sync. - Point your MCP client at the local checkout:
{ "mcpServers": { "qhub-mcp": { "command": "uv", "args": [ "--directory", "<PROJECT_PATH>", "run", "src/qhub_mcp/server.py" ], "env": { "KQH_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>" } } } }
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 qhub_mcp-1.6.1.tar.gz.
File metadata
- Download URL: qhub_mcp-1.6.1.tar.gz
- Upload date:
- Size: 72.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cab1dd9f9ab28cae086d654ec1224ab1dee8288ebcb024a723244569983fe5a
|
|
| MD5 |
168ab770bdeb69d06f64ebed1efabcca
|
|
| BLAKE2b-256 |
e50f52afc8f2d3e05759292c46a2295451efc75c29757eced07dca42e76762f1
|
File details
Details for the file qhub_mcp-1.6.1-py3-none-any.whl.
File metadata
- Download URL: qhub_mcp-1.6.1-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fe27d0f6bf67742cb254c58b19fa61593bcfe96cb3b35a54e328cf23474ba42
|
|
| MD5 |
e8aa001d6bd89d850502100524bc3617
|
|
| BLAKE2b-256 |
c215521ad57878516536528a29739c36737faacc0054b1dcfd11859551c8d3bc
|