qiskit-sim-mcp
qiskit-sim-mcp
Ein Model Context Protocol (MCP)-Server, mit dem Claude Desktop Quantenschaltkreise mithilfe von Qiskit und Qiskit Aer erstellen, visualisieren und simulieren kann.
Was er kann
Sobald die Verbindung zu Claude Desktop hergestellt ist, können Sie natürliche Unterhaltungen führen wie:
"Erstelle einen Bell-Zustand und simuliere ihn mit 1024 Durchläufen"
"Zeige mir das GHZ-Schaltkreisdiagramm"
"Führe den Bell-Zustand mit hohem Rauschen aus und erkläre, was sich geändert hat"
"Erstelle einen benutzerdefinierten Schaltkreis aus diesem QASM-String"
Claude ruft die zugrunde liegenden Tools automatisch auf – kein manueller Tool-Aufruf erforderlich.
Funktionen
3 Tools:
create_circuit,visualize_circuit,run_simulation5 voreingestellte Schaltkreise: Bell-Zustand, GHZ-3, Superposition, Deutsch-Jozsa, Random-4
Benutzerdefiniertes QASM: Akzeptiert jeden gültigen OpenQASM 2.0-String
Rauschmodellierung: Ideal, geringes Rauschen (p=0.001), hohes Rauschen (p=0.01) durch depolarisierenden Fehler
1 Ressource:
resource://noise-presets— listet verfügbare Rauschkonfigurationen auf1 Prompt:
simulate_walkthrough— Vorlage für eine geführte Unterhaltung
Anforderungen
Python 3.13+
Anaconda oder ein beliebiger Python-Umgebungsmanager
Einrichtung
1. Repository klonen
git clone <repo-url>
cd qiskit-sim-mcp2. Abhängigkeiten installieren
pip install -e .Dies installiert mcp[cli], qiskit und qiskit-aer in Ihrer Python-Umgebung.
3. Installation überprüfen
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])
"Erwartete Ausgabe:
Tools: ['create_circuit', 'visualize_circuit', 'run_simulation']
Resources: [AnyUrl('resource://noise-presets')]
Prompts: ['simulate_walkthrough']4. Test mit MCP Inspector (Optional)
uv run mcp dev src/quantum_mcp_demo/server.pyÖffnen Sie http://localhost:6274 in Ihrem Browser. Verwenden Sie den Tab Tools, um jedes Tool manuell aufzurufen, bevor Sie eine Verbindung zu Claude Desktop herstellen.
5. Verbindung zu Claude Desktop herstellen
Suchen Sie Ihre Claude Desktop-Konfigurationsdatei:
Betriebssystem | Pfad |
macOS |
|
Windows |
|
Fügen Sie diesen Eintrag innerhalb des mcpServers-Objekts hinzu:
{
"mcpServers": {
"qiskit-sim-mcp": {
"command": "/opt/anaconda3/bin/python",
"args": [
"-m",
"quantum_mcp_demo.server"
]
}
}
}Hinweis: Ersetzen Sie
/opt/anaconda3/bin/pythondurch Ihren tatsächlichen Python-Pfad. Führen Siewhich pythonaus, um ihn zu finden.
6. Claude Desktop neu starten
Beenden Sie Claude Desktop vollständig (Cmd+Q unter macOS) und öffnen Sie es dann erneut. In einer neuen Unterhaltung bestätigt das Hammer-Symbol (🔨) in der Chateingabe, dass die MCP-Tools geladen sind.
Anwendungsbeispiele
Bell-Zustandssimulation
"Erstelle einen Bell-Zustandsschaltkreis, zeige mir das Diagramm und simuliere ihn dann 1024 Mal mit idealem und hohem Rauschen."
Claude wird Folgendes aufrufen:
create_circuit(preset="bell")→ erhält einecircuit_idvisualize_circuit(circuit_id=...)→ zeigt das H + CNOT-Gatter-Diagrammrun_simulation(circuit_id=..., shots=1024, noise_preset="ideal")→ ~50%|00⟩, ~50%|11⟩run_simulation(circuit_id=..., shots=1024, noise_preset="high_noise")→ verschlechterte Zählwerte,|01⟩und|10⟩erscheinen
Benutzerdefinierter QASM-Schaltkreis
"Führe diesen Schaltkreis aus: OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; creg c[2]; h q[0]; cx q[0],q[1]; measure q -> c;"
Claude analysiert den QASM-String und führt ihn durch dieselbe Simulations-Pipeline aus.
Rauschvergleich
"Vergleiche den GHZ-Zustand unter idealem vs. hohem Rauschen – was bewirkt das Rauschen bei der Verschränkung?"
Projektstruktur
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 builderVoreingestellte Schaltkreise
Voreinstellung | Qubits | Demonstriert | ||
| 2 | Verschränkung — 50/50-Aufteilung auf ` | 00⟩ | 11⟩` |
| 3 | Multi-Qubit-Verschränkung | ||
| 1 | Gleiche Superposition durch Hadamard | ||
| 3 | Quantenalgorithmus — Interferenz | ||
| 4 | Rausch-Stresstest — zufällige Gatter mit festem Seed |
Rausch-Voreinstellungen
Voreinstellung | Depolarisierend p | Beschreibung |
| keine | Perfekte Simulation |
| 0.001 | Realistisches Gerät der nahen Zukunft |
| 0.01 | Aggressives Rauschen — sichtbare Verschlechterung |
Fehlerbehebung
Claude Desktop zeigt das Hammer-Symbol nicht an
Beenden Sie Claude Desktop vollständig und starten Sie es nach dem Bearbeiten der Konfiguration neu
Überprüfen Sie, ob das Konfigurations-JSON gültig ist (keine nachgestellten Kommas)
Überprüfen Sie den Python-Pfad:
which python
python -m quantum_mcp_demo.server schlägt fehl
Stellen Sie sicher, dass Sie
pip install -e .im Projektstammverzeichnis ausgeführt habenÜberprüfen Sie die Python-Version:
python --version(erfordert 3.13+)
Port-Konflikt beim Ausführen des MCP Inspector
kill -9 $(lsof -t -i :6274) 2>/dev/null; kill -9 $(lsof -t -i :6277) 2>/dev/nullSimulation liefert unerwartete Zählwerte
Abweichungen bei der Anzahl der Durchläufe werden automatisch erkannt und als
isError: truezurückgegebenVersuchen Sie, die
shots(z. B. 512) zu reduzieren, wenn Fehler auftreten
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Narashiman24/qiskit-sim-mcp-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server