@sanderkooger/mcp-server-ragdocs

by sanderkooger
Verified

hybrid server

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

Integrations

  • Used for code coverage reporting for the project, but not as a service the MCP integrates with functionally.

  • Mentioned in workflow badges and repository URLs, but not as a direct integration for the MCP server's functionality.

  • Provides local embeddings generation using Ollama's nomic-embed-text model as an alternative to cloud-based embedding services.

Documentación rag del servidor MCP

Una implementación de servidor MCP que proporciona herramientas para recuperar y procesar documentación a través de la búsqueda vectorial, lo que permite a los asistentes de IA aumentar sus respuestas con el contexto de la documentación relevante.

Tabla de contenido

Uso

La herramienta de documentación RAG está diseñada para:

  • Mejorar las respuestas de la IA con documentación relevante
  • Creación de asistentes de IA que reconocen la documentación
  • Creación de herramientas sensibles al contexto para desarrolladores
  • Implementación de la búsqueda de documentación semántica
  • Ampliar las bases de conocimientos existentes

Características

  • Búsqueda y recuperación de documentación basada en vectores
  • Compatibilidad con múltiples fuentes de documentación
  • Soporte para generación de incrustaciones locales (Ollama) u OPENAI
  • Capacidades de búsqueda semántica
  • Procesamiento automatizado de documentación
  • Aumento del contexto en tiempo real para LLM

Configuración

