qiskit-sim-mcp
qiskit-sim-mcp
Сервер протокола контекста модели (MCP), который позволяет Claude Desktop создавать, визуализировать и моделировать квантовые схемы с использованием Qiskit и Qiskit Aer.
Что он делает
После подключения к Claude Desktop вы можете вести естественные диалоги, например:
"Создай состояние Белла и смоделируй его с 1024 запусками"
"Покажи мне диаграмму схемы GHZ"
"Запусти состояние Белла с высоким уровнем шума и объясни, что изменилось"
"Создай пользовательскую схему из этой строки QASM"
Claude будет вызывать базовые инструменты автоматически — ручной вызов инструментов не требуется.
Функции
3 инструмента:
create_circuit,visualize_circuit,run_simulation5 предустановленных схем: состояние Белла, GHZ-3, суперпозиция, Дойча-Йожи, случайная-4
Пользовательский QASM: принимает любую корректную строку OpenQASM 2.0
Моделирование шума: идеальный, низкий шум (p=0.001), высокий шум (p=0.01) через деполяризующую ошибку
1 ресурс:
resource://noise-presets— список доступных конфигураций шума1 подсказка:
simulate_walkthrough— шаблон для пошагового обучения
Требования
Python 3.13+
Anaconda или любой менеджер окружений Python
Настройка
1. Клонируйте репозиторий
git clone <repo-url>
cd qiskit-sim-mcp2. Установите зависимости
pip install -e .Это установит mcp[cli], qiskit и qiskit-aer в ваше окружение Python.
3. Проверьте установку
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])
"Ожидаемый вывод:
Tools: ['create_circuit', 'visualize_circuit', 'run_simulation']
Resources: [AnyUrl('resource://noise-presets')]
Prompts: ['simulate_walkthrough']4. Протестируйте с помощью MCP Inspector (опционально)
uv run mcp dev src/quantum_mcp_demo/server.pyОткройте http://localhost:6274 в браузере. Используйте вкладку Tools, чтобы вызвать каждый инструмент вручную перед подключением к Claude Desktop.
5. Подключитесь к Claude Desktop
Найдите файл конфигурации Claude Desktop:
ОС | Путь |
macOS |
|
Windows |
|
Добавьте эту запись внутри объекта mcpServers:
{
"mcpServers": {
"qiskit-sim-mcp": {
"command": "/opt/anaconda3/bin/python",
"args": [
"-m",
"quantum_mcp_demo.server"
]
}
}
}Примечание: Замените
/opt/anaconda3/bin/pythonна ваш фактический путь к Python. Выполнитеwhich python, чтобы найти его.
6. Перезапустите Claude Desktop
Полностью закройте Claude Desktop (Cmd+Q на macOS), затем откройте его снова. В новом диалоге значок молотка (🔨) в поле ввода чата подтвердит, что инструменты MCP загружены.
Примеры использования
Моделирование состояния Белла
"Создай схему состояния Белла, покажи мне диаграмму, а затем смоделируй её 1024 раза с идеальным и высоким уровнем шума."
Claude вызовет:
create_circuit(preset="bell")→ получитcircuit_idvisualize_circuit(circuit_id=...)→ покажет диаграмму вентилей H + CNOTrun_simulation(circuit_id=..., shots=1024, noise_preset="ideal")→ ~50%|00⟩, ~50%|11⟩run_simulation(circuit_id=..., shots=1024, noise_preset="high_noise")→ ухудшенные результаты, появятся|01⟩и|10⟩
Пользовательская схема QASM
"Запусти эту схему: OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; creg c[2]; h q[0]; cx q[0],q[1]; measure q -> c;"
Claude проанализирует строку QASM и запустит её через тот же конвейер моделирования.
Сравнение шума
"Сравни состояние GHZ при идеальном и высоком уровне шума — как шум влияет на запутанность?"
Структура проекта
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 builderПредустановленные схемы
Предустановка | Кубиты | Демонстрирует | ||
| 2 | Запутанность — разделение 50/50 на ` | 00⟩ | 11⟩` |
| 3 | Многокубитная запутанность | ||
| 1 | Равная суперпозиция через Адамар | ||
| 3 | Квантовый алгоритм — интерференция | ||
| 4 | Стресс-тест шума — случайные вентили с фиксированным зерном |
Предустановки шума
Предустановка | Деполяризация p | Описание |
| нет | Идеальное моделирование |
| 0.001 | Реалистичное устройство ближайшего будущего |
| 0.01 | Агрессивный шум — заметная деградация |
Устранение неполадок
Claude Desktop не показывает значок молотка
Закройте и полностью перезапустите Claude Desktop после редактирования конфигурации
Проверьте, что JSON конфигурации корректен (нет лишних запятых)
Проверьте путь к Python:
which python
python -m quantum_mcp_demo.server выдает ошибку
Убедитесь, что вы выполнили
pip install -e .из корня проектаПроверьте версию Python:
python --version(требуется 3.13+)
Конфликт портов при запуске MCP Inspector
kill -9 $(lsof -t -i :6274) 2>/dev/null; kill -9 $(lsof -t -i :6277) 2>/dev/nullМоделирование возвращает неожиданные результаты
Несоответствия количества запусков определяются автоматически и возвращаются как
isError: trueПопробуйте уменьшить
shots(например, 512), если видите ошибки
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