mcpField
Q
Qiskit Mcp Server

Qiskit Mcp Server

ローカル
github.com/barvhaim科学・教育765 週間前に更新

Qiskit Mcp Server について

Qiskit Mcp Serverは、Qiskitで量子回路の構築、分析、最適化、シミュレーションを行う非公式MCPサーバーです。LLMを使った量子計算ワークフロー向けに、基本から高度な操作まで提供します。

主な機能

  1. 01回路の作成と量子ゲートの適用
  2. 02BasicSimulatorでの回路実行
  3. 03状態ベクトルと密度行列の分析
  4. 04Qiskit transpilerによる回路最適化
  5. 05変分回路とQFTの生成
  6. 06テキストまたはMermaid図で回路を表示

活用シーン

  1. 01量子回路の試作とシミュレーション
  2. 02確率分布とエンタングルメントの調査
  3. 03回路深度とゲート使用数の最適化
  4. 04変分回路またはQFTの構築

MCP 対応

回路の作成、実行、状態分析、最適化、可視化など、13種類の量子回路ツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Qiskit MCP サーバー

LLM が Qiskit を使用して量子回路を構築・実行できるようにする、非公式の Model Context Protocol(MCP)サーバーです。

機能

このサーバーは、量子回路を包括的に操作するための 13 個の MCP ツールを提供します。

基本ツール(8 個)
1. create_quantum_circuit

指定した量子ビット数と古典ビット数で、新しい量子回路を作成します。

パラメーター:

  • num_qubits(int):量子ビット数
  • num_classical_bits(int、任意):古典ビット数(デフォルトは num_qubits)
  • name(string、任意):回路のカスタム名(指定しない場合は自動生成)
2. add_gates

既存の回路に量子ゲートを追加します。

パラメーター:

  • circuit_name(string):変更する回路の名前
  • gates(array):ゲート操作のリスト

対応するゲート:

  • h:アダマールゲート - {'type': 'h', 'qubits': [0]}
  • x:パウリ X ゲート - {'type': 'x', 'qubits': [0]}
  • y:パウリ Y ゲート - {'type': 'y', 'qubits': [0]}
  • z:パウリ Z ゲート - {'type': 'z', 'qubits': [0]}
  • cx:CNOT ゲート - {'type': 'cx', 'qubits': [0, 1]}
  • measure:指定した量子ビットを測定 - {'type': 'measure', 'qubits': [0], 'classical_bit': 0}
  • measure_all:すべての量子ビットを測定 - {'type': 'measure_all'}
3. run_circuit

BasicSimulator で量子回路を実行します。

パラメーター:

  • circuit_name(string):実行する回路の名前
  • shots(int、任意):測定ショット数(デフォルト:1000)

戻り値: 測定結果とカウントを含む JSON

4. get_circuit_info

回路の詳細情報を取得します。

パラメーター:

  • circuit_name(string):回路の名前

戻り値: 回路のプロパティ(量子ビット数、深さ、ゲート数など)を含む JSON

5. visualize_circuit

量子回路のテキスト形式の可視化を取得します。

パラメーター:

  • circuit_name(string):回路の名前

戻り値: 回路を表す ASCII アート

6. visualize_circuit_mermaid

量子回路の Mermaid フローチャート図を生成します。

パラメーター:

  • circuit_name(string):可視化する回路の名前

戻り値: 量子回路を表す Mermaid フローチャート構文

7. list_circuits

作成済みのすべての回路を基本情報とともに一覧表示します。

戻り値: すべての回路名とプロパティを含む JSON

高度なツール(6 個)
8. analyze_statevector

回路の量子状態ベクトルを解析します。

パラメーター:

  • circuit_name(string):解析する回路の名前

戻り値: 確率、振幅、状態解析を含む JSON

9. compute_density_matrix

密度行列を計算し、純度とエンタングルメントを含めて解析します。

パラメーター:

  • circuit_name(string):解析する回路の名前

