Model Context Protocol servers for IBM Quantum services and Qiskit
Project description
Qiskit MCP Servers
A collection of Model Context Protocol (MCP) servers that provide AI assistants, LLMs, and agents with seamless access to IBM Quantum services and Qiskit libraries for quantum computing development and research.
๐ What is This?
This repository contains production-ready MCP servers that enable AI systems to interact with quantum computing resources through Qiskit. Instead of manually configuring quantum backends, writing boilerplate code, or managing IBM Quantum accounts, AI assistants can now:
- ๐ค Generate intelligent quantum code with context-aware suggestions
- ๐ Connect to real quantum hardware automatically
- ๐ Analyze quantum backends and find optimal resources
- ๐ Execute quantum circuits and monitor job status
- ๐ก Provide quantum computing assistance with expert knowledge
๐ ๏ธ Available Servers
๐ฌ Qiskit MCP Server
Core Qiskit quantum computing capabilities
Provides quantum circuit creation, manipulation, transpilation, and serialization utilities (QASM3, QPY) for local quantum development using Qiskit
๐ Directory: ./qiskit-mcp-server/
๐ง Qiskit Code Assistant MCP Server
Intelligent quantum code completion and assistance
Provides access to IBM's Qiskit Code Assistant for AI-assisted quantum programming
๐ Directory: ./qiskit-code-assistant-mcp-server/
โ๏ธ Qiskit IBM Runtime MCP Server
Complete access to IBM Quantum cloud services
Comprehensive interface to IBM Quantum hardware via Qiskit IBM Runtime
๐ Directory: ./qiskit-ibm-runtime-mcp-server/
๐ Qiskit IBM Transpiler MCP Server
AI-powered circuit transpilation
Access to the qiskit-ibm-transpiler library for AI-optimized circuit routing and optimization.
๐ Directory: ./qiskit-ibm-transpiler-mcp-server/
๐ Qiskit Documentation MCP Server
Qiskit documentation retrieval and search
Query and retrieve Qiskit documentation, guides, and API references. No authentication required.
๐ Directory: ./qiskit-docs-mcp-server/
๐๏ธ Community Servers
๐๏ธ Qiskit Gym MCP Server
Reinforcement learning for quantum circuit synthesis
Uses qiskit-gym to train RL models for optimal quantum circuit synthesis, including permutation routing, linear function synthesis, and Clifford circuits.
๐ Directory: ./qiskit-gym-mcp-server/
๐ Examples
Each MCP server includes example code demonstrating how to build AI agents using LangChain:
| Server | Examples |
|---|---|
| Qiskit MCP Server | qiskit-mcp-server/examples/ |
| Qiskit Code Assistant MCP Server | qiskit-code-assistant-mcp-server/examples/ |
| Qiskit IBM Runtime MCP Server | qiskit-ibm-runtime-mcp-server/examples/ |
| Qiskit IBM Transpiler MCP Server | qiskit-ibm-transpiler-mcp-server/examples/ |
| Qiskit Documentation MCP Server | qiskit-docs-mcp-server/examples/ |
| Qiskit Gym MCP Server (Community) | qiskit-gym-mcp-server/examples/ |
Each examples directory contains:
- Jupyter Notebook (
langchain_agent.ipynb) - Interactive tutorial with step-by-step examples - Python Script (
langchain_agent.py) - Command-line agent with multiple LLM provider support
Advanced: Quantum Volume Finder
The examples/ directory contains a multi-agent system that combines multiple MCP servers to find the highest achievable Quantum Volume for IBM Quantum backends through actual hardware execution. It demonstrates multi-server orchestration, local tool wrappers to keep large data out of the LLM context, and both single-circuit and full statistical protocol modes. See the examples README for details.
๐ Quick Start
Prerequisites
- Python 3.10+ (3.11+ recommended)
- uv package manager (fastest Python package manager)
- IBM Quantum account and API token
- Qiskit Code Assistant access (for code assistant server)
Installation
Install from PyPI
# Install all MCP servers (core + community)
pip install qiskit-mcp-servers[all]
# Install just the core servers (default)
pip install qiskit-mcp-servers
# Install individual servers
pip install qiskit-mcp-servers[qiskit] # Qiskit server only
pip install qiskit-mcp-servers[code-assistant] # Code Assistant 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)
# Install community servers only
pip install qiskit-mcp-servers[community]
Install from Source
Each server is designed to run independently. Choose the server you need:
๐ฌ Qiskit Server
cd qiskit-mcp-server
uv run qiskit-mcp-server
๐ง Qiskit Code Assistant Server
cd qiskit-code-assistant-mcp-server
uv run qiskit-code-assistant-mcp-server
โ๏ธ IBM Runtime Server
cd qiskit-ibm-runtime-mcp-server
uv run qiskit-ibm-runtime-mcp-server
๐ IBM Transpiler Server
cd qiskit-ibm-transpiler-mcp-server
uv run qiskit-ibm-transpiler-mcp-server
๐ Documentation Server
cd qiskit-docs-mcp-server
uv run qiskit-docs-mcp-server
๐๏ธ Qiskit Gym Server (Community)
cd qiskit-gym-mcp-server
uv run qiskit-gym-mcp-server
๐ง Configuration
Environment Variables
# For IBM Runtime Server
export QISKIT_IBM_TOKEN="your_ibm_quantum_token_here"
# For Code Assistant Server
export QISKIT_IBM_TOKEN="your_ibm_quantum_token_here"
export QCA_TOOL_API_BASE="https://qiskit-code-assistant.quantum.ibm.com"
Using with MCP Clients
All servers are compatible with any MCP client. Test interactively with MCP Inspector:
# Replace <server-name> with any server command
npx @modelcontextprotocol/inspector uv run qiskit-mcp-server
npx @modelcontextprotocol/inspector uv run qiskit-docs-mcp-server
npx @modelcontextprotocol/inspector uv run qiskit-ibm-runtime-mcp-server
# etc.
Claude Desktop / Cline Configuration
Add to your MCP client configuration (e.g., claude_desktop_config.json):
{
"mcpServers": {
"qiskit": {
"command": "uvx",
"args": ["qiskit-mcp-server"]
},
"qiskit-docs": {
"command": "uvx",
"args": ["qiskit-docs-mcp-server"]
},
"qiskit-runtime": {
"command": "uvx",
"args": ["qiskit-ibm-runtime-mcp-server"],
"env": {
"QISKIT_IBM_TOKEN": "your_ibm_quantum_token_here"
}
}
}
}
See each server's README for the full list of environment variables and configuration options.
๐๏ธ Architecture & Design
๐ฏ Unified Design Principles
All servers follow a consistent, production-ready architecture:
- ๐ Async-first: Built with FastMCP for high-performance async operations
- ๐งช Test-driven: Comprehensive test suites with 65%+ coverage
- ๐ก๏ธ Type-safe: Full mypy type checking and validation
- ๐ฆ Modern packaging: Standard
pyproject.tomlwith hatchling build system - ๐ง Developer-friendly: Automated formatting (ruff), linting, and CI/CD
๐ MCP Protocol Support
All servers implement the full Model Context Protocol specification:
- ๐ ๏ธ Tools: Execute quantum operations (code completion, job submission, backend queries)
- ๐ Resources: Access quantum data (service status, backend information, model details)
- โก Real-time: Async operations for responsive AI interactions
- ๐ Secure: Proper authentication and error handling
๐งช Development
๐โโ๏ธ Running Tests
# Run tests for any server
cd qiskit-code-assistant-mcp-server # or any server directory
./run_tests.sh
๐ Code Quality
All servers maintain high code quality standards:
- โ
Linting:
ruff checkandruff format - ๐ก๏ธ Type checking:
mypy src/ - ๐งช Testing:
pytestwith async support and coverage reporting - ๐ CI/CD: GitHub Actions for automated testing
๐ Resources & Documentation
๐ Essential Links
- Model Context Protocol - Understanding MCP
- Qiskit IBM Runtime - Quantum cloud services
- Qiskit Code Assistant - AI code assistance
- MCP Inspector - Interactive testing tool
- FastMCP - High-performance MCP framework
AI Development Assistant Support
This repository includes AI-generated code and offers comprehensive guidance for AI coding assistants (like IBM Bob, Claude Code, GitHub Copilot, Cursor AI, and others) in AGENTS.md. This helps AI assistants provide more accurate, context-aware suggestions when working with this codebase.
๐ License
This project is licensed under the Apache License 2.0.
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 qiskit_mcp_servers-0.10.0.tar.gz.
File metadata
- Download URL: qiskit_mcp_servers-0.10.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b6b1c85c42bc218d1f84b878a4de95c8e5597599935777a6dd16b19f8dc2f48
|
|
| MD5 |
4ce68b74b56342585068b3ad706c4c46
|
|
| BLAKE2b-256 |
318b610dfbdb8f3f2ac54cf7ed4f41f0129468afc6cce9f17dd52b438a67f742
|
Provenance
The following attestation bundles were made for qiskit_mcp_servers-0.10.0.tar.gz:
Publisher:
publish-pypi.yml on Qiskit/mcp-servers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qiskit_mcp_servers-0.10.0.tar.gz -
Subject digest:
9b6b1c85c42bc218d1f84b878a4de95c8e5597599935777a6dd16b19f8dc2f48 - Sigstore transparency entry: 1343479627
- Sigstore integration time:
-
Permalink:
Qiskit/mcp-servers@18700e5b48adb9c2b45975818dddfe6e67cfc368 -
Branch / Tag:
refs/tags/meta-v0.10.0 - Owner: https://github.com/Qiskit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@18700e5b48adb9c2b45975818dddfe6e67cfc368 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qiskit_mcp_servers-0.10.0-py3-none-any.whl.
File metadata
- Download URL: qiskit_mcp_servers-0.10.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
158dbb562b80e47dcfb60cd4daf0e5d0468aa0005e640dc1010a258fc9363686
|
|
| MD5 |
6b42c35f30190033391a551425e9f6a8
|
|
| BLAKE2b-256 |
73642ac3ccee5d3d2cee7ffba448c5ede469e33f0b22ef3bd48732e9b545d955
|
Provenance
The following attestation bundles were made for qiskit_mcp_servers-0.10.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Qiskit/mcp-servers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qiskit_mcp_servers-0.10.0-py3-none-any.whl -
Subject digest:
158dbb562b80e47dcfb60cd4daf0e5d0468aa0005e640dc1010a258fc9363686 - Sigstore transparency entry: 1343479631
- Sigstore integration time:
-
Permalink:
Qiskit/mcp-servers@18700e5b48adb9c2b45975818dddfe6e67cfc368 -
Branch / Tag:
refs/tags/meta-v0.10.0 - Owner: https://github.com/Qiskit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@18700e5b48adb9c2b45975818dddfe6e67cfc368 -
Trigger Event:
release
-
Statement type: