Servidor MCP de recuperación de documentación (DOCRET)
Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA acceder a la documentación actualizada de diversas bibliotecas de Python, como LangChain, LlamaIndex y OpenAI. Al aprovechar este servidor, los asistentes de IA pueden obtener y proporcionar dinámicamente información relevante de fuentes de documentación oficial. El objetivo es garantizar que las aplicaciones de IA siempre tengan acceso a la documentación oficial más reciente.
¿Qué es un servidor MCP?
El Protocolo de Contexto de Modelo (MCP) es un estándar abierto que permite a los desarrolladores crear conexiones bidireccionales seguras entre sus fuentes de datos y herramientas basadas en IA. Su arquitectura es sencilla: los desarrolladores pueden exponer sus datos a través de servidores MCP o crear aplicaciones de IA (clientes MCP) que se conecten a estos servidores.
Características
- Recuperación de documentación dinámica : obtiene el contenido de documentación más reciente para las bibliotecas de Python especificadas.
- Búsquedas web asincrónicas : utiliza la API SERPER para realizar búsquedas web eficientes dentro de sitios de documentación específicos.
- Análisis de HTML : utiliza BeautifulSoup para extraer texto legible del contenido HTML.
- Diseño extensible : agregue fácilmente soporte para bibliotecas adicionales actualizando la configuración.
Prerrequisitos
- Python 3.8 o superior
- UV para la gestión de paquetes de Python (o pip si eres un plebeyo)
- Una clave API de Serper (para búsquedas de Google o "SERP")
- Claude Desktop o Claude Code (para pruebas)
Instalación
1. Clonar el repositorio
2. Crear y activar un entorno virtual
- En macOS/Linux :Copy
- En Windows :Copy
3. Instalar dependencias
Con el entorno virtual activado, instale las dependencias necesarias:
o si estás usando uv:
Configurar variables de entorno
Antes de ejecutar la aplicación, configure las variables de entorno necesarias. Este proyecto utiliza la API de SERPER para buscar documentación y requiere una clave de API.
- Cree un archivo
.env
en el directorio raíz del proyecto. - Agregue la siguiente variable de entorno:Copy
Reemplace your_serper_api_key_here
con su clave API real.
Ejecución del servidor MCP
Una vez instaladas las dependencias y configuradas las variables de entorno, puede iniciar el servidor MCP.
Esto iniciará el servidor y lo preparará para manejar solicitudes.
Uso
El servidor MCP proporciona una API para obtener contenido de documentación de las bibliotecas compatibles. Funciona consultando la API de SERPER para encontrar enlaces de documentación relevantes y extrayendo el contenido de la página.
Búsqueda de documentación
Para buscar documentación sobre un tema específico en una biblioteca, utilice la función get_docs
. Esta función acepta dos parámetros:
query
: El tema a buscar (por ejemplo, "Chroma DB")library
: el nombre de la biblioteca (por ejemplo, "langchain")
Ejemplo de uso:
Esto devolverá el texto extraído de las páginas de documentación de OpenAI relevantes.
Integración con asistentes de IA
Puedes integrar este servidor MCP con asistentes de IA como Claude o modelos de IA personalizados. Para configurar el asistente para que interactúe con el servidor, utiliza la siguiente configuración:
Asegúrese de que se especifique la ruta correcta a main.py
Ampliación del servidor MCP
Actualmente el servidor admite las siguientes bibliotecas:
- LangChain
- Índice de llamas
- OpenAI
Para agregar soporte para bibliotecas adicionales, actualice el diccionario docs_urls
en main.py
con el nombre de la biblioteca y su URL de documentación:
📌 Hoja de ruta
Seguramente esto es realmente emocionante para mí y espero seguir desarrollando esto y mantenerme actualizado con las últimas noticias e ideas que se puedan implementar.
Esto es lo que tengo en mente:
Añadir soporte para más bibliotecas (por ejemplo, Hugging Face, PyTorch)
- Amplíe el diccionario
docs_urls
con bibliotecas adicionales. - Modifique la función get_docs para manejar diferentes formatos de páginas de documentación.
- Utilice análisis basado en expresiones regulares o impulsado por IA para extraer mejor contenido significativo.
- Proporciona un punto final de API para agregar nuevas bibliotecas dinámicamente.
- Amplíe el diccionario
Implementar el almacenamiento en caché para reducir las llamadas API redundantes
- Utilice Redis o un mecanismo de almacenamiento en caché en memoria como
functools.lru_cache
- Implementar la invalidación de caché basada en el tiempo.
- Resultados de caché por biblioteca y por término de búsqueda.
- Utilice Redis o un mecanismo de almacenamiento en caché en memoria como
Optimice el web scraping con resúmenes impulsados por IA
- Utilice
GPT-4
,BART
oT5
para resumir la documentación extraída. - También se pueden usar
Claude 3 Haiku
,Gemini 1.5 Pro
,GPT-4-mini
,Open-mistral-nemo
,Hugging Face Models
y muchos más. Todos ellos están sujetos a debate. - Permita a los usuarios elegir entre el texto de la documentación sin procesar y una versión resumida.
- Utilice
Introducir una API REST para integraciones externas
- Usa FastAPI para exponer los puntos finales de la API. (Simplemente porque sí)
- Crea un panel frontal sencillo para interactuar con la API. (¿Por qué no?)
Añadir pruebas unitarias para una mejor confiabilidadReferencias
- Usen pytest y unittest para las pruebas de fiabilidad de la API y el scraping. (Lo último que queremos es que esto se convierta en una bomba nuclear).
- Implementar flujos de trabajo de CI/CD para ejecutar pruebas automáticamente en cada envío. (La clave, por supuesto).
Más herramientas MCP que pueden ser útiles durante el desarrollo
- Integraciones de bases de datos
- Integración con Google Docs/Sheets/Drive
- Operaciones del sistema de archivos
- Integración de Git
- Integración de plataformas de comunicación para convertir ideas en productos
- Gestión de Docker y Kubernetes
Referencias
Para obtener más detalles sobre los servidores MCP y su implementación, consulte la guía:
- Presentación del Protocolo de Contexto Modelo
- https://modelcontextprotocol.io/
- Cómo agregar MCP a su proyecto de Python
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.
This server cannot be installed
Un servidor MCP que permite a los asistentes de IA acceder a la documentación actualizada de las bibliotecas de Python como LangChain, LlamaIndex y OpenAI a través de la búsqueda dinámica de fuentes oficiales.
- What is an MCP Server?
- Features
- Prerequisites
- Installation
- Set Up Environment Variables
- Running the MCP Server
- Usage
- Integrating with AI Assistants
- Extending the MCP Server
- Add support for more libraries (e.g., Hugging Face, PyTorch)
- Implement caching to reduce redundant API calls
- Optimize web scraping with AI-powered summarization
- Introduce a REST API for external integrations
- Add unit tests for better reliabilityReferences
- More MCP tools that can be useful during development
- References
- License