戻り値: 純度、エントロピー、エンタングルメント情報を含む JSON

10. optimize_circuit

Qiskit のトランスパイラーパスを使用して量子回路を最適化します。

パラメーター:

  • circuit_name(string):最適化する回路の名前
  • optimization_level(int):最適化レベル 0~3

戻り値: 最適化結果とパフォーマンス指標を含む JSON

11. add_advanced_gates

基本的な H、X、Y、Z、CX 以外の高度な量子ゲートを追加します。

パラメーター:

  • circuit_name(string):変更する回路の名前
  • gates(array):高度なゲート操作のリスト

対応する高度なゲート:

  • 回転ゲート:rx、ry、rz、rxx、ryy、rzz
  • ユニバーサルゲート:u
  • クリフォードゲート:s、sdg、t、tdg
  • swap:SWAP ゲート
12. create_variational_circuit

量子機械学習向けの変分量子回路を作成します。

パラメーター:

  • num_qubits(int):量子ビット数
  • num_layers(int):レイヤー数(デフォルト:1)
  • entanglement(string):エンタングルメントパターン('full'、'linear'、'circular')
  • name(string、任意):回路のカスタム名

戻り値: 回路の詳細とパラメーター数を含む成功メッセージ

13. implement_qft

量子フーリエ変換回路を実装します。

パラメーター:

  • num_qubits (int):QFT の量子ビット数
  • inverse (bool):逆 QFT を実装するかどうか(デフォルト:false)
  • name (string, optional):回路のカスタム名

戻り値: QFT 回路の詳細を含む成功メッセージ

サンプルとドキュメント

📚 詳細なサンプル

使い始める際に役立つ、豊富なサンプルとプロンプトを用意しています。

📋 テストスクリプト
💬 すぐに使えるプロンプト(130 件以上のサンプル)
クイックスタートのサンプル
ベル状態の作成
Create a 2-qubit quantum circuit and make a Bell state by applying H to qubit 0 and CNOT from 0 to 1, then measure both qubits and run with 1000 shots.
高度な状態解析
I have a Bell state circuit. Analyze its statevector to show the probabilities, then compute the density matrix to verify it's entangled with purity=1.0.
回路の最適化
Create a circuit with redundant gates (X followed by X), then optimize it at level 2 and show me the improvement metrics.
変分量子回路
Create a variational quantum circuit with 4 qubits, 2 layers, and full entanglement for quantum machine learning. Show me how many parameters it has.

サーバーの実行

単独で実行
# Install dependencies
uv sync

# Start the MCP server
uv run python main.py
Claude Desktop との連携

次の設定を Claude Desktop の設定ファイルに追加します。

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "qiskit-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/qiskit-mcp-server",
        "run",
        "main.py"
      ]
    }
  }
}

/path/to/qiskit-mcp-server を、このプロジェクトディレクトリの実際のパスに置き換えてください。

設定を追加したら、Claude Desktop を再起動します。次に、Claude に以下のように依頼できます。

  • 「量子ベル状態回路を作成して」
  • 「2 量子ビット用のグローバー探索アルゴリズムを構築して」
  • 「回路の状態ベクトルを解析して、エンタングルメントを表示して」
  • 「回路を最適化して、性能の改善を表示して」
  • 「量子機械学習用の変分回路を作成して」
  • 「3 量子ビットの量子フーリエ変換を実装して」

テストと検証

テストスクリプトの実行
# Test basic functionality
uv run python examples/test_scripts/test_basic_operations.py

# Test advanced features  
uv run python examples/test_scripts/test_advanced_operations.py

# Test quantum algorithms
uv run python examples/test_scripts/test_quantum_algorithms.py
直接テスト(レガシー)
uv run python test_direct.py  # If available

依存関係

  • qiskit (≥2.1.1):quantum_info、circuit.library、transpiler モジュールを備えた量子コンピューティングフレームワーク
  • fastmcp (≥2.10.6):MCP サーバーの実装
  • numpy:状態解析での数値計算に必要

