プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。プロトタイプ · 30分ごとに更新
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Qiskit MCP Server

作者:Qiskitバージョン 0.3.2i★ 46 (リポジトリ全体のスター)iパソコンで動く
レジストリ名io.github.Qiskit/qiskit-mcp-server

インストール方法

What it does

MCP server for Qiskit quantum computing with circuit serialization utilities

  • Connects パソコンで動く
  • Account or key No key needed
  • Category その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月13日

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

AI にインストールしてもらう

このメッセージを Claude のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Claude に MCP server Qiskit MCP Server を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "qiskit": { "command": "uvx", "args": [ "qiskit-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、Qiskit MCP Server のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. uv を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    uv --version
    • バージョン番号(例 uv …)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します

    uv のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version

    一度入れれば、uv を使うすべてのツールで使えます

  2. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  3. この設定を貼り付けて保存

    {
      "mcpServers": {
        "qiskit": {
          "command": "uvx",
          "args": [
            "qiskit-mcp-server"
          ]
        }
      }
    }
  4. Claude を終了してもう一度開く

  5. 試してみる

    Qiskit MCP Server を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Qiskit MCP Server を使っていると言うか、回答に Qiskit MCP Server のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ Qiskit MCP Server につなげません

Qiskit MCP Server はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · Qiskit MCP Server につなげるアプリを使う

  • 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)

B · その他 の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを Claude Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Claude Code に MCP server Qiskit MCP Server を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):claude mcp add --scope user qiskit -- uvx qiskit-mcp-server 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、Qiskit MCP Server のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. uv を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    uv --version
    • バージョン番号(例 uv …)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します

    uv のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version

    一度入れれば、uv を使うすべてのツールで使えます

  2. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  3. このコマンドを貼り付けて Enter

    claude mcp add --scope user qiskit -- uvx qiskit-mcp-server
  4. Claude Code で /mcp と入力

    Qiskit MCP Server が一覧にあり、接続済みと表示されれば OK です

  5. 試してみる

    Qiskit MCP Server を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Qiskit MCP Server を使っていると言うか、回答に Qiskit MCP Server のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを Cursor のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Cursor に MCP server Qiskit MCP Server を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "qiskit": { "command": "uvx", "args": [ "qiskit-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、Qiskit MCP Server のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. uv を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    uv --version
    • バージョン番号(例 uv …)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します

    uv のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version

    一度入れれば、uv を使うすべてのツールで使えます

  2. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  3. Cursor の AI チャットを Agent モードで開く

  4. 試してみる

    Qiskit MCP Server を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Qiskit MCP Server を使っていると言うか、回答に Qiskit MCP Server のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを VS Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの VS Code に MCP server Qiskit MCP Server を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "servers": { "qiskit": { "type": "stdio", "command": "uvx", "args": [ "qiskit-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、Qiskit MCP Server のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. uv を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    uv --version
    • バージョン番号(例 uv …)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します

    uv のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version

    一度入れれば、uv を使うすべてのツールで使えます

  2. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  3. VS Code の AI チャットを Agent モードで開く

  4. 試してみる

    Qiskit MCP Server を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Qiskit MCP Server を使っていると言うか、回答に Qiskit MCP Server のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?Qiskit MCP Server を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user qiskit -- uvx qiskit-mcp-server

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "qiskit": {
      "command": "uvx",
      "args": [
        "qiskit-mcp-server"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "qiskit": {
      "command": "uvx",
      "args": [
        "qiskit-mcp-server"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "qiskit": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "qiskit-mcp-server"
      ]
    }
  }
}

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

GitHubスターi
46 (リポジトリ全体のスター)
このリポジトリには複数の MCP があり、スターは順位で1件だけ数えます
週あたりのダウンロードi
598/週
接続方法
パソコンで動く
最新バージョンi
0.3.2
カテゴリi
その他
レジストリ公開日i
2026年10月8日
コードの最終更新i
2026年10月8日
作者
Qiskit
パッケージ
pypi: qiskit-mcp-server
ウェブサイト
github.com
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月15日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント Qiskit で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:38 日前

  • ✓ 合格

    ライセンスがある

    Apache-2.0を使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

公開済みの脆弱性(OSV.dev)

OSV.dev に qiskit-mcp-server@0.3.2 の登録はありません

このバージョンのパッケージ本体のみ確認。すべての依存関係ではありません · 確認日 2026年11月15日

確認していること → · JSON

作者の方へ:再確認の依頼・情報の誤りの報告

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

ログインして投稿

ユーザーレビュー

まだレビューはありません

ログインしてレビューを書く

その他のほかのサーバーとの比較i

  • このカテゴリのほかの19912件のうち96%よりスターが多い
  • このカテゴリのほかの19912件のうち54%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの19912件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Qiskit MCP Serverは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は38 日前、最新バージョン(0.3.2)がレジストリに届いたのは38 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu

似た働きのほかの候補

同じカテゴリでほかの作者のもの。コマンドは確認済み。公式を先に、次にスター順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.

作者:koala73広く使われている★ 9.1万昨日更新

クラウドで動く✓ 提供元 · worldmonitor.app

openstatus

Manage monitors, status pages, incidents and maintenances in your openstatus workspace.

作者:openstatusHQ広く使われている★ 92652 か月前更新

クラウドで動く✓ 提供元 · openstatus.dev

Oh My Posh Validator

Validate oh-my-posh configurations and segment snippets against the official schema.

作者:JanDeDobbeleer広く使われている★ 2.4万 リポジトリ全体のスター26 日前更新

クラウドで動く✓ 提供元 · ohmyposh.dev

Strata

MCP server for progressive tool usage at any scale (see https://klavis.ai)

作者:Klavis-AI成長中★ 582714 か月前更新

クラウドで動くリポジトリはアーカイブ済み✓ klavis.ai

Jitsu

Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.

作者:jitsucom広く使われている★ 51354 か月前更新

クラウドで動く✓ 提供元 · jitsu.com
  • World Monitor — クラウドで動き、インストール不要 · キー不要
  • openstatus — クラウドで動き、インストール不要 · キー不要
  • Oh My Posh Validator — クラウドで動き、インストール不要 · キー不要
  • Strata — クラウドで動き、インストール不要 · キー不要
  • Jitsu — クラウドで動き、インストール不要 · キー不要

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Qiskit MCP Server

A Model Context Protocol (MCP) server that provides quantum circuit transpilation capabilities using Qiskit's pass managers. This server enables AI assistants to optimize quantum circuits for various hardware targets.

Features

  • Circuit Transpilation: Transpile quantum circuits with configurable optimization levels (0-3)
  • Preset Basis Gates: Support for IBM Eagle, IBM Heron, ion trap, and other basis gate sets
  • Topology Support: Built-in support for linear, ring, grid, and custom coupling maps
  • Circuit Analysis: Analyze circuit complexity without transpilation
  • Optimization Comparison: Compare results across all optimization levels
  • Dual API: Supports both async (MCP) and sync (Jupyter, scripts) usage

Prerequisites

  • Python 3.10 or higher
  • uv package manager (recommended) or pip

Installation

From PyPI (when published)
pip install qiskit-mcp-server
From Source
# Clone the repository

git clone https://github.com/Qiskit/mcp-servers.git cd mcp-servers/qiskit-mcp-server

Install with uv

uv sync

Or with pip

pip install -e .

Quick Start

Running the MCP Server
# With uv

uv run qiskit-mcp-server

Or directly

qiskit-mcp-server

Claude Desktop Configuration

Add to your Claude Desktop configuration (claude_desktop_config.json):

{

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

Usage Examples

Async Usage (MCP Server / FastAPI)
from qiskit_mcp_server.transpiler import transpile_circuit

Simple Bell state circuit (QASM2 - automatically detected)

qasm = """OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; creg c[2]; h q[0]; cx q[0], q[1]; measure q -> c; """

Transpile with default settings (optimization level 2, QASM3 format)

result = await transpile_circuit(qasm)

Transpile for IBM Heron processor

result = await transpile_circuit( qasm, optimization_level=3, basis_gates="ibm_heron", coupling_map="linear" )

Using QPY Format
from qiskit import QuantumCircuit

from qiskit_mcp_server import dump_qpy_circuit from qiskit_mcp_server.transpiler import transpile_circuit

Create a circuit programmatically

qc = QuantumCircuit(2, 2) qc.h(0) qc.cx(0, 1) qc.measure([0, 1], [0, 1])

Convert to QPY (preserves exact parameters and metadata)

qpy_circuit = dump_qpy_circuit(qc)

Transpile using QPY format

result = await transpile_circuit(qpy_circuit, circuit_format="qpy")

Result includes transpiled circuit in QPY format (for chaining)

transpiled_qpy = result"transpiled_circuit"

Chain to another operation using QPY

result2 = await transpile_circuit(transpiled_qpy, circuit_format="qpy", optimization_level=3)

Sync Usage (Scripts, Jupyter)
from qiskit_mcp_server.transpiler import transpile_circuit, analyze_circuit

All async functions have a .sync attribute

result = transpile_circuit.sync(qasm, optimization_level=2)

Analyze circuit without transpiling

analysis = analyze_circuit.sync(qasm) print(f"Circuit depth: {analysis'circuit_info'}") print(f"Two-qubit gates: {analysis'gate_categories'}")

Compare Optimization Levels
from qiskit_mcp_server.transpiler import compare_optimization_levels

Compare all optimization levels (0-3) for your circuit

comparison = compare_optimization_levels.sync(qasm)

for level in range(4): result = comparison'optimization_results' print(f"Level {level}: depth={result['depth']}, size={result['size']}")

LangChain Integration Example:

Note: To run LangChain examples you will need to install the dependencies:

`bash

pip install langchain langchain-mcp-adapters langchain-openai python-dotenv

`

import asyncio

import os from langchain.agents import create_agent from langchain_mcp_adapters.client import MultiServerMCPClient from langchain_mcp_adapters.tools import load_mcp_tools from langchain_openai import ChatOpenAI from dotenv import load_dotenv

Load environment variables (OPENAI_API_KEY, etc.)

load_dotenv()

Sample Bell state circuit

SAMPLE_BELL = """ OPENQASM 3.0; include "stdgates.inc"; qubit[2] q; h q[0]; cx q[0], q[1]; """

async def main():

Configure MCP client

mcp_client = MultiServerMCPClient({ "qiskit": { "transport": "stdio", "command": "qiskit-mcp-server", "args": [], "env": {}, } })

Use persistent session for efficient tool calls

async with mcp_client.session("qiskit") as session: tools = await load_mcp_tools(session)

Create agent with LLM

llm = ChatOpenAI(model="gpt-5.2", temperature=0) agent = create_agent(llm, tools)

Run a query

response = await agent.ainvoke(f"Transpile this circuit for IBM Heron: {SAMPLE_BELL}") print(response)

asyncio.run(main())

For more LLM providers (Anthropic, Google, Ollama, Watsonx) and detailed examples including Jupyter notebooks, see the examples/ directory.

API Reference

Tools
ToolDescription
transpile_circuit_toolTranspile a circuit with configurable optimization
analyze_circuit_toolAnalyze circuit structure without transpiling
compare_optimization_levels_toolCompare all optimization levels (0-3)
load_circuit_from_qasm_toolLoad a circuit from OpenQASM 2.0 or 3.0 string, returning QPY and metadata
export_circuit_to_qasm_toolExport a QPY circuit to OpenQASM 2.0 or 3.0 format
convert_qpy_to_qasm3_toolConvert a base64-encoded QPY circuit to QASM3
convert_qasm3_to_qpy_toolConvert a QASM3 (or QASM2) circuit to base64-encoded QPY
Resources
Resource URIDescription
qiskit://transpiler/infoTranspiler capabilities and documentation
qiskit://transpiler/basis-gatesAvailable basis gate presets
qiskit://transpiler/topologiesAvailable coupling map topologies
Core Functions
transpile_circuit(circuit, optimization_level=2, basis_gates=None, coupling_map=None, initial_layout=None, seed_transpiler=None, circuit_format="qasm3")

Transpile a quantum circuit using Qiskit's preset pass managers.

Parameters:

  • circuit: Quantum circuit as QASM3 string, base64-encoded QPY, or QASM2 string (max 100 qubits, 10,000 gates)
  • optimization_level: 0-3 (default: 2)
  • 0: No optimization, only basis gate decomposition (fastest)
  • 1: Light optimization with default layout
  • 2: Medium optimization with noise-aware layout (recommended)
  • 3: Heavy optimization for best results (can be slow for large circuits)
  • basis_gates: List of gate names or preset ("ibm_default", "ibm_heron", etc.)
  • coupling_map: List of edges or topology name ("linear", "ring", "grid", "full")
  • initial_layout: List of physical qubit indices (length must match circuit qubits)
  • seed_transpiler: Random seed for reproducibility
  • circuit_format: Format of the input circuit ("qasm3" or "qpy"). Defaults to "qasm3". When "qasm3" is specified, QASM2 is also accepted as a fallback.

Returns: Dictionary with original/transpiled circuit info and optimization metrics

Note: Level 3 optimization can be very slow for circuits with >20 qubits or >500 gates. Use level 2 for faster results with good quality.

analyze_circuit(circuit, circuit_format="qasm3")

Analyze circuit structure and complexity.

Returns: Dictionary with gate counts, depth, and categorization (single/two/multi-qubit gates)

compare_optimization_levels(circuit, circuit_format="qasm3")

Compare transpilation results across all optimization levels.

Returns: Dictionary comparing depth, size, and gates for levels 0-3

Circuit Format Support

The server supports two circuit formats for input:

FormatDescription
qasm3OpenQASM 3.0 string (with QASM2 fallback). Human-readable text format.
qpyBase64-encoded QPY binary format. Preserves exact parameters and metadata.

QPY output: All tools return circuits in QPY format (base64-encoded) for precision when chaining tools/servers.

When to use each format:

  • QASM3 (input): Best for human-readable circuits and initial input
  • QPY (input/output): Best for preserving exact numerical parameters when chaining tools/servers
Converting QPY to Human-Readable QASM3

To view a QPY circuit output in human-readable format, use the qpy_to_qasm3 utility:

from qiskit_mcp_server import qpy_to_qasm3

from qiskit_mcp_server.transpiler import transpile_circuit

Transpile a circuit (returns QPY format)

result = transpile_circuit.sync(qasm_circuit, optimization_level=2) qpy_output = result"transpiled_circuit"

Convert to human-readable QASM3

conversion = qpy_to_qasm3(qpy_output) if conversion["status"] == "success": print(conversion["qasm3"])

Converting QASM3 to QPY

To convert a QASM circuit to QPY format (for full fidelity when chaining tools), use qasm3_to_qpy:

from qiskit_mcp_server import qasm3_to_qpy

qasm_circuit = ''' OPENQASM 3.0; include "stdgates.inc"; qubit[2] q; h q[0]; cx q[0], q[1]; '''

Convert to QPY format

result = qasm3_to_qpy(qasm_circuit) if result["status"] == "success": qpy_string = result["circuit_qpy"]

Use qpy_string with tools that accept QPY input

Available Basis Gate Sets
PresetGatesDescription
ibm_eagleid, rz, sx, x, ecr, resetIBM Eagle r3 (127 qubits, uses ECR)
ibm_heronid, rz, sx, x, cz, resetIBM Heron (133-156 qubits, uses CZ)
ibm_legacyid, rz, sx, x, cx, resetOlder IBM systems (uses CX)

You can also provide a custom list of gate names for other hardware targets.

Available Topologies
TopologyDescription
linearChain connectivity (qubit i ↔ i+1)
ringLinear with wraparound
grid2D grid connectivity
heavy_hexIBM heavy-hex topology (Eagle/Heron architecture)
fullAll-to-all connectivity

Limits and Performance

Circuit Size Limits

To ensure reliable performance, the server enforces the following limits:

LimitDefaultEnvironment Variable
Maximum qubits100QISKIT_MCP_MAX_QUBITS
Maximum gates10,000QISKIT_MCP_MAX_GATES

Circuits exceeding these limits will return an error with a descriptive message.

You can override these limits via environment variables:

# Allow up to 200 qubits and 50,000 gates

export QISKIT_MCP_MAX_QUBITS=200 export QISKIT_MCP_MAX_GATES=50000

Performance Recommendations
Optimization LevelUse CasePerformance
0Quick iterations, debuggingFastest
1Development, prototypingFast
2Production use (recommended)Balanced
3Critical applications, small circuitsSlowest

Tips:

  • Use level 2 for most use cases (best balance of quality and speed)
  • Use level 3 only when circuit quality is critical AND circuit is small (<20 qubits, <500 gates)
  • Use level 0 or 1 for rapid prototyping and development
  • The `compare_optimizatio

冒頭だけを表示しています。続きはリポジトリで読めます