Brings Qiskit's documentation directly into your AI assistant without switching to a browser. You get queryable access to API references, guides, and tutorials for the entire Qiskit ecosystem, so you can ask about quantum gates, circuit construction, or algorithm implementations and get answers pulled from the official docs. It's part of a larger suite of Qiskit MCP servers, but this one focuses purely on documentation retrieval rather than code execution or hardware access. No IBM Quantum token required since it's just reading docs, not connecting to actual quantum systems. Useful when you're writing quantum circuits and need to check method signatures or explore what's available in the latest Qiskit release without leaving your editor.
A collection of Model Context Protocol (MCP) servers that give AI assistants, LLMs, and agents seamless access to IBM Quantum services and Qiskit libraries. Generate quantum code, connect to real hardware, analyze backends, execute circuits, and search Qiskit documentation — all through a standardized protocol that works with any MCP-compatible client.
# Install all servers (core + community)
pip install "qiskit-mcp-servers[all]"
# Install core servers only (default, excludes community)
pip install qiskit-mcp-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)
Each server runs independently — the directory name and command are the same:
cd qiskit-mcp-server # or any server directory
pip install -e .
qiskit-mcp-server
Servers that connect to IBM Quantum cloud services require a QISKIT_IBM_TOKEN environment variable. See each server's README for the full list of environment variables and configuration options.
export QISKIT_IBM_TOKEN="your_ibm_quantum_token_here"
All servers are compatible with any MCP client. Pick your client below.
# 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
Add to your ~/.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
}
}
}
Add to your 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"
}
}
}
}
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.
| Server | Description | Directory |
|---|---|---|
| Qiskit MCP Server | Circuit creation, transpilation, and serialization (QASM3, QPY) using Qiskit | qiskit-mcp-server/ |
| Qiskit IBM Runtime | Full access to IBM Quantum hardware via Qiskit IBM Runtime | qiskit-ibm-runtime-mcp-server/ |
| Qiskit IBM Transpiler | AI-optimized circuit routing and optimization via qiskit-ibm-transpiler | qiskit-ibm-transpiler-mcp-server/ |
| Qiskit Docs | Search and retrieve Qiskit documentation, guides, and API references. No auth required. | qiskit-docs-mcp-server/ |
| Server | Description | Directory |
|---|---|---|
| Qiskit Gym | RL-based quantum circuit synthesis using qiskit-gym (permutation routing, linear functions, Clifford circuits) | qiskit-gym-mcp-server/ |
qiskit-code-assistant-mcp-server. Removed because the underlying Qiskit Code Assistant service has been discontinued by IBM Quantum. See the sunset announcement. The PyPI package is archived and no longer maintained.Each server includes an examples/ directory with a Jupyter notebook (langchain_agent.ipynb) and a Python script (langchain_agent.py) showing how to build AI agents with LangChain.
The root examples/ directory contains a multi-agent Quantum Volume Finder that orchestrates multiple MCP servers to find the highest achievable Quantum Volume on IBM Quantum hardware. See the examples README for details.
All servers are built on FastMCP and share a consistent structure:
pyproject.toml, tests, and CIserver.json manifest for automatic discoveryqiskit-mcp-servers installs any combination via pip extrascd qiskit-mcp-server # or any server directory
./run_tests.sh
ruff check and ruff formatmypy src/pytest with async support and coverage reportingContributions are welcome! Please see the CONTRIBUTING.md guide for details.
This project is licensed under the Apache License 2.0.
QISKIT_DOCS_BASEdefault: https://quantum.cloud.ibm.com/docs/Base URL for Qiskit documentation
QISKIT_HTTP_TIMEOUTdefault: 10.0HTTP request timeout in seconds