Quantum Computing and Multi-Agent Orchestration MCP Server for Azure Quantum
Project description
Quantum MCP Server
MCP server providing quantum computing capabilities to Claude Code via the Model Context Protocol. Integrates Azure Quantum (gate-based) and D-Wave (quantum annealing) backends with multi-agent orchestration.
Project Status
| Phase | Focus | Status | Tests |
|---|---|---|---|
| Phase 0 | Quantum Foundation (VQE, QAOA, Kernels, Q#) | Complete | ~174 |
| Phase 1 | Multi-Agent Orchestration | Complete | ~180 |
| Phase 3 | Quantum Orchestration (QUBO, D-Wave) | In Progress | ~88 |
Total: 442 tests passing
Architecture
Azure Quantum (Gate-Based) D-Wave (Annealing)
VQE, QAOA, Kernels, Q# QUBO Solving
│ │
└──────────┬───────────────┘
│
┌─────────────┴───────────────┐
│ Multi-Agent Orchestration │
│ Routing | Consensus │
│ Decomposition │
└─────────────┬───────────────┘
│
┌─────────────┴───────────────┐
│ Backend Abstraction │
│ Azure | D-Wave | Exact │
└─────────────┬───────────────┘
│
┌──────┴──────┐
│ MCP Server │
└──────┬──────┘
│
┌──────┴──────┐
│ Claude Code │
└─────────────┘
Requirements
- Python 3.11+
- uv package manager
- Azure Quantum workspace (optional, for cloud execution)
- D-Wave Leap account (optional, for quantum annealing)
Installation
git clone https://github.com/ryanmat/quantum_mcp.git
cd quantum_mcp
uv sync --all-extras
For D-Wave support:
uv sync --extra dwave
Configuration
Copy .env.example to .env:
cp .env.example .env
Azure Quantum (Gate-Based)
AZURE_QUANTUM_WORKSPACE_ID=your-workspace-id
AZURE_QUANTUM_RESOURCE_GROUP=your-resource-group
AZURE_QUANTUM_SUBSCRIPTION_ID=your-subscription-id
# Service Principal (optional)
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
D-Wave Quantum Annealing
DWAVE_API_TOKEN=DEV-xxx...
DWAVE_SOLVER=Advantage_system6.4
Execution Settings
DEFAULT_BACKEND=ionq.simulator
MAX_SHOTS=1000
BUDGET_LIMIT_USD=10.0
LOG_LEVEL=INFO
Running the Server
uv run python -m quantum_mcp
MCP Tools
Connectivity
| Tool | Description |
|---|---|
ping |
Test server connectivity |
Backend Management
| Tool | Description |
|---|---|
quantum_list_backends |
List Azure Quantum backends |
quantum_estimate_cost |
Estimate job cost before submission |
Circuit Simulation
| Tool | Description |
|---|---|
quantum_simulate |
Local Qiskit simulation (bell, ghz, qft, custom) |
Quantum Algorithms
| Tool | Description |
|---|---|
quantum_vqe |
Variational Quantum Eigensolver for ground state energy |
quantum_qaoa |
QAOA for combinatorial optimization (MaxCut) |
quantum_kernel |
Quantum kernel matrix for ML classification |
quantum_run_qsharp |
Execute Q# quantum programs |
quantum_anneal |
Solve QUBO via D-Wave quantum annealing |
Tool Examples
VQE (Ground State Energy)
quantum_vqe(
num_qubits=2,
ansatz_type="ry",
hamiltonian_type="h2",
optimizer="COBYLA",
shots=1000
)
QAOA (Combinatorial Optimization)
quantum_qaoa(
edges=[[0, 1], [1, 2], [0, 2]],
layers=2,
optimizer="COBYLA",
shots=1000
)
Quantum Annealing (QUBO)
quantum_anneal(
qubo={"0,0": -1, "1,1": -1, "0,1": 2},
num_reads=100,
backend_type="auto"
)
Q# Execution
quantum_run_qsharp(
code='''
{
use q = Qubit();
H(q);
let result = M(q);
Reset(q);
result
}
''',
shots=100
)
Multi-Agent Orchestration
Agent Types
- ClaudeAgent - Anthropic Claude
- OpenAIAgent - OpenAI GPT
- LocalAgent - Ollama local models
- ToolAgent - Tool-based wrapper
Routing Strategies
- CapabilityRouter - Routes by agent capabilities
- LoadBalancingRouter - Distributes load
- LearnedRouter - ML-based with performance tracking
- QUBORouter - QUBO formulation for routing
- QAOARouter - Quantum-enhanced via QAOA
- DWaveRouter - D-Wave annealing for routing
Consensus Mechanisms
- VotingConsensus - Majority voting
- WeightedMergeConsensus - Weighted merging
- DebateConsensus - Multi-round debate
Project Structure
quantum_mcp/
├── src/quantum_mcp/
│ ├── __main__.py # Entry point
│ ├── config.py # Configuration
│ ├── server.py # MCP server
│ ├── agents/ # Agent implementations
│ ├── backends/ # Quantum backends
│ │ ├── annealing.py # Annealing protocol
│ │ ├── dwave.py # D-Wave Leap
│ │ └── exact_solver.py # Classical fallback
│ ├── circuits/ # Quantum algorithms
│ │ ├── vqe.py # VQE
│ │ ├── qaoa.py # QAOA
│ │ ├── kernels.py # QML kernels
│ │ └── qsharp.py # Q#
│ ├── client/ # Azure Quantum client
│ ├── orchestration/ # Multi-agent system
│ │ ├── router.py # Routing strategies
│ │ ├── consensus.py # Consensus mechanisms
│ │ ├── decomposer.py # Task decomposition
│ │ ├── qubo.py # QUBO formulation
│ │ ├── qaoa_router.py # QAOA router
│ │ └── dwave_router.py # D-Wave router
│ └── tools/ # MCP tools
│ ├── registration.py # Tool registration
│ └── algorithm_tools.py # Algorithm tools
├── tests/
│ ├── unit/ # Unit tests (442)
│ └── integration/ # Integration tests
├── docs/ # Internal documentation
├── mcp.json # MCP configuration
├── pyproject.toml # Project config
└── .env.example # Environment template
Testing
# Unit tests
uv run pytest tests/unit -v
# With coverage
uv run pytest tests/unit --cov=quantum_mcp
# Integration tests (requires credentials)
uv run pytest tests/integration -v
Cost Management
Default budget: $10.00 USD
Backend costs:
- IonQ Simulator: Free
- IonQ Hardware: ~$0.01/shot
- D-Wave: Per-second QPU time
- Quantinuum: Varies by plan
Use quantum_estimate_cost before Azure hardware submissions.
MCP Configuration for Claude Code
Add to your ~/.claude/mcp.json:
{
"mcpServers": {
"quantum": {
"command": "uv",
"args": ["--directory", "/path/to/quantum_mcp", "run", "python", "-m", "quantum_mcp"],
"env": {
"DWAVE_API_TOKEN": "DEV-xxx..."
}
}
}
}
Dependencies
Core:
- azure-quantum, azure-identity
- qiskit, qiskit-aer
- qsharp
- mcp
- pydantic
Optional:
- anthropic, openai (agents)
- dwave-ocean-sdk, dimod (annealing)
Dev:
- pytest, pytest-asyncio, pytest-cov
- ruff, mypy
Related Projects
predictive-insights - Temporal X-DEC for metric prediction
- BiGRU-XVAE-DEC with temporal attention
- 5 semantic operational state clusters
Future integration planned at Phase 14 (MoE).
License
MIT
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 quantum_mcp-0.1.0.tar.gz.
File metadata
- Download URL: quantum_mcp-0.1.0.tar.gz
- Upload date:
- Size: 324.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dcf7433658796767cbf43168c3a918670a1b881ddb47471611c8d3130bdb4f6
|
|
| MD5 |
3289ce5a2eb39384b7650dabac57cfcc
|
|
| BLAKE2b-256 |
d7c96d9dff703225e034029878f678293acd6e191b59b2148217f06ad69999ce
|
File details
Details for the file quantum_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quantum_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 99.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3ac886817185f0e929c997214e3df2378dfa15757c3bf6a9d85bcf97fd61c84
|
|
| MD5 |
012f60b6fdaabd1b8c9269f56b9183b7
|
|
| BLAKE2b-256 |
d6a761374b511d5c547fa50c026b42d742f0ad1e4f75bfbfedee6ed4e98f07bf
|