Quantum Code Validator

Un servidor para validar código de bibliotecas de computación cuántica, con soporte para PennyLane.

Documentación

Quantum Code Validator

Un servidor de Model Context Protocol (MCP) para validar código de bibliotecas de computación cuántica. Actualmente es compatible con PennyLane, con planes de ampliar el soporte a otras bibliotecas de computación cuántica en el futuro.

Descripción general

Quantum Code Validator es una herramienta que ayuda a los desarrolladores a garantizar que su código de computación cuántica sea válido y siga los patrones de uso correctos para diversas bibliotecas cuánticas. Proporciona validación estática del código cuántico contra la documentación oficial y ofrece capacidades de consulta de documentación de referencia.

Características

  • Validación estática de código: Valida código cuántico mediante:
    • Verificación de la sintaxis del código usando el módulo ast de Python
    • Verificación de la compilación del código usando py_compile
    • Comparación del uso de métodos de bibliotecas cuánticas contra la documentación oficial
  • Consulta de documentación de referencia: Recupera documentación de métodos para versiones específicas de bibliotecas cuánticas
  • Validación específica por versión: Admite la validación contra versiones específicas de bibliotecas cuánticas
  • Arquitectura extensible: Diseñado para admitir múltiples bibliotecas de computación cuántica

Soporte actual

  • PennyLane: Soporte completo para validación estática y consulta de documentación de referencia
    • Versiones compatibles: v0.35.0 - v0.41.1

Soporte planificado

Las siguientes bibliotecas de computación cuántica están planificadas para soporte futuro:

  • Qulacs
  • Qiskit
  • Cirq
  • cuQuantum
  • Y más...

Uso

El servidor proporciona dos herramientas principales:

  1. validate_quantum_method_by_static:

    # Example usage
    result = validate_quantum_method_by_static(
        code="your_quantum_code_here",
        version="v0.41.1"  # Optional
    )
    
  2. request_quantum_method_reference:

    # Example usage
    docs = request_quantum_method_reference(
        method_name="qml.CNOT",  # Method name without arguments
        version="v0.41.1"  # Optional
    )
    

Instalación

1. Instalar con uv

git clone https://github.com/yourusername/quantum-code-validator.git
cd quantum-code-validator
  1. Crear y activar un entorno virtual:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. Instalar uv (si aún no está instalado):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Instalar las dependencias usando uv:

    uv sync
    
  4. Ejecutar el servidor:

    uv run src/server.py
    

Configuración del servidor MCP

1. Servidor MCP local mediante uv

1.1 Cargar y analizar el código fuente de PennyLane

Cargar información básica del código fuente de PennyLane y guardarla como archivos JSON por versión. La versión de PennyLane será la instalada en el entorno de ejecución, por lo que debe cambiarse usando el comando uv según sea necesario.

uv run scripts/parse_pennylane_api.py ./refdocs/pennylane/raw/v0.41.1.json

1.2 Formatear el código fuente en documento

A continuación, usaremos un LLM para formatear la información básica extraída en el Paso 1 en información documental a la que se pueda acceder en MCP. Especifique las versiones de PennyLane que se convertirán en documentos como una lista separada por comas. Tenga en cuenta que este proceso utiliza un LLM, por lo que debe establecerse la variable de entorno "OPENAI_API_KEY", y hay un costo de aproximadamente $2.50 por versión. Los resultados del formateo se guardarán en "./refdocs/pennylane/formatted".

uv run scripts/format_docs_by_llm.py v0.41.0,v0.41.1

1.3 Configurar el servidor MCP localmente

Finalmente, configurando el archivo mcp.json según la plataforma e iniciando el servidor MCP, la herramienta queda disponible para su uso con la herramienta objetivo. Como referencia, se proporciona un enlace a la documentación sobre cómo configurarlo para Claude Desktop.

{
  "mcpServers": {
      "quantum-code-validator": {
          "command": "uv",
          "args": [
              "--directory",
              "/your/mcp/server/directory/quantum-code-validator",
              "run",
              "server.py",
              "--transport",
              "stdio"
          ]
      }
  }
}

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.