Integrations
Offers Docker container support for running the Docy MCP server in containerized environments with configurable documentation sources
Utilizes GitHub Actions for automated releases, testing, and publishing to PyPI and Docker Hub
Integrates with PyPI for package distribution, allowing installation via pip and automated publishing through the release process
Docy: Documentación al alcance de tu IA
Potencie su asistente de inteligencia artificial con acceso instantáneo a la documentación técnica.
Docy le da a tu IA acceso directo a la documentación técnica que necesita, justo cuando la necesita. Se acabaron la información obsoleta, los enlaces rotos y los límites de velocidad: solo acceso preciso a la documentación en tiempo real para una asistencia de codificación más precisa.
¿Por qué elegir Docy?
- Acceso instantáneo a la documentación : acceso directo a documentos de React, Python, crawl4ai y cualquier otra pila tecnológica que utilice
- Soporte de recarga en caliente : agregue nuevas fuentes de documentación sobre la marcha sin reiniciar, ¡simplemente edite el archivo .docy.urls!
- Almacenamiento en caché inteligente : reduce la latencia y las solicitudes externas al tiempo que mantiene el contenido actualizado
- Control autoalojado : mantenga el acceso a su documentación dentro de su perímetro de seguridad
- Integración perfecta con MCP : funciona sin esfuerzo con Claude, VS Code y otras herramientas de IA habilitadas para MCP
Nota : Claude podría usar su WebFetchTool integrado en lugar de Docy. Para solicitar explícitamente la funcionalidad de Docy, utilice una llamada como: "Por favor, use Docy para buscar..."
Servidor Docy MCP
Un servidor de Protocolo de Contexto de Modelo que proporciona acceso a la documentación. Este servidor permite a los LLM buscar y recuperar contenido de sitios web de documentación mediante el scraping con crawl4ai. Desarrollado con FastMCP v2.
Usando Docy
A continuación se muestran ejemplos de cómo Docy puede ayudar con tareas de documentación comunes:
Con Docy, Claude Code puede acceder y analizar directamente la documentación de fuentes configuradas, lo que lo hace más eficaz a la hora de proporcionar orientación precisa basada en documentación.
Para garantizar que Claude Code priorice a Docy para las tareas relacionadas con la documentación, agregue las siguientes pautas al archivo CLAUDE.md
de su proyecto:
Agregar estas instrucciones a su archivo CLAUDE.md
ayuda a Claude Code a utilizar Docy de manera consistente en lugar de sus capacidades de búsqueda web integradas cuando trabaja con documentación.
Herramientas disponibles
list_documentation_sources_tool
- Lista todas las fuentes de documentación disponibles- No se requieren parámetros
fetch_documentation_page
- Obtener el contenido de una página de documentación por URL como Markdownurl
(cadena, obligatoria): la URL desde la que se obtendrá el contenido
fetch_document_links
: recupera todos los enlaces de una página de documentaciónurl
(cadena, obligatoria): la URL desde la que obtener los enlaces
Indicaciones
- fuentes de documentación
- Enumere todas las fuentes de documentación disponibles con sus URL y tipos
- No se requieren argumentos
- página de documentación
- Obtener el contenido completo de una página de documentación en una URL específica como Markdown
- Argumentos:
url
(cadena, obligatoria): URL de la página de documentación específica para obtener
- enlaces de documentación
- Obtener todos los enlaces de una página de documentación para descubrir contenido relacionado
- Argumentos:
url
(cadena, obligatoria): URL de la página de documentación desde la que se obtendrán los enlaces
Instalación
Uso de uv (recomendado)
Al usar uv
no se requiere ninguna instalación específica. Usaremos uvx
para ejecutar directamente mcp-server-docy .
Uso de PIP
Alternativamente, puede instalar mcp-server-docy
a través de pip:
Después de la instalación, puedes ejecutarlo como un script usando:
Usando Docker
También puedes utilizar la imagen de Docker:
Configuración del servidor global
Para equipos o desarrollo multiproyecto, consulte el server/README.md
para obtener instrucciones sobre cómo ejecutar un servidor SSE persistente compartido entre varios proyectos. Esta configuración permite mantener una única instancia de Docy con URL de documentación y caché compartidas.
Configuración
Configurar para Claude.app
Añade a tu configuración de Claude:
Configurar para VS Code
Para la instalación manual, agregue el siguiente bloque JSON a su archivo de configuración de usuario (JSON) en VS Code. Para ello, presione Ctrl + Shift + P
y escriba Preferences: Open User Settings (JSON)
.
Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json
en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.
Tenga en cuenta que la clave
mcp
es necesaria cuando se utiliza el archivomcp.json
.
Opciones de configuración
La aplicación se puede configurar utilizando variables de entorno:
DOCY_DOCUMENTATION_URLS
(cadena): Lista separada por comas de URL a sitios de documentación para incluir (por ejemplo, " https://docs.crawl4ai.com/,https://react.dev/ ")DOCY_DOCUMENTATION_URLS_FILE
(cadena): Ruta a un archivo que contiene las URL de la documentación, una por línea (valor predeterminado: ".docy.urls")DOCY_CACHE_TTL
(entero): tiempo de vida de la caché en segundos (valor predeterminado: 432000)DOCY_CACHE_DIRECTORY
(cadena): Ruta al directorio de caché (predeterminado: ".docy.cache")DOCY_USER_AGENT
(cadena): cadena de agente de usuario personalizada para solicitudes HTTPDOCY_DEBUG
(booleano): Habilitar el registro de depuración ("verdadero", "1", "sí" o "y")DOCY_SKIP_CRAWL4AI_SETUP
(booleano): omite la ejecución del comando crawl4ai-setup al inicio ("verdadero", "1", "sí" o "y")DOCY_TRANSPORT
(cadena): Protocolo de transporte a utilizar (opciones: "sse" o "stdio", predeterminado: "stdio")DOCY_HOST
(cadena): Dirección de host a la que se vinculará el servidor (valor predeterminado: "127.0.0.1")DOCY_PORT
(entero): Puerto donde se ejecutará el servidor (predeterminado: 8000)
Las variables de entorno se pueden configurar directamente o mediante un archivo .env
.
Archivo de configuración de URL
Como alternativa a configurar la variable de entorno DOCY_DOCUMENTATION_URLS
, puede crear un archivo .docy.urls
en el directorio de su proyecto con una URL por línea:
Este enfoque es especialmente útil para:
- Proyectos en los que desea compartir fuentes de documentación con su equipo
- Repositorios donde es beneficioso almacenar URL en el control de versiones
- Situaciones en las que desea evitar valores largos de variables de entorno
El servidor primero buscará URL en la variable de entorno DOCY_DOCUMENTATION_URLS
y, si no encuentra ninguna, buscará el archivo .docy.urls
.
Recarga activa para archivo URL
Al usar el archivo .docy.urls
para las fuentes de documentación, el servidor implementa un mecanismo de recarga en caliente que lee el archivo en cada solicitud en lugar de almacenar las URL en caché. Esto significa que puede:
- Agregue, elimine o modifique las URL de la documentación en el archivo
.docy.urls
mientras el servidor está en ejecución - Vea esos cambios reflejados inmediatamente en llamadas posteriores a
list_documentation_sources_tool
u otras herramientas de documentación - Evite reiniciar el servidor al modificar las fuentes de su documentación
Esto es particularmente útil durante el desarrollo o cuando necesita agregar rápidamente nuevas fuentes de documentación a un servidor en ejecución.
Mejores prácticas para la URL de la documentación
Las URL que configure deberían apuntar idealmente al índice de documentación o a páginas de introducción que contengan:
- Tablas de contenidos
- Estructuras de navegación
- Colecciones de enlaces internos y externos
Esto permite al LLM:
- Comience en una página de documentación de alto nivel
- Descubra subpáginas relevantes a través de enlaces
- Navegue a la documentación específica según sea necesario
Se recomienda encarecidamente utilizar sitios de documentación con subpáginas bien estructuradas ya que:
- Minimiza el uso del contexto al permitir que el LLM se centre en las secciones relevantes
- Mejora la eficiencia de la navegación a través de la documentación.
- Proporciona una forma natural de explorar y encontrar información.
- Reduce la necesidad de cargar conjuntos de documentación completos a la vez
Por ejemplo, en lugar de cargar un sitio de documentación completo, el LLM puede comenzar en la página de índice, identificar la sección relevante y luego navegar a subpáginas específicas según sea necesario.
Comportamiento del almacenamiento en caché
El servidor MCP almacena automáticamente en caché el contenido de la documentación para mejorar el rendimiento:
- Al iniciarse, el servidor recupera previamente y almacena en caché todas las URL de documentación configuradas desde
DOCY_DOCUMENTATION_URLS
- El tiempo de vida (TTL) de la caché se puede configurar a través de la variable de entorno
DOCY_CACHE_TTL
- Cada nuevo sitio al que se accede se carga automáticamente en la caché para reducir el tráfico y mejorar los tiempos de respuesta.
- El contenido en caché se almacena en un caché persistente basado en disco mediante la biblioteca
diskcache
- La ubicación de la caché se puede configurar a través de la variable de entorno
DOCY_CACHE_DIRECTORY
(valor predeterminado: ".docy.cache") - La caché persiste entre reinicios del servidor, lo que proporciona un mejor rendimiento para la documentación a la que se accede con frecuencia.
Excepciones al almacenamiento en caché
Si bien la mayor parte del contenido se almacena en caché para mejorar el rendimiento, existen excepciones específicas:
- Listas de URL de documentación : cuando se utiliza el archivo
.docy.urls
, la lista de fuentes de documentación nunca se almacena en caché; en cambio, el archivo se vuelve a leer en cada solicitud para admitir la recarga activa de URL. - Contenido de la página : El contenido real de las páginas de documentación aún se almacena en caché de acuerdo con el TTL configurado
Este enfoque híbrido ofrece beneficios de rendimiento para el acceso al contenido y flexibilidad para la gestión de fuentes de documentación.
Desarrollo local
- Ejecutar en modo de desarrollo:
fastmcp dev src/mcp_server_docy/__main__.py --with-editable .
- API de acceso en:
http://127.0.0.1:6274
- Ejecutar con el inspector MCP:
uv run --with fastmcp --with-editable /Users/oliverborchers/Desktop/Code.nosync/mcp-server-docy --with crawl4ai --with loguru --with diskcache --with pydantic-settings fastmcp run src/mcp_server_docy/__main__.py
Depuración
Puede usar el inspector MCP para depurar el servidor. Para instalaciones uvx:
O si ha instalado el paquete en un directorio específico o está desarrollando en él:
Solución de problemas: Error "Herramienta no encontrada" en la CLI de Claude Code
Si encuentra errores como "ERROR Herramienta no encontrada para mcp__docy__fetch_documentation_page" en la CLI de Claude Code, siga estos pasos:
- Cree un archivo
.docy.urls
en su directorio actual con las URL de su documentación:
- Ejecute el servidor usando Docker con el protocolo de transporte SSE y monte el archivo de URL:
- Configure su Claude Code
.mcp.json
para usar el punto final SSE:
Esta configuración:
- Utiliza un archivo
.docy.urls
montado en lugar de variables de entorno para las fuentes de documentación - Cambia del modo stdio predeterminado al protocolo SSE (eventos enviados por el servidor)
- Hace que el servidor sea accesible desde fuera del contenedor
- Expone el servidor en el puerto 8000 para acceso HTTP
Se recomienda el transporte SSE cuando se ejecuta el servidor como un servicio independiente al que se debe acceder a través de HTTP, lo que es particularmente útil para implementaciones de Docker.
Proceso de liberación
El proyecto utiliza GitHub Actions para lanzamientos automatizados:
- Actualice la versión en
pyproject.toml
- Crea una nueva etiqueta con
git tag vX.YZ
(por ejemplo,git tag v0.1.0
) - Empuje la etiqueta con
git push --tags
Esto automáticamente:
- Verifique que la versión en
pyproject.toml
coincida con la etiqueta - Ejecutar pruebas y comprobaciones de pelusa
- Construir y publicar en PyPI
- Construya y publique en Docker Hub como
oborchers/mcp-server-docy:latest
yoborchers/mcp-server-docy:XYZ
Contribuyendo
Invitamos a todos a contribuir para ampliar y mejorar mcp-server-docy. Ya sea que desee añadir nuevas funciones, mejorar la funcionalidad existente o mejorar la documentación, su opinión es valiosa.
Para ver ejemplos de otros servidores MCP y patrones de implementación, consulte: https://github.com/modelcontextprotocol/servers
¡Aceptamos solicitudes de incorporación de cambios! Siéntete libre de contribuir con nuevas ideas, correcciones de errores o mejoras para que mcp-server-docy sea aún más potente y útil.
Licencia
mcp-server-docy está licenciado bajo la Licencia MIT. Esto significa que usted tiene libertad para usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server to run commands.Last updated -2204104JavaScriptMIT License
- Python
- Python
- MIT License