qiskit-sim-mcp
Allows creating, visualizing, and simulating quantum circuits using Qiskit and Qiskit Aer, with support for multiple noise presets and preset circuits like Bell states, GHZ, and Deutsch-Jozsa.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@qiskit-sim-mcp Create a Bell state and simulate it with 1024 shots"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
qiskit-sim-mcp
A Model Context Protocol (MCP) server that lets Claude Desktop create, visualize, and simulate quantum circuits using Qiskit and Qiskit Aer.
What It Does
Once connected to Claude Desktop, you can have natural conversations like:
"Create a Bell state and simulate it with 1024 shots"
"Show me the GHZ circuit diagram"
"Run the Bell state with high noise and explain what changed"
"Create a custom circuit from this QASM string"
Claude will call the underlying tools automatically — no manual tool invocation needed.
Related MCP server: Qiskit MCP Server
Features
3 Tools:
create_circuit,visualize_circuit,run_simulation5 Preset Circuits: Bell state, GHZ-3, Superposition, Deutsch-Jozsa, Random-4
Custom QASM: Accepts any valid OpenQASM 2.0 string
Noise Modeling: Ideal, low noise (p=0.001), high noise (p=0.01) via depolarizing error
1 Resource:
resource://noise-presets— lists available noise configurations1 Prompt:
simulate_walkthrough— guided conversation template
Requirements
Python 3.13+
Anaconda or any Python environment manager
Setup
1. Clone the Repository
git clone <repo-url>
cd qiskit-sim-mcp2. Install Dependencies
pip install -e .This installs mcp[cli], qiskit, and qiskit-aer into your Python environment.
3. Verify the Installation
python -c "
import asyncio
from quantum_mcp_demo.server import mcp
tools = asyncio.run(mcp.list_tools())
resources = asyncio.run(mcp.list_resources())
prompts = asyncio.run(mcp.list_prompts())
print('Tools:', [t.name for t in tools])
print('Resources:', [r.uri for r in resources])
print('Prompts:', [p.name for p in prompts])
"Expected output:
Tools: ['create_circuit', 'visualize_circuit', 'run_simulation']
Resources: [AnyUrl('resource://noise-presets')]
Prompts: ['simulate_walkthrough']4. Test with MCP Inspector (Optional)
uv run mcp dev src/quantum_mcp_demo/server.pyOpen http://localhost:6274 in your browser. Use the Tools tab to call each tool manually before connecting to Claude Desktop.
5. Connect to Claude Desktop
Find your Claude Desktop config file:
OS | Path |
macOS |
|
Windows |
|
Add this entry inside the mcpServers object:
{
"mcpServers": {
"qiskit-sim-mcp": {
"command": "/opt/anaconda3/bin/python",
"args": [
"-m",
"quantum_mcp_demo.server"
]
}
}
}Note: Replace
/opt/anaconda3/bin/pythonwith your actual Python path. Runwhich pythonto find it.
6. Restart Claude Desktop
Quit Claude Desktop completely (Cmd+Q on macOS), then reopen it. In a new conversation, the hammer icon (🔨) in the chat input confirms MCP tools are loaded.
Usage Examples
Bell State Simulation
"Create a Bell state circuit, show me the diagram, then simulate it 1024 times with ideal and high noise."
Claude will call:
create_circuit(preset="bell")→ gets acircuit_idvisualize_circuit(circuit_id=...)→ shows the H + CNOT gate diagramrun_simulation(circuit_id=..., shots=1024, noise_preset="ideal")→ ~50%|00⟩, ~50%|11⟩run_simulation(circuit_id=..., shots=1024, noise_preset="high_noise")→ degraded counts,|01⟩and|10⟩appear
Custom QASM Circuit
"Run this circuit: OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; creg c[2]; h q[0]; cx q[0],q[1]; measure q -> c;"
Claude parses the QASM string and runs it through the same simulation pipeline.
Noise Comparison
"Compare the GHZ state under ideal vs high noise — what does the noise do to the entanglement?"
Project Structure
src/quantum_mcp_demo/
├── server.py # MCP server entry point
├── circuits/
│ ├── presets.py # 5 named preset circuits
│ └── store.py # In-memory circuit storage (UUID-keyed)
├── tools/
│ ├── create_circuit.py # Tool: create from preset or QASM
│ ├── visualize.py # Tool: HTML diagram + gate JSON
│ └── simulate.py # Tool: AerSimulator + noise modeling
├── resources/
│ └── noise_presets.py # Resource: noise configuration list
├── prompts/
│ └── walkthrough.py # Prompt: guided simulation conversation
└── utils/
├── serialization.py # numpy → Python int conversion
└── errors.py # MCP error response builderPreset Circuits
Preset | Qubits | Demonstrates |
| 2 | Entanglement — 50/50 split on |
| 3 | Multi-qubit entanglement |
| 1 | Equal superposition via Hadamard |
| 3 | Quantum algorithm — interference |
| 4 | Noise stress test — fixed-seed random gates |
Noise Presets
Preset | Depolarizing p | Description |
| none | Perfect simulation |
| 0.001 | Realistic near-term device |
| 0.01 | Aggressive noise — visible degradation |
Troubleshooting
Claude Desktop doesn't show the hammer icon
Quit and fully relaunch Claude Desktop after editing the config
Check the config JSON is valid (no trailing commas)
Verify the Python path:
which python
python -m quantum_mcp_demo.server fails
Make sure you ran
pip install -e .from the project rootConfirm Python version:
python --version(needs 3.13+)
Port conflict when running MCP Inspector
kill -9 $(lsof -t -i :6274) 2>/dev/null; kill -9 $(lsof -t -i :6277) 2>/dev/nullSimulation returns unexpected counts
Shot count mismatches are caught automatically and returned as
isError: trueTry reducing
shots(e.g. 512) if you see errors
Available Tools
3 toolscreate_circuitA
Create a quantum circuit from a named preset or an OpenQASM 2.0 string. Provide exactly one of: preset (bell|ghz_3|superposition|deutsch_jozsa|random_4) or qasm.
Inputs: preset, qasm. Returns: result
run_simulationA
Run a stored circuit on AerSimulator with optional depolarizing noise. noise_preset: ideal | low_noise | high_noise. Returns counts, probabilities, metadata.
Inputs: circuit_id (required), shots (required), noise_preset (required). Returns: result
visualize_circuitB
Visualize a stored circuit as HTML and a structured gate list for narration.
Inputs: circuit_id (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool addresses a distinct phase of quantum circuit workflow: creation, simulation, and visualization. No overlap in functionality.
All tools follow a consistent verb_noun convention (create_circuit, run_simulation, visualize_circuit), making their purpose immediately clear.
Three tools cover the core lifecycle adequately. While more tools (e.g., list, delete) could be added, the current count is reasonable for a focused server.
The tools enable creating, running with noise, and visualizing circuits. Missing operations like listing or deleting circuits are minor gaps but do not severely hinder basic usage.
Related MCP Connectors
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server exposing Qiskit quantum computing functionality through the Model Context Protocol. Enables LLMs to create, manipulate, and execute quantum circuits via standardized MCP tools and resources.32 PyPIMIT
- FlicenseAqualityDmaintenanceUnofficial Model Context Protocol (MCP) server that enables LLMs to build and execute quantum circuits using Qiskit.137-

SpinQit MCP Toolsofficial
FlicenseNot gradedqualityDmaintenanceSpinQit MCP Tools is a Python MCP server that connects AI assistants to SpinQ Cloud, enabling QASM circuit submission, platform discovery, and quantum task result retrieval through the Model Context Protocol.2-- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives Claude hands-on access to quantum computing via Qiskit, enabling building circuits, simulation, statevector inspection, transpilation, and optional execution on real IBM quantum computers.MIT