Quantum Code Validator
Um servidor para validação de código de biblioteca de computação quântica, com suporte para PennyLane.
Documentação
Quantum Code Validator
Um servidor Model Context Protocol (MCP) para validar código de bibliotecas de computação quântica. Atualmente suporta PennyLane, com planos de expandir o suporte para outras bibliotecas de computação quântica no futuro.
Visão Geral
O Quantum Code Validator é uma ferramenta que ajuda desenvolvedores a garantir que seu código de computação quântica seja válido e siga os padrões de uso corretos para várias bibliotecas quânticas. Ele fornece validação estática de código quântico contra a documentação oficial e oferece recursos de consulta à documentação de referência.
Recursos
- Validação Estática de Código: Valida código quântico ao:
- Verificando a sintaxe do código usando o módulo
astdo Python - Verificando a compilação do código usando
py_compile - Comparando o uso de métodos de bibliotecas quânticas com a documentação oficial
- Verificando a sintaxe do código usando o módulo
- Consulta à Documentação de Referência: Recupera documentação de métodos para versões específicas de bibliotecas quânticas
- Validação Específica por Versão: Suporta validação contra versões específicas de bibliotecas quânticas
- Arquitetura Extensível: Projetado para suportar múltiplas bibliotecas de computação quântica
Suporte Atual
- PennyLane: Suporte completo para validação estática e consulta à documentação de referência
- Versões suportadas: v0.35.0 - v0.41.1
Suporte Planejado
As seguintes bibliotecas de computação quântica estão planejadas para suporte futuro:
- Qulacs
- Qiskit
- Cirq
- cuQuantum
- E mais...
Uso
O servidor fornece duas ferramentas principais:
-
validate_quantum_method_by_static:# Example usage result = validate_quantum_method_by_static( code="your_quantum_code_here", version="v0.41.1" # Optional ) -
request_quantum_method_reference:# Example usage docs = request_quantum_method_reference( method_name="qml.CNOT", # Method name without arguments version="v0.41.1" # Optional )
Instalação
1. Instalar com uv
git clone https://github.com/yourusername/quantum-code-validator.git
cd quantum-code-validator
-
Crie e ative um ambiente virtual:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
Instale o uv (se ainda não estiver instalado):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Instale as dependências usando uv:
uv sync -
Execute o servidor:
uv run src/server.py
Configurando o Servidor MCP
1. Servidor MCP Local via uv
1.1 Carregar e Analisar o Código-Fonte do PennyLane
Carregue informações básicas do código-fonte do PennyLane e salve-as como arquivos JSON por versão. A versão do PennyLane será a instalada no ambiente de execução, portanto, alterne-a usando o comando uv conforme necessário.
uv run scripts/parse_pennylane_api.py ./refdocs/pennylane/raw/v0.41.1.json
1.2 Formatar Código-Fonte para Documento
Em seguida, usaremos um LLM para formatar as informações básicas extraídas na Etapa 1 em informações de documento que podem ser acessadas no MCP. Especifique as versões do PennyLane a serem convertidas em documentos como uma lista separada por vírgulas. Observe que esse processo usa um LLM, portanto, a variável de ambiente "OPENAI_API_KEY" deve ser definida, e há um custo de aproximadamente $2,50 por versão. Os resultados da formatação serão salvos em "./refdocs/pennylane/formatted".
uv run scripts/format_docs_by_llm.py v0.41.0,v0.41.1
1.3 Configurar o Servidor MCP Localmente
Por fim, configurando o arquivo mcp.json de acordo com a plataforma e iniciando o servidor MCP, a ferramenta fica disponível para uso com a ferramenta alvo. Como referência, é fornecido um link para a documentação sobre como configurá-lo para o Claude Desktop.
{
"mcpServers": {
"quantum-code-validator": {
"command": "uv",
"args": [
"--directory",
"/your/mcp/server/directory/quantum-code-validator",
"run",
"server.py",
"--transport",
"stdio"
]
}
}
}
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.