Quantum Simulator MCP Server

Um simulador de circuitos quânticos com modelos de ruído e suporte a OpenQASM 2.0, acessível através do Model Context Protocol (MCP).

Documentação

Quantum Simulator MCP Server

Uma imagem Docker que fornece um simulador de circuitos quânticos que implementa o Model Context Protocol (MCP), permitindo integração com clientes MCP, como o Claude for Desktop.

Recursos

  • Simulador de computação quântica com modelos de ruído
  • Suporte para circuitos quânticos OpenQASM 2.0
  • Simulação de circuitos quânticos usando Qiskit
  • Suporte para vários modelos de ruído (despolarização, relaxação térmica, erro de leitura)
  • Múltiplos tipos de resultado, incluindo contagens, statevector e histogramas visualizados
  • Circuitos de exemplo pré-configurados
  • Integração perfeita com clientes MCP

Início Rápido

obtenha a imagem Docker

docker pull ychen94/quantum-simulator-mcp:latest

Simplesmente execute o contêiner com o seguinte comando:

docker run -i --rm -v /tmp:/data/quantum_simulator_results -e HOST_OUTPUT_DIR="/tmp" ychen94/quantum-simulator-mcp:latest

Este comando:

  • Monta o diretório /tmp no seu host para armazenar arquivos de saída de histograma
  • Define a variável de ambiente HOST_OUTPUT_DIR para /tmp
  • Mantém o contêiner em execução com -i (modo interativo)
  • Remove automaticamente o contêiner quando ele sai com --rm

Usando com o Claude for Desktop

  1. Instale o Claude for Desktop

  2. Edite o arquivo de configuração do Claude:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Adicione a seguinte configuração à seção 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"
      ]
    }
  }
}
  1. Reinicie o Claude for Desktop
  2. Procure o ícone de martelo na interface do Claude, indicando ferramentas MCP disponíveis

Ferramentas MCP

O servidor fornece as seguintes ferramentas MCP:

  • run_circuit: Execute um circuito quântico com o modelo de ruído especificado
  • list_noise_models: Liste todos os modelos de ruído disponíveis e suas descrições
  • list_result_types: Liste todos os tipos de resultado disponíveis e suas descrições
  • get_circuit_stats: Analise um circuito quântico e retorne estatísticas
  • create_test_histogram: Crie um arquivo de histograma de teste para verificar a configuração do diretório de saída

Recursos MCP

O servidor fornece circuitos quânticos de exemplo:

  • qasm://examples/bell-state.qasm: Circuito de preparação do estado de Bell
  • qasm://examples/grover-2qubit.qasm: Implementação do algoritmo de Grover de 2 qubits
  • qasm://examples/qft-4qubit.qasm: Transformada Quântica de Fourier de 4 qubits
  • quantum://noise-models/examples.json: Exemplos de configurações de modelos de ruído

Exemplo de Uso no Claude

Aqui estão alguns prompts que você pode usar no Claude:

  1. "Execute um circuito de estado de Bell e mostre-me os resultados"

  2. "Quais modelos de ruído estão disponíveis no simulador quântico?"

  3. "Simule um algoritmo de Grover de 2 qubits com ruído de despolarização de 0.01"

  4. "Crie um histograma de teste e mostre-me o caminho do arquivo"

  5. "Por favor, forneça um algoritmo QAOA simples, obtenha apenas os result_types: histogram, e visualize o histograma usando iterm"

chat

result_pic

Mapeamento de Volume

O contêiner gera arquivos PNG de histograma em /data/quantum_simulator_results. Esses arquivos precisam estar acessíveis a partir do seu sistema host. O mapeamento de volume (-v /tmp:/data/quantum_simulator_results) torna esses arquivos disponíveis no diretório /tmp do seu host.

Variáveis de Ambiente

  • QUANTUM_OUTPUT_DIR: Diretório de saída para arquivos de histograma dentro do contêiner (padrão: /data/quantum_simulator_results)
  • HOST_OUTPUT_DIR: Caminho correspondente no sistema host (padrão: /tmp)

Suporte a Múltiplas Arquiteturas

Esta imagem suporta as seguintes arquiteturas:

  • linux/amd64
  • linux/arm64 (confirmado funcionando em chips Mac da série M)

Nota: A imagem ainda não foi testada em sistemas Windows, mas deve funcionar desde que o Docker Desktop esteja configurado corretamente.

Solução de Problemas

Problema: O Claude não consegue acessar os arquivos de histograma.
Solução: Garanta que o mapeamento de volume esteja correto e que a variável de ambiente HOST_OUTPUT_DIR corresponda ao caminho do host no seu mapeamento de volume.

Problema: O contêiner Docker sai imediatamente.
Solução: Certifique-se de usar a flag -i para manter o stdin aberto, o que é necessário para o transporte MCP STDIO.

Licença

Este projeto é licenciado sob a Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório deste projeto.