Quantum Simulator について
Quantum SimulatorはDockerイメージで提供される量子回路シミュレーターです。MCPクライアントで回路を実行・確認する人向けで、OpenQASM 2.0、ノイズモデル、複数の結果形式に対応しています。
主な機能
- 01Qiskitによる量子回路シミュレーション
- 02OpenQASM 2.0対応
- 03複数のノイズモデル
- 04カウント、状態ベクトル、ヒストグラムの出力
- 05回路統計の分析
- 06サンプル回路リソースの提供
活用シーン
- 01ベル状態やGrover回路のシミュレーション
- 02ノイズを含む量子回路のテスト
- 03回路統計の確認
- 04結果ヒストグラムの生成と確認
MCP 対応
MCP サーバーは回路実行、ノイズモデルと結果形式の一覧表示、回路統計の分析、テスト用ヒストグラム作成のツールを提供し、サンプル回路のリソースも公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Quantum Simulator MCP サーバー
Model Context Protocol(MCP)を実装した量子回路シミュレーターを提供する Docker イメージです。Claude for Desktop などの MCP クライアントと統合できます。
機能
- ノイズモデルに対応した量子コンピューティングシミュレーター
- OpenQASM 2.0 の量子回路に対応
- Qiskit を使用した量子回路シミュレーション
- さまざまなノイズモデルに対応(脱分極、熱緩和、読み出しエラー)
- カウント、状態ベクトル、可視化されたヒストグラムなど、複数の結果タイプ
- 設定済みの回路例
- MCP クライアントとのシームレスな統合
クイックスタート
Docker イメージを取得します
docker pull ychen94/quantum-simulator-mcp:latest
次のコマンドでコンテナを起動するだけです。
docker run -i --rm -v /tmp:/data/quantum_simulator_results -e HOST_OUTPUT_DIR="/tmp" ychen94/quantum-simulator-mcp:latest
このコマンドは次の処理を行います。
- ホストの
/tmpディレクトリをマウントし、ヒストグラムの出力ファイルを保存します HOST_OUTPUT_DIR環境変数を/tmpに設定します-i(対話モード)でコンテナの実行を維持します--rmを指定して、終了時にコンテナを自動的に削除します
Claude for Desktop での使用
-
Claude for Desktop をインストールします
-
Claude の設定ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
mcpServersセクションに次の設定を追加します。
{
"mcpServers": {
"quantum-simulator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v", "/tmp:/data/quantum_simulator_results",
"-e", "HOST_OUTPUT_DIR=/tmp",
"ychen94/quantum-simulator-mcp:latest"
]
}
}
}
- Claude for Desktop を再起動します
- Claude の UI でハンマーアイコンを探します。利用可能な MCP ツールが表示されます
MCP ツール
サーバーでは、次の MCP ツールを利用できます。
- run_circuit:指定したノイズモデルで量子回路を実行します
- list_noise_models:利用可能なすべてのノイズモデルとその説明を一覧表示します
- list_result_types:利用可能なすべての結果タイプとその説明を一覧表示します
- get_circuit_stats:量子回路を分析し、統計情報を返します
- create_test_histogram:出力ディレクトリの設定を確認するためのテスト用ヒストグラムファイルを作成します
MCP リソース
サーバーでは、量子回路の例を提供しています。
qasm://examples/bell-state.qasm:ベル状態の準備回路qasm://examples/grover-2qubit.qasm:2量子ビットの Grover アルゴリズムの実装qasm://examples/qft-4qubit.qasm:4量子ビットの量子フーリエ変換quantum://noise-models/examples.json:ノイズモデル設定の例
Claude での使用例
Claude で使用できるプロンプトを以下に示します。
-
「ベル状態の回路を実行して、結果を見せてください」
-
「量子シミュレーターで利用できるノイズモデルを教えてください」
-
「0.01 の脱分極ノイズを加えて、2量子ビットの Grover アルゴリズムをシミュレーションしてください」
-
「テスト用ヒストグラムを作成して、ファイルパスを教えてください」
-
「シンプルな QAOA アルゴリズムを提示してください。result_types は histogram のみを取得し、それを使って iterm でヒストグラムを表示してください」


ボリュームマッピング
コンテナは /data/quantum_simulator_results にヒストグラムの PNG ファイルを生成します。これらのファイルにホストシステムからアクセスできるようにする必要があります。ボリュームマッピング(-v /tmp:/data/quantum_simulator_results)により、これらのファイルをホストの /tmp ディレクトリから利用できます。
環境変数
QUANTUM_OUTPUT_DIR:コンテナ内のヒストグラムファイルの出力ディレクトリ(デフォルト:/data/quantum_simulator_results)HOST_OUTPUT_DIR:ホストシステム上の対応するパス(デフォルト:/tmp)
マルチアーキテクチャ対応
このイメージは次のアーキテクチャに対応しています。
- linux/amd64
- linux/arm64(Mac の M シリーズチップで動作確認済み)
注:このイメージはまだ Windows システムでテストされていませんが、Docker Desktop が適切に設定されていれば動作するはずです。
トラブルシューティング
問題:Claude がヒストグラムファイルにアクセスできません。
解決方法:ボリュームマッピングが正しいこと、および HOST_OUTPUT_DIR 環境変数がボリュームマッピングのホストパスと一致していることを確認してください。
問題:Docker コンテナがすぐに終了します。
解決方法:MCP STDIO トランスポートに必要な stdin を開いたままにするため、-i フラグを使用してください。
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については、このプロジェクトのリポジトリにある LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。