Skip to main content
Glama

qiskit-sim-mcp

Claude DesktopでQiskitおよびQiskit Aerを使用して量子回路を作成、可視化、シミュレーションできるModel Context Protocol (MCP) サーバーです。

機能

Claude Desktopに接続すると、以下のような自然な会話が可能になります。

  • 「ベル状態を作成し、1024ショットでシミュレーションして」

  • 「GHZ回路の図を見せて」

  • 「ベル状態を高いノイズ設定で実行し、何が変わったか説明して」

  • 「このQASM文字列からカスタム回路を作成して」

Claudeは自動的に基盤となるツールを呼び出すため、手動でツールを起動する必要はありません。

特徴

  • 3つのツール: create_circuit, visualize_circuit, run_simulation

  • 5つのプリセット回路: Bell状態, GHZ-3, 重ね合わせ, ドイッチュ・ジョサ, ランダム-4

  • カスタムQASM: 有効なOpenQASM 2.0文字列をすべて受け入れ可能

  • ノイズモデリング: 理想的、低ノイズ (p=0.001)、高ノイズ (p=0.01) を脱分極誤差でサポート

  • 1つのリソース: resource://noise-presets — 利用可能なノイズ設定をリスト化

  • 1つのプロンプト: simulate_walkthrough — ガイド付き会話テンプレート

要件

セットアップ

1. リポジトリのクローン

git clone <repo-url>
cd qiskit-sim-mcp

2. 依存関係のインストール

pip install -e .

これにより、mcp[cli]qiskitqiskit-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 を開きます。Claude Desktopに接続する前に、Toolsタブを使用して各ツールを手動で呼び出してみてください。

5. Claude Desktopへの接続

Claude Desktopの設定ファイルを見つけます:

OS

パス

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

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を完全に終了し(macOSではCmd+Q)、再度開きます。新しい会話で、チャット入力欄のハンマーアイコン(🔨)が表示されていれば、MCPツールが読み込まれています。

使用例

ベル状態のシミュレーション

「ベル状態の回路を作成し、図を表示して、理想的なノイズと高いノイズで1024回シミュレーションして。」

Claudeは以下を呼び出します:

  1. create_circuit(preset="bell")circuit_idを取得

  2. visualize_circuit(circuit_id=...) → H + CNOTゲートの図を表示

  3. run_simulation(circuit_id=..., shots=1024, noise_preset="ideal") → 約50% |00⟩, 約50% |11⟩

  4. 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

プリセット回路

プリセット

量子ビット

デモンストレーション

bell

2

量子もつれ — `

00⟩

11⟩`で50/50に分割

ghz_3

3

多量子ビットの量子もつれ

superposition

1

アダマールゲートによる等しい重ね合わせ

deutsch_jozsa

3

量子アルゴリズム — 干渉

random_4

4

ノイズストレステスト — 固定シードのランダムゲート

ノイズプリセット

プリセット

脱分極 p

説明

ideal

なし

完璧なシミュレーション

low_noise

0.001

現実的な近未来デバイス

high_noise

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)

Install Server
F
license - not found
A
quality
C
maintenance

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