QuantConnect Docs

Um servidor MCP para busca inteligente e recuperação da documentação em PDF do QuantConnect.

Documentação

Servidor MCP PDF QuantConnect

Um servidor avançado do Model Context Protocol (MCP) que fornece busca inteligente e capacidades de recuperação para a documentação em PDF do QuantConnect. Este servidor converte PDFs em formato markdown pesquisável e fornece busca rápida e sensível ao contexto usando pontuação TF-IDF e correspondência por proximidade.

Recursos

  • Processamento Inteligente de PDF: Converte automaticamente PDFs em markdown estruturado com formatação adequada
  • Índice de Busca Rápida: Usa índice invertido com pontuação TF-IDF para resultados relevantes
  • Resultados Sensíveis ao Contexto: Retorna trechos relevantes com correspondências destacadas
  • Sistema de Cache: Evita reprocessar PDFs inalterados para melhor desempenho
  • Correspondência por Proximidade: Aumenta resultados onde os termos da consulta aparecem próximos
  • Três Ferramentas MCP: Buscar, listar documentos e recuperar conteúdo completo

Estrutura do Projeto

QuantConnectServer/
├── server.py           # Main MCP server with enhanced search
├── convert_pdfs.py     # Standalone PDF conversion utility
├── requirements.txt    # Python dependencies
├── README.md          # This documentation
├── env/               # Python virtual environment
└── quantconnect-docs/ # PDF documents and converted markdown
    ├── Quantconnect-Local-Platform-Python-2.pdf
    ├── Quantconnect-Writing-Algorithms-Python-2.pdf
    └── markdown/      # Auto-generated markdown files
        ├── .pdf_cache.json      # Processing cache
        ├── .search_index.pkl    # Search index cache
        └── *.md files           # Converted documents

Instalação

Pré-requisitos

  • Python 3.8 ou superior
  • Gerenciador de pacotes pip

Passo 1: Instalar Dependências

Instale os pacotes necessários:

pip install -r requirements.txt

O requirements.txt inclui:

  • mcp - Biblioteca do Model Context Protocol
  • PyPDF2 - Extração de texto de PDF
  • asyncio - Processamento assíncrono

Passo 2: Prepare Seu Ambiente

Crie um ambiente virtual (recomendado):

python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate
pip install -r requirements.txt

Configuração

Configuração do Claude Desktop

Encontre o arquivo de configuração do Claude Desktop:

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

Adicione esta configuração (ajuste os caminhos para corresponder ao seu sistema):

{
  "mcpServers": {
    "quantconnect-pdf-server": {
      "command": "/path/to/your/project/env/bin/python3",
      "args": ["/path/to/your/project/server.py"],
      "env": {
        "QUANTCONNECT_PDF_FOLDER": "/path/to/your/project/quantconnect-docs",
        "QUANTCONNECT_MARKDOWN_FOLDER": "/path/to/your/project/quantconnect-docs/markdown"
      }
    }
  }
}

Variáveis de Ambiente

  • QUANTCONNECT_PDF_FOLDER: Diretório contendo seus arquivos PDF (obrigatório)
  • QUANTCONNECT_MARKDOWN_FOLDER: Diretório para arquivos markdown convertidos (opcional, padrão é PDF_FOLDER/markdown)

Uso

Iniciando o Servidor

  1. Teste autônomo:

    export QUANTCONNECT_PDF_FOLDER="/path/to/your/pdfs"
    python server.py
    
  2. Com Claude Desktop: Reinicie o Claude Desktop após a configuração para carregar o servidor MCP

  3. Conversão manual de PDF (opcional):

    python convert_pdfs.py [pdf_folder] [markdown_folder]
    

Testando a Integração

Teste no Claude perguntando:

  • "Você pode listar os documentos QuantConnect disponíveis?"
  • "Busque informações sobre backtesting na documentação do QuantConnect"
  • "O que a documentação do QuantConnect diz sobre indicadores?"
  • "Mostre-me a página 5 da documentação do Local Platform"

Ferramentas MCP Disponíveis

O servidor fornece três ferramentas poderosas acessíveis através do Claude:

1. search_quantconnect_docs

Finalidade: Busca inteligente em toda a documentação do QuantConnect Parâmetros:

  • query (obrigatório): Termos de busca ou tópico a encontrar
  • max_results (opcional): Número de resultados a retornar (padrão: 5)

