Docs MCP Server

by buger
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables searching any Git repository, with support for specifying branches, tags, or commit hashes, and configurable automatic updates through periodic git pulls

  • Allows chatting with GitHub repositories by downloading or cloning them for search, supporting both public and private repositories, with options for automatic updates

Servidor Docs MCP

Este proyecto proporciona un servidor de Protocolo de Contexto de Modelo (MCP) flexible, impulsado por Probe , diseñado para que los asistentes de IA puedan buscar documentación o bases de código.

Puedes chatear con el código o tus documentos simplemente apuntando al repositorio git o a una carpeta.

npx -y @buger/docs-mcp@latest --gitUrl https://github.com/buger/probe

Casos de uso:

  • Chatea con cualquier repositorio de GitHub: apunta el servidor a un repositorio de Git público o privado para habilitar consultas en lenguaje natural sobre su contenido.
  • Busque su documentación: integre la documentación de su proyecto (desde un directorio local o Git) para facilitar la búsqueda.
  • Cree servidores MCP personalizados: utilice este proyecto como plantilla para crear sus propios servidores MCP oficiales adaptados a conjuntos de documentación específicos o incluso bases de código.

La fuente de contenido (documentación o código) puede precompilarse en el paquete durante el paso npm run build o configurarse dinámicamente en tiempo de ejecución mediante directorios locales o repositorios de Git. De forma predeterminada, al usar una gitUrl sin habilitar las actualizaciones automáticas, el servidor descarga un archivo .tar.gz para un inicio más rápido. La clonación completa de Git solo se utiliza cuando autoUpdateInterval es mayor que 0.

Características

  • Desarrollado por Probe: aprovecha el motor de búsqueda Probe para obtener resultados eficientes y relevantes.
  • Fuentes de contenido flexibles: incluya un directorio local específico o clone un repositorio Git.
  • Contenido preconstruido: opcionalmente, agrupe el contenido de la documentación/código directamente en el paquete.
  • Configuración dinámica: configure fuentes de contenido, configuraciones de Git y detalles de la herramienta MCP mediante un archivo de configuración, argumentos de CLI o variables de entorno.
  • Actualizaciones automáticas de Git: mantenga el contenido actualizado extrayendo automáticamente los cambios de un repositorio de Git en un intervalo configurable.
  • Herramienta MCP personalizable: define el nombre y la descripción de la herramienta de búsqueda expuesta a los asistentes de IA.
  • Integración de IA: se integra perfectamente con los asistentes de IA compatibles con el Protocolo de contexto de modelo (MCP).

Uso

La forma principal de usar este servidor es mediante npx , que descarga y ejecuta el paquete sin necesidad de una instalación local. Esto facilita la integración con asistentes de IA y clientes MCP (como extensiones IDE).

Instalación mediante herrería

Para instalar Docs MCP Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @buger/docs-mcp --client claude

Integración con clientes MCP (por ejemplo, IDE)

Puede configurar su cliente MCP para iniciar este servidor mediante npx . A continuación, se muestran ejemplos de cómo configurar un cliente (la sintaxis puede variar según el cliente):

Ejemplo 1: Búsqueda dinámica en un repositorio Git (Tyk Docs)

Esta configuración indica al cliente que ejecute el paquete @buger/docs-mcp más reciente mediante npx , apuntándolo dinámicamente al repositorio de documentación de Tyk. El argumento -y confirma automáticamente el mensaje de instalación npx . Los argumentos --toolName y --toolDescription personalizan la visualización de la herramienta de búsqueda para el asistente de IA.

{ "mcpServers": { "tyk-docs-search": { "command": "npx", "args": [ "-y", "@buger/docs-mcp@latest", "--gitUrl", "https://github.com/TykTechnologies/tyk-docs", "--toolName", "search_tyk_docs", "--toolDescription", "Search Tyk API Management Documentation" ], "enabled": true } } }

Como alternativa, algunos clientes podrían permitir especificar el comando completo directamente. Se podría lograr lo mismo que en el Ejemplo 1 usando:

npx -y @buger/docs-mcp@latest --gitUrl https://github.com/TykTechnologies/tyk-docs --toolName search_tyk_docs --toolDescription "Search Tyk API Management Documentation"

Ejemplo 2: Uso de un servidor MCP de marca prediseñado (por ejemplo, paquete Tyk)