対応する量子コンピューティングの概念

量子力学の基本
  • 重ね合わせ:アダマールゲートで量子重ね合わせを作成
  • エンタングルメント:CNOT ゲートや高度なゲートでエンタングル状態を作成
  • 測定:量子状態を古典ビットに収縮
  • 量子干渉:強め合う干渉と弱め合う干渉を実証
高度な量子操作
  • パラメーター付きゲート:任意の角度による RX、RY、RZ 回転
  • 2 量子ビット回転:エンタングルメントを直接作成する RXX、RYY、RZZ
  • 万能量子計算:あらゆる量子アルゴリズムに対応する完全なゲートセット
  • クリフォード操作:量子誤り訂正用の S、T ゲート
量子状態の解析
  • 状態ベクトル解析:確率を含む量子状態の完全な情報
  • 密度行列:混合状態の解析、純度、エントロピーの計算
  • エンタングルメントの検出:部分トレースのエントロピーによる量子相関の検証
  • 状態トモグラフィー:量子状態の包括的な特性評価
量子アルゴリズム
  • 探索アルゴリズム:データベース検索におけるGroverの二次高速化
  • 判定アルゴリズム:Deutsch-Jozsaの指数的優位性
  • フーリエ解析:周期を求める量子フーリエ変換
  • 変分アルゴリズム:近未来の量子優位性を実現するVQE、QAOA
  • 位相推定:量子演算子から固有値と位相を抽出
回路の最適化と解析
  • トランスパイラーとの統合:パフォーマンス指標を用いた多段階最適化(0~3)
  • 回路深度の解析:クリティカルパス解析と並列化
  • ゲート数の最適化:冗長性の除去と交換関係の解析
  • リソースの見積もり:アルゴリズムに必要な量子リソース
量子機械学習
  • 変分回路:さまざまなエンタングルメントパターンを持つパラメーター化されたアンザッツ
  • 量子特徴マップ:古典データを量子状態にエンコード
  • ハイブリッドアルゴリズム:古典・量子最適化ループ

このサーバーを使うと、LLMは、目的とする量子操作を自然言語で記述して量子回路を対話的に構築できます。記述は特定のゲート列に変換され、量子特性の解析、パフォーマンスの最適化、量子シミュレーターでの実行が行われ、包括的な結果解析が提供されます。

プロジェクト構成

qiskit-mcp-server/
├── main.py                     # MCP server with 13 quantum tools
├── pyproject.toml             # Dependencies and project config
├── examples/                  # Comprehensive examples and documentation
│   ├── README.md             # Learning guide and examples overview  
│   ├── test_scripts/         # Test cases and demonstrations
│   │   ├── test_basic_operations.py      # Core tools testing
│   │   ├── test_advanced_operations.py   # Advanced features testing
│   │   └── test_quantum_algorithms.py    # Algorithm implementations
│   └── prompts/              # 130+ ready-to-use prompt examples
│       ├── basic_circuit_operations.md   # Beginner prompts
│       ├── advanced_circuit_operations.md # State analysis prompts
│       ├── quantum_algorithms.md         # Algorithm prompts
│       └── educational_examples.md       # Learning prompts
└── README.md                  # This file

ヘルプ

  • 例:包括的なガイドについては、examples フォルダーから始めてください
  • Qiskit のドキュメント:https://qiskit.org/documentation/
  • 量子コンピューティングの学習:IBM Qiskit Textbook
  • 課題:GitHub の課題からバグを報告し、機能をリクエストしてください

貢献

貢献を歓迎します!拡張できる分野は次のとおりです。

  • 追加の量子アルゴリズム(Shor、HHL、量子シミュレーション)
  • ノイズモデリングおよびエラー軽減ツール
  • 高度な可視化機能
  • ハードウェアバックエンドとの統合
  • 教育コンテンツと例

ライセンス

このプロジェクトはオープンソースです。詳細についてはライセンスファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。