Recursos:

  • Pontuação TF-IDF para classificação por relevância
  • Correspondência por proximidade para consultas com múltiplas palavras
  • Extração de contexto com correspondências destacadas
  • Retorna trechos de documentos com números de página

2. list_quantconnect_docs

Finalidade: Listar todos os documentos PDF disponíveis na coleção Parâmetros: Nenhum

Retorna: Catálogo completo de documentos processados com metadados

3. get_document_content

Finalidade: Recuperar conteúdo completo de documentos específicos Parâmetros:

  • filename (obrigatório): Nome do documento (com ou sem extensão .md)
  • page_number (opcional): Página específica a recuperar

Casos de uso: Ler seções completas, acessar páginas específicas, extrair exemplos de código

Arquitetura Técnica

Mecanismo de Busca

  • Índice Invertido: Mapeia palavras para localizações em documentos para busca rápida
  • Pontuação TF-IDF: Equilibra frequência de termos com raridade de documentos
  • Aumento por Proximidade: Melhora resultados onde os termos da consulta aparecem juntos
  • Extração de Contexto: Fornece trechos relevantes ao redor das correspondências

Sistema de Cache

  • Cache de Processamento de PDF: Evita reprocessar arquivos inalterados usando hashes MD5
  • Cache do Índice de Busca: Persiste o índice de busca para inicialização mais rápida
  • Atualizações Incrementais: Processa apenas PDFs novos ou modificados

Recursos de Desempenho

  • Processamento Assíncrono: Conversão e indexação de PDF sem bloqueio
  • Inicialização em Segundo Plano: O servidor inicia imediatamente enquanto o processamento continua
  • Armazenamento Eficiente: A conversão para markdown reduz o uso de memória em comparação com texto PDF bruto

Solução de Problemas

Problemas Comuns

  1. Servidor não conectando

    • Verifique caminhos absolutos na configuração do Claude Desktop
    • Verifique a ativação do ambiente virtual Python
    • Garanta que server.py tenha permissões de execução
  2. PDFs não carregando

    • Confirme que o caminho QUANTCONNECT_PDF_FOLDER existe
    • Verifique permissões e legibilidade dos arquivos PDF
    • Procure mensagens de erro na saída do servidor
  3. Busca sem resultados

    • Aguarde o processamento inicial dos PDFs ser concluído
    • Verifique se os arquivos markdown foram criados com sucesso
    • Tente termos de busca mais amplos
  4. Problemas de desempenho

    • Garanta espaço em disco adequado para arquivos markdown
    • Verifique se o antivírus está escaneando a pasta do projeto
    • Considere mover arquivos de cache para armazenamento mais rápido

Modo de Depuração

Execute o servidor com saída de depuração:

export QUANTCONNECT_PDF_FOLDER="/path/to/pdfs"
python server.py 2>&1 | tee server.log

Uso Avançado

Processamento em Massa de PDF

Processe todos os PDFs sem iniciar o servidor:

python convert_pdfs.py ./quantconnect-docs ./quantconnect-docs/markdown

Consultas de Busca Personalizadas

A busca suporta vários tipos de consulta:

  • Termos únicos: backtesting
  • Consultas com múltiplas palavras: custom indicator development
  • Termos técnicos: OnData event handler
  • Conceitos de código: Algorithm.Initialize method

Exemplos de Integração

Faça perguntas sofisticadas ao Claude como:

"Using the QuantConnect docs, show me step-by-step how to create a custom indicator with examples"

"What are all the different order types available and when should I use each one?"

"Find code examples of universe selection and explain the different approaches"

"Compare the local platform setup process with cloud deployment according to the documentation"

Contribuindo

Para estender o servidor:

  1. Adicionar novos formatos de documento: Estenda o sistema de conversão em server.py:236
  2. Melhorar a busca: Aprimore a classe SearchIndex para busca semântica
  3. Adicionar ferramentas especializadas: Crie funções de busca específicas de domínio
  4. Otimização de desempenho: Implemente processamento paralelo ou armazenamento em banco de dados

Histórico de Versões

  • v0.3.0: Busca aprimorada com pontuação TF-IDF e correspondência por proximidade
  • v0.2.0: Adicionado sistema de cache e processamento em segundo plano
  • v0.1.0: Conversão básica de PDF para markdown e busca simples