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.
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 :
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.
Como alternativa, algunos clientes podrían permitir especificar el comando completo directamente. Se podría lograr lo mismo que en el Ejemplo 1 usando:
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
.
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
Ejemplo 2: Uso de un repositorio Git
Opciones de configuración
includeDir
: (Compilación/Tiempo de ejecución) Ruta absoluta a un directorio local cuyo contenido se copiará al directoriodata
durante la compilación o se usará directamente en tiempo de ejecución si no se especificadataDir
. Use esta ruta ogitUrl
.gitUrl
: URL (de compilación/tiempo de ejecución) del repositorio Git. Úselo oincludeDir
.- 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 unagit clone
y habilita actualizaciones periódicas.
- Si
gitRef
: (Compilación/Ejecución) La rama, etiqueta o hash de confirmación que se usará desde lagitUrl
(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ódicasgit pull
. Requiere que el comandogit
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 deincludeDir
ogitUrl
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) Sitrue
(predeterminado), elimina del directoriodata
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 enfalse
para deshabilitar esta limpieza.- Si se usa
includeDir
durante la compilación: los archivos que coincidan con estos patrones se excluyen al copiar adata
. Las reglas.gitignore
también se respetan. - Si se usa
gitUrl
odataDir
en tiempo de ejecución: el indexador de búsqueda ignora los archivos que coinciden con estos patrones dentro del directoriodata
.
- Si se usa
Precedencia:
- 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. - Configuración en tiempo de compilación: las configuraciones en
docs-mcp.config.json
(includeDir
,gitUrl
,toolName
, etc.) definen valores predeterminados utilizados durantenpm run build
y también sirven como valores predeterminados en tiempo de ejecución si no se anulan. - 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).
- Bifurcar/Clonar este repositorio: comenzar con el código de este proyecto.
- Configurar
docs-mcp.config.json
: Definir elincludeDir
ogitUrl
que apunta a la fuente de contenido. Establecer los valores predeterminadostoolName
ytoolDescription
. - Actualizar
package.json
: cambie elname
(por ejemplo,@my-org/my-docs-mcp
),version
,description
, etc. - Compilación: Ejecute
npm run build
. Esto clona/copia el contenido en el directoriodata
y prepara el paquete. - 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):
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
:
(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.
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.