Skip to main content

MCP server for quantum resource estimation using Microsoft QDK

Project description

Quantum Resource Estimator MCP Server

An MCP (Model Context Protocol) server that makes quantum resource estimation accessible through natural language. Built on Microsoft's QDK resource estimator.

What It Does

Estimates physical quantum resources (qubit count, runtime) needed to run quantum algorithms on fault-tolerant hardware. Helps researchers answer questions like:

  • "How many qubits does it take to break RSA-2048 with Shor's algorithm?"
  • "How does a superconducting qubit hardware compare to trapped-ion for this chemistry simulation?"
  • "What's the tradeoff between qubit count and runtime for my algorithm?"

Tools

Tool Description
estimate_resources Run a single resource estimation with defaults or custom params
compare_configurations Side-by-side comparison across hardware architectures
generate_frontier Pareto frontier: qubit-count vs. runtime tradeoff
list_qubit_models Reference data for all 6 predefined qubit models
list_qec_schemes Reference data for QEC schemes (surface_code, floquet_code)
list_algorithm_templates Predefined algorithms with logical resource counts
explain_parameters Domain-specific guidance (cryptography, chemistry, optimization)
custom_qubit_model_estimate Estimation with fully custom qubit parameters

Installation

Requires Python 3.10+ and uv. The qsharp package bundles its own native runtime — no .NET SDK install needed.

git clone https://github.com/DeDuckProject/quantum-resource-estimator-mcp
cd quantum-resource-estimator-mcp
uv sync

Usage

Run the server

uv run qre-mcp

Configure in Claude Desktop

The recommended approach uses uv run --directory so no manual venv activation is needed.

macOS~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json Linux~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "quantum-resource-estimator": {
      "command": "/path/to/uv",
      "args": [
        "run",
        "--directory",
        "/path/to/quantum-resource-estimator-mcp",
        "qre-mcp"
      ]
    }
  }
}

Replace /path/to/uv with the output of which uv and /path/to/quantum-resource-estimator-mcp with the absolute path to the cloned repo.

Configure in Claude Code

claude mcp add quantum-resource-estimator -- /path/to/uv run --directory /path/to/quantum-resource-estimator-mcp qre-mcp

Inspect with MCP dev tools

uv run mcp dev src/qre_mcp/server.py

Algorithm Input Methods

  1. Template (easiest): algorithm_template="shor_2048" — uses predefined logical counts from published research
  2. Logical counts: logical_counts='{"numQubits": 100, "tCount": 200}' — provide your own circuit counts
  3. Q# code: qsharp_code="..." — provide Q# source with a parameterless entry point

Example Queries

Via an LLM with this MCP server connected:

"Estimate the resources to break RSA-2048 on superconducting hardware"

"Compare all qubit technologies for the FeMo-cofactor chemistry simulation"

"Show me the qubit vs runtime tradeoff for Shor's algorithm on trapped-ion hardware"

"I have a circuit with 500 logical qubits and 10 million T gates — how many physical qubits do I need?"

Predefined Algorithm Templates

ID Algorithm Category
shor_2048 Shor's factoring (RSA-2048) Cryptography
grover_aes128 Grover search (AES-128) Cryptography
chemistry_femo FeMo-cofactor simulation Chemistry
qpe_generic Quantum phase estimation General

Logs

The server runs over stdio (MCP protocol), so stdout/stderr are not available for human-readable output. Logs are written to a file you can follow in a separate terminal:

tail -F ~/.local/share/qre-mcp/qre-mcp.log

-F (capital F) handles log rotation — the file is capped at 5 MB with up to 3 backups.

To use a custom log path, set the QRE_MCP_LOG environment variable before starting the server.

Running Tests

uv run pytest

Tests cover validators, result formatting, reference data, and parameter building. Integration tests (requiring qsharp) are skipped if the package is not available.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantum_resource_estimator_mcp-0.1.0.tar.gz (86.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantum_resource_estimator_mcp-0.1.0-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file quantum_resource_estimator_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: quantum_resource_estimator_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 86.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for quantum_resource_estimator_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d246e01cf4ed2def970595237557dbc3668f75e5b8860c107661e76e54319cfa
MD5 567133c198ecbabb583501739f2af9eb
BLAKE2b-256 fc65c6939b17445e37932f6d0cc3d7073af91a1483f862f585f58e5afe8c802a

See more details on using hashes here.

File details

Details for the file quantum_resource_estimator_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quantum_resource_estimator_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for quantum_resource_estimator_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ce046f07022b249d7fffbcd2c56fd814d7201d663d8ab6064a7b79524bb4eb6
MD5 65d006bd97f38dae38ea8ab1a706e5b6
BLAKE2b-256 e7769f9742ebd341985dc0773baa6a2a540652aa6b2e159d145dfbaa6403ef0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page