Qiskit MCP Server
PYPI · QISKIT-MCP-SERVER · SCANNED SEP 20
MCP server for Qiskit quantum computing with circuit serialization utilities
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security49
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 23 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 68 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1651 tokens (~165/item across 10 items; 7 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Qiskit MCP Server server?
Qiskit MCP Server runs locally as a PyPI package, launched with uvx qiskit-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · qiskit-mcp-server
claude mcp add qiskit-qiskit-mcp-server -- uvx qiskit-mcp-server
{
"mcpServers": {
"qiskit-qiskit-mcp-server": {
"command": "uvx",
"args": [
"qiskit-mcp-server"
]
}
}
} {
"servers": {
"qiskit-qiskit-mcp-server": {
"command": "uvx",
"args": [
"qiskit-mcp-server"
]
}
}
} codex mcp add qiskit-qiskit-mcp-server -- uvx qiskit-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"qiskit-qiskit-mcp-server": {
"type": "local",
"command": [
"uvx",
"qiskit-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add qiskit-qiskit-mcp-server --command uvx --arg qiskit-mcp-server
mcp_servers:
qiskit-qiskit-mcp-server:
command: "uvx"
args: ["qiskit-mcp-server"] {
"McpServers": {
"qiskit-qiskit-mcp-server": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"qiskit-mcp-server"
]
}
}
} assistant mcp add qiskit-qiskit-mcp-server -t stdio -c uvx -a qiskit-mcp-server
{
"mcpServers": {
"qiskit-qiskit-mcp-server": {
"command": "uvx",
"args": [
"qiskit-mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −2
- Stability: pass → 0.83 functional
- 17 Sept 26 0
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −2
- Stability: pass → 0.80 functional
- 10 Sept 26 0
- Stability: 0.97 → pass security
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/qiskit-mcp-server@0.3.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 23 packages
| Packages resolved | 23 |
|---|---|
| Stale | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_circuit_tool ~112
Analyze a quantum circuit without transpiling it. Provides detailed information about circuit structure, gate counts, and metrics useful for understanding circuit complexity.
| Name | Type | Req | Description |
|---|---|---|---|
| circuit | string | yes | Quantum circuit as QASM3 string, base64-encoded QPY, or QASM2 string. |
| circuit_format | string | – | Format of the input circuit ("qasm3" or "qpy"). Defaults to "qasm3". When "qasm3" is specified, QASM2 is also accepted as a fallback. |
Structured output declared, but exposes no named fields.
No examples provided.
compare_optimization_levels_tool ~136
Compare transpilation results across all optimization levels (0-3). Useful for understanding the trade-off between compilation time and circuit quality for a specific circuit. WARNING: This runs transpilation 4 times. For large circuits, this can be slow.
| Name | Type | Req | Description |
|---|---|---|---|
| circuit | string | yes | Quantum circuit as QASM3 string, base64-encoded QPY, or QASM2 string. |
| circuit_format | string | – | Format of the input circuit ("qasm3" or "qpy"). Defaults to "qasm3". When "qasm3" is specified, QASM2 is also accepted as a fallback. |
Structured output declared, but exposes no named fields.
No examples provided.
convert_qasm3_to_qpy_tool ~104
Convert a QASM3 (or QASM2) circuit to base64-encoded QPY format. Use this tool to convert human-readable QASM circuits to QPY format, which preserves full circuit fidelity (exact parameters, metadata, custom gates). The QPY output can then be used with other tools that accept QPY input.
| Name | Type | Req | Description |
|---|---|---|---|
| circuit_qasm | string | yes | OpenQASM 3.0 or 2.0 circuit string |
Structured output declared, but exposes no named fields.
No examples provided.
convert_qpy_to_qasm3_tool ~88
Convert a QPY circuit to human-readable QASM3 format. Use this tool to view the contents of a QPY circuit output from other tools (like transpile_circuit) in a human-readable OpenQASM 3.0 format.
| Name | Type | Req | Description |
|---|---|---|---|
| circuit_qpy | string | yes | Base64-encoded QPY circuit string (from transpile_circuit output) |
Structured output declared, but exposes no named fields.
No examples provided.
export_circuit_to_qasm_tool ~152
Export a Qiskit circuit to OpenQASM format. Converts a base64-encoded QPY circuit to human-readable OpenQASM text. Supports both QASM 3.0 and QASM 2.0 output. Note that some circuits with non-standard gates may not be expressible in QASM 2.0.
| Name | Type | Req | Description |
|---|---|---|---|
| circuit_qpy | string | yes | Base64-encoded QPY circuit string (from other tool outputs) |
| qasm_version | string | – | Target QASM version: - "3.0" (default): Export as OpenQASM 3.0 - "2.0": Export as OpenQASM 2.0 |
Structured output declared, but exposes no named fields.
No examples provided.
load_circuit_from_qasm_tool ~176
Load a quantum circuit from an OpenQASM 2.0 or 3.0 string. Parses the QASM input, returns the circuit as base64-encoded QPY along with metadata (qubit count, gate counts, depth) so you can reason about the circuit before deciding what to do next.
| Name | Type | Req | Description |
|---|---|---|---|
| qasm_string | string | yes | The OpenQASM source code (2.0 or 3.0) |
| qasm_version | string | – | Which parser to use: - "auto" (default): Try QASM 3.0 first, fall back to QASM 2.0 - "3.0": Only use the QASM 3.0 parser - "2.0": Only use the QASM 2.0 parser |
Structured output declared, but exposes no named fields.
No examples provided.
transpile_circuit_tool ~470
Transpile a quantum circuit using Qiskit's preset pass managers. Takes a quantum circuit and transpiles it to match target hardware constraints while optimizing for depth and gate count. IMPORTANT: Optimization level 3 can be very slow for large circuits (100+ qubits or 1000+ gates). Consider using level 2 for faster results with good quality.
| Name | Type | Req | Description |
|---|---|---|---|
| basis_gates | – | – | Target basis gates. Can be: - A list of gate names (e.g., ["cx", "id", "rz", "sx", "x"]) - A preset name: "ibm_default", "ibm_eagle", "ibm_heron", "generic_clifford_t", "ion_trap", "superconducting… |
| circuit | string | yes | Quantum circuit as QASM3 string, base64-encoded QPY, or QASM2 string. Maximum supported: 100 qubits, 10000 gates. For QASM2, set circuit_format="qasm3" (it will auto-detect and parse QASM2). |
| circuit_format | string | – | Format of the input circuit ("qasm3" or "qpy"). Defaults to "qasm3". When "qasm3" is specified, QASM2 is also accepted as a fallback. |
| coupling_map | – | – | Qubit connectivity. Can be: - A list of [control, target] pairs (e.g., [[0, 1], [1, 2]]) - A topology name: "linear", "ring", "grid", "full" - None for all-to-all connectivity |
| initial_layout | – | – | Optional initial qubit layout as list of physical qubit indices. Length must match the number of qubits in the circuit. |
| optimization_level | integer | – | Optimization level (0-3): - 0: No optimization, just maps to basis gates (fastest) - 1: Light optimization (default mapping, simple optimizations) - 2: Medium optimization (noise-adaptive layout) [de… |
| seed_transpiler | – | – | Random seed for reproducibility |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Qiskit MCP Server server?
Qiskit MCP Server is listed in the public MCP registry as io.github.Qiskit/qiskit-mcp-server. MCP server for Qiskit quantum computing with circuit serialization utilities. This page covers its PyPI package (qiskit-mcp-server).
Is the Qiskit MCP Server server safe to use?
Qiskit MCP Server scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Qiskit MCP Server server expose?
Qiskit MCP Server exposes 7 tools: transpile_circuit_tool, analyze_circuit_tool, compare_optimization_levels_tool, convert_qpy_to_qasm3_tool, convert_qasm3_to_qpy_tool, and 2 more. Their descriptions and schemas cost roughly 1,238 tokens of context every time the server is loaded.
Is the Qiskit MCP Server server still maintained?
Qiskit MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Qiskit MCP Server server under?
Qiskit MCP Server declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.