mcp-server-docy

MIT License
2

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:

# Verify implementation against documentation Are we implementing Crawl4Ai scrape results correctly? Let's check the documentation. # Explore API usage patterns What do the docs say about using mcp.tool? Show me examples from the documentation. # Compare implementation options How should we structure our data according to the React documentation? What are the best practices?

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:

## Documentation Guidelines - When checking documentation, prefer using Docy over WebFetchTool - Use list_documentation_sources_tool to discover available documentation sources - Use fetch_documentation_page to retrieve full documentation pages - Use fetch_document_links to discover related documentation

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 Markdown
    • url (cadena, obligatoria): la URL desde la que se obtendrá el contenido
  • fetch_document_links : recupera todos los enlaces de una página de documentación
    • url (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:

pip install mcp-server-docy

Después de la instalación, puedes ejecutarlo como un script usando:

DOCY_DOCUMENTATION_URLS="https://docs.crawl4ai.com/,https://react.dev/" python -m mcp_server_docy

Usando Docker

También puedes utilizar la imagen de Docker:

docker pull oborchers/mcp-server-docy:latest docker run -i --rm -e DOCY_DOCUMENTATION_URLS="https://docs.crawl4ai.com/,https://react.dev/" oborchers/mcp-server-docy

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:

"mcpServers": { "docy": { "command": "uvx", "args": ["mcp-server-docy"], "env": { "DOCY_DOCUMENTATION_URLS": "https://docs.crawl4ai.com/,https://react.dev/" } } }
"mcpServers": { "docy": { "command": "docker", "args": ["run", "-i", "--rm", "oborchers/mcp-server-docy:latest"], "env": { "DOCY_DOCUMENTATION_URLS": "https://docs.crawl4ai.com/,https://react.dev/" } } }
"mcpServers": { "docy": { "command": "python", "args": ["-m", "mcp_server_docy"], "env": { "DOCY_DOCUMENTATION_URLS": "https://docs.crawl4ai.com/,https://react.dev/" } } }

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 archivo mcp.json .

{ "mcp": { "servers": { "docy": { "command": "uvx", "args": ["mcp-server-docy"], "env": { "DOCY_DOCUMENTATION_URLS": "https://docs.crawl4ai.com/,https://react.dev/" } } } } }
{ "mcp": { "servers": { "docy": { "command": "docker", "args": ["run", "-i", "--rm", "oborchers/mcp-server-docy:latest"], "env": { "DOCY_DOCUMENTATION_URLS": "https://docs.crawl4ai.com/,https://react.dev/" } } } } }

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 HTTP
  • DOCY_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:

https://docs.crawl4ai.com/ https://react.dev/ # Lines starting with # are treated as comments https://docs.python.org/3/

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:

  1. Agregue, elimine o modifique las URL de la documentación en el archivo .docy.urls mientras el servidor está en ejecución
  2. Vea esos cambios reflejados inmediatamente en llamadas posteriores a list_documentation_sources_tool u otras herramientas de documentación
  3. 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:

  1. Comience en una página de documentación de alto nivel
  2. Descubra subpáginas relevantes a través de enlaces
  3. 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:

DOCY_DOCUMENTATION_URLS="https://docs.crawl4ai.com/" npx @modelcontextprotocol/inspector uvx mcp-server-docy

O si ha instalado el paquete en un directorio específico o está desarrollando en él:

cd path/to/docy DOCY_DOCUMENTATION_URLS="https://docs.crawl4ai.com/" npx @modelcontextprotocol/inspector uv run mcp-server-docy

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:

  1. Cree un archivo .docy.urls en su directorio actual con las URL de su documentación:
https://docs.crawl4ai.com/ https://react.dev/
  1. Ejecute el servidor usando Docker con el protocolo de transporte SSE y monte el archivo de URL:
docker run -i --rm -p 8000:8000 \ -e DOCY_TRANSPORT=sse \ -e DOCY_HOST=0.0.0.0 \ -e DOCY_PORT=8000 \ -v "$(pwd)/.docy.urls:/app/.docy.urls" \ oborchers/mcp-server-docy
  1. Configure su Claude Code .mcp.json para usar el punto final SSE:
{ "mcp": { "servers": { "docy": { "type": "sse", "url": "http://localhost:8000/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:

  1. Actualice la versión en pyproject.toml
  2. Crea una nueva etiqueta con git tag vX.YZ (por ejemplo, git tag v0.1.0 )
  3. 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 y oborchers/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.

-
security - not tested
A
license - permissive license
-
quality - not tested

mcp-server-docy

  1. Why Choose Docy?
    1. Docy MCP Server
      1. Using Docy
      2. Installation
      3. Configuration
      4. Local Development
      5. Debugging
      6. Release Process
      7. Contributing
      8. License

    Related MCP Servers

    View all related MCP servers

    ID: 7v3iq7o0fh