MCP Docs RAG Server

by kazuph
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows cloning and pulling from Git repositories to store them as local documents for RAG queries

  • Enables retrieving repositories from GitHub to be used as document sources for RAG queries

  • Uses Google's Gemini API for document indexing and embedding generation for RAG functionality

mcp-docs-rag Servidor MCP

RAG (Recuperación-Generación Aumentada) para documentos en un directorio local

Este es un servidor MCP basado en TypeScript que implementa un sistema RAG para documentos almacenados en un directorio local. Permite a los usuarios consultar documentos mediante LLM con contexto de repositorios y archivos de texto almacenados localmente.

Características

Recursos

  • Listar y acceder a documentos mediante URI docs://
  • Los documentos pueden ser repositorios de Git o archivos de texto.
  • Tipo MIME de texto simple para acceso al contenido

Herramientas

  • list_documents - Lista todos los documentos disponibles en el directorio DOCS_PATH
    • Devuelve una lista formateada de todos los documentos
    • Muestra el número total de documentos disponibles
  • rag_query - Consultar documentos usando RAG
    • Toma document_id y consulta como parámetros
    • Devuelve respuestas generadas por IA con contexto de los documentos.
  • add_git_repository - Clona un repositorio Git en el directorio de documentos con extracción dispersa opcional
    • Toma repository_url como parámetro
    • Parámetro opcional document_name para personalizar el nombre del documento (use nombres descriptivos simples sin el sufijo '-docs')
    • Parámetro de subdirectorio opcional para la extracción dispersa de directorios específicos
    • Extrae automáticamente los últimos cambios si el repositorio ya existe
  • add_text_file - Descargar un archivo de texto al directorio de documentos
    • Toma file_url como parámetro
    • Utiliza wget para descargar archivos

Indicaciones

  • guide_documents_usage - Guía sobre cómo usar documentos y la funcionalidad de RAG
    • Incluye lista de documentos disponibles
    • Proporciona sugerencias de uso para la funcionalidad RAG

Desarrollo

Instalar dependencias:

npm install

Construir el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Configuración

Este servidor requiere un directorio local para almacenar documentos. Por defecto, usa ~/docs , pero puede configurar una ubicación diferente con la variable de entorno DOCS_PATH .

Estructura del documento

El directorio de documentos puede contener:

  • Repositorios Git (directorios clonados)
  • Archivos de texto sin formato (con extensión .txt)

Cada documento se indexa por separado utilizando llama-index.ts con incrustaciones Gemini de Google.

Claves API

Este servidor utiliza la API de Gemini de Google para la indexación y consulta de documentos. Debe configurar su clave de API de Gemini como variable de entorno:

export GEMINI_API_KEY=your-api-key-here

Puedes obtener una clave API de Gemini en el sitio web de Google AI Studio . Agrega esta clave a tu perfil de shell o inclúyela en la configuración del entorno de Claude Desktop.

Instalación

Para utilizar con Claude Desktop, agregue la configuración del servidor:

En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En Windows: %APPDATA%/Claude/claude_desktop_config.json En Linux: ~/.config/Claude/claude_desktop_config.json

{ "mcpServers": { "docs-rag": { "command": "npx", "args": ["-y", "@kazuph/mcp-docs-rag"], "env": { "DOCS_PATH": "/Users/username/docs", "GEMINI_API_KEY": "your-api-key-here" } } } }

Asegúrese de reemplazar /Users/username/docs con la ruta real a su directorio de documentos.

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP , disponible como script de paquete:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Uso

Una vez configurado, puedes usar el servidor con Claude para:

  1. Añadir documentos :
    Add a new document from GitHub: https://github.com/username/repository
    o con un nombre de documento personalizado:
    Add GitHub repository https://github.com/username/repository-name and name it 'framework'
    o con extracción dispersa de un directorio específico:
    Add only the 'src/components' directory from https://github.com/username/repository
    o combinar nombre personalizado y pago disperso:
    Add the 'examples/demo' directory from https://github.com/username/large-repo and name it 'demo-app'
    o agregar un archivo de texto:
    Add this text file: https://example.com/document.txt
  2. Consulta de documentos :
    What does the documentation say about X in the Y repository?
  3. Lista de documentos disponibles :
    What documents do you have access to?

El servidor gestionará automáticamente la indexación de los documentos para una recuperación eficiente.

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor MCP de TypeScript que permite consultar documentos utilizando LLM con contexto de repositorios almacenados localmente y archivos de texto a través de un sistema RAG (Recuperación-Generación Aumentada).

  1. Features
    1. Resources
    2. Tools
    3. Prompts
  2. Development
    1. Setup
      1. Document Structure
      2. API Keys
    2. Installation
      1. Debugging
    3. Usage
      ID: sibd142gk0