Si un equipo publica un paquete prediseñado con documentación específica (como @tyk-technologies/docs-mcp ), la configuración se simplifica, ya que el código fuente del contenido y los detalles de la herramienta ya están integrados en ese paquete. Se sigue recomendando el argumento -y para npx .

{ "mcpServers": { "tyk-official-docs": { "command": "npx", "args": [ "-y", "@tyk-technologies/docs-mcp@latest" ], "enabled": true } } }

Este enfoque es ideal para distribuir experiencias de búsqueda estandarizadas para documentación oficial o bases de código. Consulte la sección "Creación de su propio servidor MCP prediseñado" a continuación.

Aquí hay un ejemplo de cómo el equipo de Tyk ha creado su propio servidor de documentación MCP https://github.com/TykTechnologies/docs-mcp .

Configuración

Cree un archivo docs-mcp.config.json en el directorio raíz para definir la fuente de contenido predeterminada y los detalles de la herramienta MCP utilizados durante la compilación y en el tiempo de ejecución (a menos que los anulen los argumentos de la CLI o las variables del entorno).

Ejemplo 1: Uso de un directorio local

{ "includeDir": "/Users/username/projects/my-project/docs", "toolName": "search_my_project_docs", "toolDescription": "Search the documentation for My Project.", "ignorePatterns": [ "node_modules", ".git", "build", "*.log" ] }

Ejemplo 2: Uso de un repositorio Git

{ "gitUrl": "https://github.com/your-org/your-codebase.git", "gitRef": "develop", "autoUpdateInterval": 15, "toolName": "search_codebase", "toolDescription": "Search the main company codebase.", "ignorePatterns": [ "*.test.js", "dist/", "__snapshots__" ] }

