local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
The MCP server supports PostgreSQL with pgvector as a production-ready storage backend option for the knowledge base
The MCP server supports SQLite as a storage backend for content and graph data in the knowledge base
The MCP server uses YAML configuration files for configuring txtai components during knowledge base building
Incorporación del servidor MCP
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) impulsada por txtai, que proporciona búsqueda semántica, capacidades de gráficos de conocimiento y procesamiento de texto impulsado por IA a través de una interfaz estandarizada.
El poder de txtai: Base de datos de incrustaciones todo en uno
Este proyecto aprovecha txtai , una base de datos de incrustaciones todo en uno para RAG que aprovecha la búsqueda semántica, la construcción de gráficos de conocimiento y los flujos de trabajo de modelos de lenguaje. txtai ofrece varias ventajas clave:
- Base de datos vectorial unificada : combina índices vectoriales, redes de gráficos y bases de datos relacionales en una única plataforma
- Búsqueda semántica : encuentre información basándose en el significado, no solo en palabras clave
- Integración de gráficos de conocimiento : cree y consulte automáticamente gráficos de conocimiento a partir de sus datos
- Bases de conocimiento portátiles : guarde bases de conocimiento completas como archivos comprimidos (.tar.gz) que se pueden compartir y cargar fácilmente
- Sistema de canalización extensible : procese texto, documentos, audio, imágenes y videos a través de una API unificada
- Arquitectura local : ejecuta todo localmente sin enviar datos a servicios externos
Cómo funciona
El proyecto incluye una herramienta para crear bases de conocimiento y un servidor MCP. Esta herramienta es una interfaz de línea de comandos para crear y gestionar bases de conocimiento. El servidor MCP proporciona una interfaz estandarizada para acceder a la base de conocimiento.
No es necesario usar la herramienta de creación de bases de conocimiento para crear una. Siempre puede crear una base de conocimiento usando la interfaz de programación de txtai, escribiendo un script en Python o incluso usando un Jupyter Notebook. Siempre que la base de conocimiento se cree con txtai, el servidor MCP podrá cargarla. Mejor aún, la base de conocimiento puede ser una carpeta en el sistema de archivos o un archivo .tar.gz exportado. Simplemente envíesela al servidor MCP y la cargará.
1. Cree una base de conocimientos con kb_builder
El módulo kb_builder
proporciona una interfaz de línea de comandos para crear y administrar bases de conocimiento:
- Procesar documentos de diversas fuentes (archivos, directorios, JSON)
- Extraer texto y crear incrustaciones
- Construya gráficos de conocimiento automáticamente
- Exportar bases de conocimiento portátiles
Tenga en cuenta que es posible que tenga una funcionalidad limitada y que actualmente solo se proporciona para conveniencia.
2. Inicie el servidor MCP
El servidor MCP proporciona una interfaz estandarizada para acceder a la base de conocimientos:
- Capacidades de búsqueda semántica
- Consulta y visualización de gráficos de conocimiento
- Canalizaciones de procesamiento de texto (resumen, extracción, etc.)
- Cumplimiento total del Protocolo de Contexto Modelo
Instalación
Recomendado: Uso de uv con Python 3.10+
Recomendamos usar uv con Python 3.10 o posterior para obtener la mejor experiencia. Esto proporciona una mejor gestión de dependencias y garantiza un comportamiento consistente.
Nota : Hemos fijado los transformadores a la versión 4.49.0 para evitar las advertencias de obsolescencia de
transformers.agents.tools
que aparecen en la versión 4.50.0 y posteriores. Si usa una versión más reciente de transformadores, es posible que vea estas advertencias, pero no afectan la funcionalidad.
Usando conda
De la fuente
Usando uv (Alternativa más rápida)
Uso de uvx (no requiere instalación)
uvx le permite ejecutar paquetes directamente desde PyPI sin instalarlos:
Uso de la línea de comandos
Construyendo una base de conocimientos
Puede utilizar las herramientas de línea de comandos instaladas desde PyPI, el módulo Python directamente o los convenientes scripts de shell:
Uso de los comandos instalados de PyPI
Uso de uvx (no requiere instalación)
Usando el módulo Python
Uso de los scripts de conveniencia
El repositorio incluye scripts envolventes convenientes que facilitan la creación y búsqueda de bases de conocimiento:
Ejecute ./scripts/kb_build.sh --help
o ./scripts/kb_search.sh --help
para obtener más opciones.
Iniciando el servidor MCP
Uso del comando de instalación de PyPI
Uso de uvx (no requiere instalación)
Usando el módulo Python
Configuración del servidor MCP
El servidor MCP se configura mediante variables de entorno o argumentos de línea de comandos, no archivos YAML. Estos archivos solo se utilizan para configurar los componentes de txtai durante la creación de la base de conocimientos.
A continuación se explica cómo configurar el servidor MCP:
Opciones de configuración comunes:
--embeddings
: Ruta a la base de conocimientos (obligatorio)--host
: Dirección de host a la que vincular (predeterminado: localhost)--port
: Puerto para escuchar (predeterminado: 8000)--transport
: Transporte a utilizar, ya sea 'sse' o 'stdio' (predeterminado: stdio)--enable-causal-boost
: Habilita la función de refuerzo causal para una puntuación de relevancia mejorada--causal-config
: Ruta al archivo YAML de configuración de impulso causal personalizado
Configuración de clientes LLM para utilizar el servidor MCP
Para configurar un cliente LLM para que use el servidor MCP, debe crear un archivo de configuración de MCP. A continuación, se muestra un ejemplo: mcp_config.json
Usando el servidor directamente
Si usa un entorno virtual de Python para instalar el servidor, puede usar la siguiente configuración: tenga en cuenta que el host MCP como Claude no podrá conectarse al servidor si usa un entorno virtual, debe usar la ruta absoluta al ejecutable de Python del entorno virtual donde hizo "pip install" o "uv pip install", por ejemplo
Usando Python predeterminado del sistema
Si utiliza el Python predeterminado de su sistema, puede utilizar la siguiente configuración:
Alternativamente, si está usando uvx, suponiendo que tiene uvx instalado en su sistema a través de "brew install uvx", etc., o ha instalado uvx y lo ha hecho accesible globalmente a través de:
Esto crea un enlace simbólico desde la instalación específica del usuario a una ubicación del sistema. Para aplicaciones macOS como Claude Desktop, puede modificar la ruta del sistema creando o editando un archivo de configuración de launchd:
Añade este contenido:
Luego cárgalo:
Sin embargo, necesitarás reiniciar tu computadora para que esto surta efecto.
Coloque este archivo de configuración en una ubicación accesible para su cliente LLM y configúrelo para usarlo. Los pasos de configuración exactos dependerán de su cliente LLM específico.
Configuración avanzada de la base de conocimientos
Para crear una base de conocimiento con txtai se requiere un archivo de configuración YAML que controla diversos aspectos del proceso de incrustación. Esta configuración la utiliza la herramienta kb_builder
, no el servidor MCP.
Es posible que sea necesario ajustar las estrategias de segmentación/fragmentación, los modelos de integración y los métodos de puntuación, así como configurar la construcción de gráficos, el refuerzo causal, los pesos de la búsqueda híbrida y más.
Afortunadamente, txtai ofrece un potente sistema de configuración YAML que no requiere programación. A continuación, se muestra un ejemplo de una configuración completa para la creación de bases de conocimiento:
Ejemplos de configuración
El directorio src/kb_builder/configs
contiene plantillas de configuración para diferentes casos de uso y backends de almacenamiento:
Configuraciones de almacenamiento y backend
memory.yml
: Vectores en memoria (más rápidos para el desarrollo, sin persistencia)sqlite-faiss.yml
: SQLite para contenido + FAISS para vectores (persistencia local basada en archivos)postgres-pgvector.yml
: PostgreSQL + pgvector (listo para producción con persistencia completa)
Configuraciones específicas del dominio
base.yml
: Plantilla de configuración basecode_repositories.yml
: Optimizado para repositorios de códigodata_science.yml
: Configurado para documentos de ciencia de datosgeneral_knowledge.yml
: Base de conocimientos de propósito generalresearch_papers.yml
: Optimizado para artículos académicostechnical_docs.yml
: Configurado para documentación técnica
Puedes utilizarlos como puntos de partida para tus propias configuraciones:
Funciones avanzadas
Capacidades del gráfico de conocimiento
El servidor MCP aprovecha la funcionalidad de gráficos incorporada de txtai para proporcionar potentes capacidades de gráficos de conocimiento:
- Construcción automática de gráficos : cree gráficos de conocimiento a partir de sus documentos automáticamente
- Recorrido gráfico : navegue a través de conceptos y documentos relacionados
- Búsqueda de rutas : descubre conexiones entre diferentes piezas de información
- Detección de comunidad : identificar grupos de información relacionada
Mecanismo de impulso causal
El servidor MCP incluye un sofisticado mecanismo de impulso causal que mejora la relevancia de la búsqueda al identificar y priorizar las relaciones causales:
- Reconocimiento de patrones : detecta patrones de lenguaje causales tanto en consultas como en documentos
- Compatibilidad multilingüe : aplica automáticamente patrones apropiados según el idioma de consulta detectado
- Multiplicadores de impulso configurables : diferentes tipos de coincidencias causales reciben factores de impulso personalizables
- Relevancia mejorada : los resultados que explican las relaciones causales se priorizan en los resultados de búsqueda.
Este mecanismo mejora significativamente las respuestas a preguntas de "por qué" y "cómo" al mostrar contenido que explica las relaciones entre conceptos. La configuración de potenciación causal es altamente personalizable mediante archivos YAML, lo que permite su adaptación a diferentes dominios e idiomas.
Licencia
Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles
This server cannot be installed
Un servidor MCP diseñado para ser portátil, local, fácil y práctico para la recuperación semántica/gráfica de la base de datos de incrustaciones de TXTAI "todo en uno". Se puede cargar cualquier base de datos de incrustaciones de TXTAI en formato tar.gz.
- The Power of txtai: All-in-one Embeddings Database
- How It Works
- Installation
- Command Line Usage
- MCP Server Configuration
- Configuring LLM Clients to Use the MCP Server
- Advanced Knowledge Base Configuration
- Advanced Features
- License