{ "mcpServers": { "rag-docs": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "ollama", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" # if applicable } } } }

Uso con Claude Desktop

Agregue esto a su claude_desktop_config.json :

Configuración de OpenAI

{ "mcpServers": { "rag-docs-openai": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "openai", "OPENAI_API_KEY": "your-openai-key-here", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" } } } }

Configuración de Ollama

{ "mcpServers": { "rag-docs-ollama": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "ollama", "OLLAMA_BASE_URL": "http://localhost:11434", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" } } } }

Ollama se ejecuta desde esta base de código

"ragdocs-mcp": { "command": "node", "args": [ "/home/sander/code/mcp-server-ragdocs/build/index.js" ], "env": { "QDRANT_URL": "http://127.0.0.1:6333", "EMBEDDINGS_PROVIDER": "ollama", "OLLAMA_URL": "http://localhost:11434" }, "alwaysAllow": [ "run_queue", "list_queue", "list_sources", "search_documentation", "clear_queue", "remove_documentation", "extract_urls" ], "timeout": 3600 }

Referencia de variables de entorno

VariableRequerido paraPor defectoobservaciones
EMBEDDINGS_PROVIDERTodoollama"openai" o "ollama"
OPENAI_API_KEYOpenAI-Obtener desde el panel de control de OpenAI
OLLAMA_BASE_URLOllamahttp://localhost:11434URL del servidor local de Ollama
QDRANT_URLTodohttp://localhost:6333URL del punto final de Qdrant
QDRANT_API_KEYNube Qdrant-Desde la consola de Qdrant Cloud

Implementación local

El repositorio incluye la configuración de Docker Compose para el desarrollo local:

Descargar Docker Compose

docker compose up -d

Esto empieza:

  • Base de datos vectorial de Qdrant en el puerto 6333
  • Servicio Ollama LLM en el puerto 11434

Puntos finales de acceso:

Implementación en la nube

Para implementaciones de producción:

  1. Utilice el servicio alojado en Qdrant Cloud
  2. Establezca estas variables de entorno:
QDRANT_URL=your-cloud-cluster-url QDRANT_API_KEY=your-cloud-api-key

Herramientas

búsqueda_documentación

Busque en la documentación almacenada mediante consultas en lenguaje natural. Devuelve fragmentos coincidentes con el contexto, ordenados por relevancia.

Entradas:

  • query (cadena): El texto que se busca en la documentación. Puede ser una consulta en lenguaje natural, términos específicos o fragmentos de código.
  • limit (número, opcional): Número máximo de resultados a devolver (1-20, predeterminado: 5). Los límites más altos proporcionan resultados más completos, pero su procesamiento puede tardar más.

lista_fuentes

Lista todas las fuentes de documentación almacenadas actualmente en el sistema. Devuelve una lista completa de toda la documentación indexada, incluyendo las URL de las fuentes, los títulos y la fecha de última actualización. Úselo para saber qué documentación está disponible para búsquedas o para verificar si se han indexado fuentes específicas.

extraer_urls

Extrae y analiza todas las URL de una página web. Esta herramienta rastrea la página web especificada, identifica todos los hipervínculos y, opcionalmente, los añade a la cola de procesamiento.

Entradas:

  • url (cadena): La URL completa de la página web que se analizará (debe incluir el protocolo, p. ej., https://). La página debe ser de acceso público.
  • add_to_queue (booleano, opcional): Si es verdadero, añade automáticamente las URL extraídas a la cola de procesamiento para su posterior indexación. Úselo con precaución en sitios grandes para evitar colas excesivas.

eliminar_documentación

Eliminar fuentes de documentación específicas del sistema por sus URL. Esta eliminación es permanente y afectará los resultados de búsqueda futuros.

Entradas:

  • urls (string[]): Matriz de URL que se eliminarán de la base de datos. Cada URL debe coincidir exactamente con la URL utilizada al agregar la documentación.

cola_de_lista

Lista todas las URL que están en espera en la cola de procesamiento de documentación. Muestra las fuentes de documentación pendientes que se procesarán al llamar a run_queue. Úselo para supervisar el estado de la cola, verificar que las URL se hayan añadido correctamente o comprobar el retraso en el procesamiento.

cola de ejecución

Procesar e indexar todas las URL en la cola de documentación. Cada URL se procesa secuencialmente, con la gestión de errores y la lógica de reintento adecuadas. Se proporcionan actualizaciones de progreso a medida que se procesa. Las operaciones de larga duración se procesarán hasta que la cola se vacíe o se produzca un error irrecuperable.

borrar_cola

Elimine todas las URL pendientes de la cola de procesamiento de documentación. Use esta opción para reiniciar la cola cuando desee empezar de cero, eliminar URL no deseadas o cancelar el procesamiento pendiente. Esta operación es inmediata y permanente; deberá volver a agregar las URL si desea procesarlas más adelante.

Estructura del proyecto

El paquete sigue una arquitectura modular con una clara separación entre los componentes principales y los controladores del protocolo MCP. Consulte ARCHITECTURE.md para obtener documentación estructural detallada y decisiones de diseño.

Uso de incrustaciones de Ollama sin Docker

  1. Instalar Ollama:
curl -fsSL https://ollama.com/install.sh | sh
  1. Descargue el modelo nomic-embed-text:
ollama pull nomic-embed-text
  1. Verificar la instalación:
ollama list

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, 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.

Contribuyendo

¡Agradecemos las contribuciones! Consulta nuestro CONTRIBUTING.md para obtener las directrices detalladas, pero aquí tienes los conceptos básicos:

  1. Bifurcar el repositorio
  2. Instalar dependencias: npm install
  3. Crea una rama de características: git checkout -b feat/your-feature
  4. Confirme los cambios con npm run commit para garantizar el cumplimiento de las confirmaciones convencionales
  5. Empuja hacia tu tenedor y abre un PR

Agradecimientos de Forkception

Este proyecto se basa en una bifurcación de hannesrudolph/mcp-ragdocs , que a su vez se bifurcó del trabajo original de qpd-v/mcp-ragdocs . El proyecto original sentó las bases para esta implementación.

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

Una implementación de servidor MCP que proporciona herramientas para recuperar y procesar documentación a través de la búsqueda vectorial, lo que permite a los asistentes de IA aumentar sus respuestas con el contexto de la documentación relevante.

Utiliza Ollama o OpenAI para generar incrustaciones.

Archivos Docker incluidos

  1. Table of Contents
    1. Usage
      1. Features
        1. Configuration
          1. Usage with Claude Desktop
          2. OpenAI Configuration
          3. Ollama Configuration
          4. Ollama run from this codebase
        2. Environment Variables Reference
          1. Local Deployment
          2. Cloud Deployment
        3. Tools
          1. search_documentation
          2. list_sources
          3. extract_urls
          4. remove_documentation
          5. list_queue
          6. run_queue
          7. clear_queue
        4. Project Structure
          1. Using Ollama Embeddings without docker
            1. License
              1. Contributing
                1. Forkception Acknowledgments
                  ID: g4jkr5rjt5