QuantConnect Docs

Un servidor MCP para la búsqueda y recuperación inteligente de documentación en PDF de QuantConnect.

Documentación

Servidor MCP PDF de QuantConnect

Un servidor avanzado del Protocolo de Contexto de Modelos (MCP) que proporciona capacidades inteligentes de búsqueda y recuperación para la documentación PDF de QuantConnect. Este servidor convierte PDFs a formato markdown buscable y proporciona búsqueda rápida y consciente del contexto utilizando puntuación TF-IDF y coincidencia de proximidad.

Características

  • Procesamiento Inteligente de PDFs: Convierte automáticamente PDFs a markdown estructurado con formato adecuado
  • Índice de Búsqueda Rápida: Utiliza índice invertido con puntuación TF-IDF para resultados relevantes
  • Resultados Conscientes del Contexto: Devuelve extractos relevantes con coincidencias resaltadas
  • Sistema de Caché: Evita reprocesar PDFs sin cambios para un mejor rendimiento
  • Coincidencia de Proximidad: Mejora los resultados donde los términos de búsqueda aparecen juntos
  • Tres Herramientas MCP: Buscar, listar documentos y recuperar contenido completo

Estructura del Proyecto

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

Instalación

Requisitos Previos

  • Python 3.8 o superior
  • Gestor de paquetes pip

Paso 1: Instalar Dependencias

Instale los paquetes requeridos:

pip install -r requirements.txt

El requirements.txt incluye:

  • mcp - Biblioteca del Protocolo de Contexto de Modelos
  • PyPDF2 - Extracción de texto de PDFs
  • asyncio - Procesamiento asíncrono

Paso 2: Prepare su Entorno

Cree un entorno virtual (recomendado):

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

Configuración

Configuración de Claude Desktop

Encuentre su archivo de configuración de 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

Agregue esta configuración (ajuste las rutas según su 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"
      }
    }
  }
}

Variables de Entorno

  • QUANTCONNECT_PDF_FOLDER: Directorio que contiene sus archivos PDF (requerido)
  • QUANTCONNECT_MARKDOWN_FOLDER: Directorio para archivos markdown convertidos (opcional, por defecto PDF_FOLDER/markdown)

Uso

Iniciar el Servidor

  1. Pruebas independientes:

    export QUANTCONNECT_PDF_FOLDER="/path/to/your/pdfs"
    python server.py
    
  2. Con Claude Desktop: Reinicie Claude Desktop después de la configuración para cargar el servidor MCP

  3. Conversión manual de PDFs (opcional):

    python convert_pdfs.py [pdf_folder] [markdown_folder]
    

Probar la Integración

Pruebe en Claude preguntando:

  • "¿Puedes listar los documentos de QuantConnect disponibles?"
  • "Busca información sobre backtesting en la documentación de QuantConnect"
  • "¿Qué dice la documentación de QuantConnect sobre indicadores?"
  • "Muéstrame la página 5 de la documentación de Local Platform"

Herramientas MCP Disponibles

El servidor proporciona tres herramientas potentes accesibles a través de Claude:

1. search_quantconnect_docs

Propósito: Búsqueda inteligente en toda la documentación de QuantConnect Parámetros:

  • query (requerido): Términos de búsqueda o tema a encontrar
  • max_results (opcional): Número de resultados a devolver (por defecto: 5)

Características:

  • Puntuación TF-IDF para clasificación por relevancia
  • Coincidencia de proximidad para consultas de múltiples palabras
  • Extracción de contexto con coincidencias resaltadas
  • Devuelve extractos de documentos con números de página

2. list_quantconnect_docs

Propósito: Listar todos los documentos PDF disponibles en la colección Parámetros: Ninguno

Devuelve: Catálogo completo de documentos procesados con metadatos

3. get_document_content

Propósito: Recuperar contenido completo de documentos específicos Parámetros:

  • filename (requerido): Nombre del documento (con o sin extensión .md)
  • page_number (opcional): Página específica a recuperar

Casos de uso: Leer secciones completas, acceder a páginas específicas, extraer ejemplos de código

Arquitectura Técnica

Motor de Búsqueda

  • Índice Invertido: Mapea palabras a ubicaciones de documentos para búsqueda rápida
  • Puntuación TF-IDF: Equilibra la frecuencia de términos con la rareza del documento
  • Mejora por Proximidad: Mejora los resultados donde los términos de búsqueda aparecen juntos
  • Extracción de Contexto: Proporciona fragmentos relevantes alrededor de las coincidencias

Sistema de Caché

  • Caché de Procesamiento de PDFs: Evita reprocesar archivos sin cambios usando hashes MD5
  • Caché de Índice de Búsqueda: Persiste el índice de búsqueda para un inicio más rápido
  • Actualizaciones Incrementales: Solo procesa PDFs nuevos o modificados

Características de Rendimiento

  • Procesamiento Asíncrono: Conversión e indexación de PDFs sin bloqueo
  • Inicialización en Segundo Plano: El servidor se inicia inmediatamente mientras el procesamiento continúa
  • Almacenamiento Eficiente: La conversión a markdown reduce el uso de memoria en comparación con el texto PDF sin procesar

Solución de Problemas

Problemas Comunes

  1. El servidor no se conecta

    • Verifique las rutas absolutas en la configuración de Claude Desktop
    • Compruebe la activación del entorno virtual de Python
    • Asegúrese de que server.py tenga permisos de ejecución
  2. Los PDFs no se cargan

    • Confirme que la ruta de QUANTCONNECT_PDF_FOLDER existe
    • Compruebe los permisos y la legibilidad de los archivos PDF
    • Busque mensajes de error en la salida del servidor
  3. La búsqueda no devuelve resultados

    • Espere a que se complete el procesamiento inicial de PDFs
    • Compruebe si los archivos markdown se crearon correctamente
    • Intente términos de búsqueda más amplios
  4. Problemas de rendimiento

    • Asegúrese de tener suficiente espacio en disco para los archivos markdown
    • Compruebe si el antivirus está escaneando la carpeta del proyecto
    • Considere mover los archivos de caché a un almacenamiento más rápido

Modo de Depuración

Ejecute el servidor con salida de depuración:

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

Uso Avanzado

Procesamiento Masivo de PDFs

Procese todos los PDFs sin iniciar el servidor:

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

Consultas de Búsqueda Personalizadas

La búsqueda admite varios tipos de consultas:

  • Términos individuales: backtesting
  • Consultas de múltiples palabras: custom indicator development
  • Términos técnicos: OnData event handler
  • Conceptos de código: Algorithm.Initialize method

Ejemplos de Integración

Haga preguntas sofisticadas a 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"

Contribuciones

Para extender el servidor:

  1. Agregar nuevos formatos de documentos: Extienda el sistema de conversión en server.py:236
  2. Mejorar la búsqueda: Mejore la clase SearchIndex para búsqueda semántica
  3. Agregar herramientas especializadas: Cree funciones de búsqueda específicas de dominio
  4. Optimización de rendimiento: Implemente procesamiento paralelo o almacenamiento en base de datos

Historial de Versiones

  • v0.3.0: Búsqueda mejorada con puntuación TF-IDF y coincidencia de proximidad
  • v0.2.0: Sistema de caché agregado y procesamiento en segundo plano
  • v0.1.0: Conversión básica de PDF a markdown y búsqueda simple