Opciones de configuración

  • includeDir : (Compilación/Tiempo de ejecución) Ruta absoluta a un directorio local cuyo contenido se copiará al directorio data durante la compilación o se usará directamente en tiempo de ejecución si no se especifica dataDir . Use esta ruta o gitUrl .
  • gitUrl : URL (de compilación/tiempo de ejecución) del repositorio Git. Úselo o includeDir .
    • Si autoUpdateInterval es 0 (predeterminado), el servidor intenta descargar un archivo .tar.gz directamente (actualmente asume la estructura de URL de GitHub: https://github.com/{owner}/{repo}/archive/{ref}.tar.gz ). Esto es más rápido, pero no admite actualizaciones.
    • Si autoUpdateInterval > 0, el servidor realiza una git clone y habilita actualizaciones periódicas.
  • gitRef : (Compilación/Ejecución) La rama, etiqueta o hash de confirmación que se usará desde la gitUrl (predeterminado: main ). Se usa tanto para la descarga del archivo tar como para la clonación/extracción de Git.
  • autoUpdateInterval : (Tiempo de ejecución) Intervalo en minutos para la búsqueda automática de actualizaciones de Git (valor predeterminado: 0, lo que significa que está deshabilitado). Si se establece en un valor > 0, se habilita la clonación de Git y las operaciones periódicas git pull . Requiere que el comando git esté disponible en la ruta del sistema.
  • dataDir : (Tiempo de ejecución) Ruta al directorio que contiene el contenido que se buscará en tiempo de ejecución. Anula el contenido proveniente de includeDir o gitUrl definidos en el archivo de configuración o integrados en el paquete. Útil para apuntar el servidor a datos en tiempo real sin necesidad de reconstruir.
  • toolName : (Compilación/Ejecución) El nombre de la herramienta MCP expuesta por el servidor (predeterminado: search_docs ). Elija un nombre descriptivo y relevante para el contenido.
  • toolDescription : (Compilación/Tiempo de ejecución) La descripción de la herramienta MCP que se muestra a los asistentes de IA (valor predeterminado: "Buscar documentación utilizando el motor de búsqueda de sonda").
  • ignorePatterns : (Compilación/Tiempo de ejecución) Una matriz de patrones globales.
  • enableBuildCleanup : (Compilar) Si true (predeterminado), elimina del directorio data los archivos binarios/multimedia comunes (imágenes, vídeos, archivos comprimidos, etc.) y los archivos de más de 100 KB después del paso de compilación. Establézcalo en false para deshabilitar esta limpieza.
    • Si se usa includeDir durante la compilación: los archivos que coincidan con estos patrones se excluyen al copiar a data . Las reglas .gitignore también se respetan.
    • Si se usa gitUrl o dataDir en tiempo de ejecución: el indexador de búsqueda ignora los archivos que coinciden con estos patrones dentro del directorio data .

Precedencia:

  1. Configuración de tiempo de ejecución (máxima): Los argumentos de la CLI ( --dataDir , --gitUrl , etc.) y las variables de entorno ( DATA_DIR , GIT_URL , etc.) anulan todas las demás configuraciones. Los argumentos de la CLI tienen prioridad sobre las variables de entorno.
  2. Configuración en tiempo de compilación: las configuraciones en docs-mcp.config.json ( includeDir , gitUrl , toolName , etc.) definen valores predeterminados utilizados durante npm run build y también sirven como valores predeterminados en tiempo de ejecución si no se anulan.
  3. Valores predeterminados (más bajos): se utilizan valores predeterminados internos si no se proporciona ninguna configuración (por ejemplo, toolName: 'search_docs' , autoUpdateInterval: 5 ).

Nota: Si tanto includeDir como gitUrl se proporcionan en la misma fuente de configuración (por ejemplo, ambos en el archivo de configuración o ambos como argumentos CLI), gitUrl tiene prioridad.

Creación de su propio servidor MCP prediseñado

Puedes usar este proyecto como plantilla para crear y publicar tu propio paquete npm con documentación o código preintegrado. Esto proporciona una experiencia sin necesidad de configuración para los usuarios (como en el Ejemplo 2 anterior).

  1. Bifurcar/Clonar este repositorio: comenzar con el código de este proyecto.
  2. Configurar docs-mcp.config.json : Definir el includeDir o gitUrl que apunta a la fuente de contenido. Establecer los valores predeterminados toolName y toolDescription .
  3. Actualizar package.json : cambie el name (por ejemplo, @my-org/my-docs-mcp ), version , description , etc.
  4. Compilación: Ejecute npm run build . Esto clona/copia el contenido en el directorio data y prepara el paquete.
  5. Publicar: ejecute npm publish (necesitará tener configurada la autenticación npm).

Ahora, los usuarios pueden ejecutar fácilmente su servidor de documentación específico: npx @my-org/my-docs-mcp@latest .

(Las secciones anteriores "Ejecución", "Configuración dinámica en tiempo de ejecución" y "Variables de entorno" se han eliminado ya que el uso npx con argumentos dentro de las configuraciones del cliente es ahora el método principal documentado).

Uso con asistentes de IA

Este servidor MCP expone una herramienta de búsqueda a los asistentes de IA conectados mediante el Protocolo de Contexto de Modelo. El nombre y la descripción de la herramienta son configurables (véase la sección "Configuración"). Busca el contenido dentro del directorio data activo (determinado por la configuración de compilación, el archivo de configuración, los argumentos de la CLI o las variables de entorno).

Parámetros de la herramienta:

  • query : Una consulta en lenguaje natural o palabras clave que describen la búsqueda (p. ej., "cómo configurar la puerta de enlace", "ejemplo de conexión a la base de datos", "autenticación de usuario"). El servidor utiliza las funciones de búsqueda de Probe para encontrar contenido relevante. (Obligatorio)
  • page : El número de página de los resultados cuando se procesan varias coincidencias. El valor predeterminado es 1 si se omite. (Opcional)

Ejemplo de llamada a herramienta (utilizando search_tyk_docs del Ejemplo de uso 1):

{ "tool_name": "search_tyk_docs", "arguments": { "query": "gateway rate limiting", "page": 1 // Requesting the first page } }

Ejemplo de llamada a herramienta (utilizando la herramienta del paquete @tyk/docs-mcp ):

Suponiendo que el paquete prediseñado @tyk/docs-mcp definió su nombre de herramienta como search_tyk_official_docs :

{ "tool_name": "search_tyk_official_docs", "arguments": { "query": "dashboard api access", "page": 2 // Requesting the second page } }

(La sección anterior "Publicación como un paquete npm" ha sido reemplazada por la sección "Creación de su propio servidor MCP prediseñado" más arriba).

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un servidor de protocolo de contexto de modelo flexible que permite que los asistentes de IA puedan buscar documentación o bases de código, lo que permite a los usuarios chatear con código o documentos simplemente apuntando a un repositorio o carpeta git.

  1. Features
    1. Usage
      1. Installing via Smithery
      2. Integrating with MCP Clients (e.g., IDEs)
    2. Configuration
      1. Example 1: Using a Local Directory
      2. Example 2: Using a Git Repository
      3. Configuration Options
    3. Creating Your Own Pre-built MCP Server
      1. Using with AI Assistants
        1. License
          ID: pach0m58mr