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 ModelosPyPDF2- Extracción de texto de PDFsasyncio- 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 defectoPDF_FOLDER/markdown)
Uso
Iniciar el Servidor
-
Pruebas independientes:
export QUANTCONNECT_PDF_FOLDER="/path/to/your/pdfs" python server.py -
Con Claude Desktop: Reinicie Claude Desktop después de la configuración para cargar el servidor MCP
-
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 encontrarmax_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
-
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.pytenga permisos de ejecución
-
Los PDFs no se cargan
- Confirme que la ruta de
QUANTCONNECT_PDF_FOLDERexiste - Compruebe los permisos y la legibilidad de los archivos PDF
- Busque mensajes de error en la salida del servidor
- Confirme que la ruta de
-
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
-
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:
- Agregar nuevos formatos de documentos: Extienda el sistema de conversión en
server.py:236 - Mejorar la búsqueda: Mejore la clase
SearchIndexpara búsqueda semántica - Agregar herramientas especializadas: Cree funciones de búsqueda específicas de dominio
- 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