local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Uses the Hugging Face Inference API to generate embeddings for the knowledge base content, with optional model selection through environment variables.
Uses LangChain's MarkdownTextSplitter to split file content into chunks for the knowledge base.
Base de conocimientos del servidor MCP
Este servidor MCP proporciona herramientas para enumerar y recuperar contenido de diferentes bases de conocimiento.
Instrucciones de configuración
Estas instrucciones asumen que tiene Node.js y npm instalados en su sistema.
Prerrequisitos
- Clonar el repositorio:Copy
- Instalar dependencias:Copy
- Configurar variables de entorno:
- El servidor requiere que se configure la variable de entorno
HUGGINGFACE_API_KEY
. Esta es la clave API para la API de inferencia de Hugging Face, que se utiliza para generar incrustaciones para el contenido de la base de conocimiento. Puede obtener una clave API gratuita en el sitio web de Hugging Face ( https://huggingface.co/ ). - El servidor requiere que se configure la variable de entorno
KNOWLEDGE_BASES_ROOT_DIR
. Esta variable especifica el directorio donde se encuentran los subdirectorios de la base de conocimientos. Si no se configura, se tomará por defecto$HOME/knowledge_bases
, donde$HOME
es el directorio de inicio del usuario actual. - El servidor admite la variable de entorno
FAISS_INDEX_PATH
para especificar la ruta al índice FAISS. Si no se configura, se usará de forma predeterminada$HOME/knowledge_bases/.faiss
. - El servidor admite la variable de entorno
HUGGINGFACE_MODEL_NAME
para especificar el modelo Hugging Face que se usará para generar incrustaciones. Si no se configura, se usarásentence-transformers/all-MiniLM-L6-v2
de forma predeterminada. - Puede configurar estas variables de entorno en su archivo
.bashrc
o.zshrc
, o directamente en la configuración de MCP.
- El servidor requiere que se configure la variable de entorno
- Construir el servidor:Copy
- Agregue el servidor a la configuración de MCP:
- Edite el archivo
cline_mcp_settings.json
ubicado en/home/jean/.vscode-server/data/User/globalStorage/saoudrizwan.claude-dev/settings/
. - Agregue la siguiente configuración al objeto
mcpServers
:
Copy- Reemplace
/path/to/knowledge-base-mcp-server
con la ruta real al directorio del servidor. - Reemplace
/path/to/knowledge_bases
con la ruta real al directorio de bases de conocimiento.
- Edite el archivo
- Crear directorios de base de conocimientos:
- Cree subdirectorios dentro de
KNOWLEDGE_BASES_ROOT_DIR
para cada base de conocimiento (por ejemplo,company
,it_support
,onboarding
). - Coloque los archivos de texto (por ejemplo,
.txt
,.md
) que contienen el contenido de la base de conocimiento dentro de estos subdirectorios.
- Cree subdirectorios dentro de
- El servidor lee de forma recursiva todos los archivos de texto (por ejemplo,
.txt
,.md
) dentro de los subdirectorios de la base de conocimiento especificados. - El servidor omite los archivos y directorios ocultos (aquellos que comienzan con
.
). - Para cada archivo, el servidor calcula el hash SHA256 y lo almacena en un archivo con el mismo nombre en un subdirectorio oculto
.index
. Este hash se utiliza para determinar si el archivo se ha modificado desde la última indexación. - El contenido del archivo se divide en fragmentos utilizando
MarkdownTextSplitter
delangchain/text_splitter
. - Luego, el contenido de cada fragmento se agrega a un índice FAISS, que se utiliza para la búsqueda de similitud.
- El índice FAISS se inicializa automáticamente al iniciar el servidor. Comprueba si hay cambios en los archivos de la base de conocimiento y actualiza el índice según corresponda.
Uso
El servidor expone dos herramientas:
list_knowledge_bases
: enumera las bases de conocimiento disponibles.retrieve_knowledge
: Recupera fragmentos similares de la base de conocimiento mediante una consulta. Opcionalmente, si se especifica una base de conocimiento, solo se busca en ella; de lo contrario, se consideran todas las bases de conocimiento disponibles. Por defecto, se devuelven un máximo de 10 fragmentos de documento con una puntuación inferior a un umbral de 2. Opcionalmente, se puede especificar un umbral diferente mediante el parámetro "threshold
".
Puede utilizar estas herramientas a través de la interfaz MCP.
La herramienta retrieve_knowledge
realiza una búsqueda semántica mediante un índice FAISS. Este índice se actualiza automáticamente al iniciar el servidor o al modificar un archivo de una base de conocimiento.
La salida de la herramienta retrieve_knowledge
es una cadena con formato Markdown con la siguiente estructura:
Cada resultado incluye el contenido del fragmento más similar, el archivo de origen y una puntuación de similitud.
You must be authenticated.
Proporciona herramientas para enumerar y recuperar contenido de diferentes bases de conocimiento utilizando capacidades de búsqueda semántica.