TxtAi Memory Vector Server

by rmtech1
Verified

Integrations

  • Supports configuration through environment variables in .env files, allowing customization of server settings, CORS configurations, and memory parameters

  • Includes specific integration instructions for macOS, detailing configuration file locations for Claude's MCP settings

  • Built on Python with txtai, providing semantic search functionality, neural search with transformers, and text extraction capabilities

Asistente MCP de TxtAI

Implementación de un servidor de Protocolo de Contexto de Modelo (MCP) para búsqueda semántica y gestión de memoria mediante txtai . Este servidor proporciona una API robusta para almacenar, recuperar y gestionar memorias basadas en texto con capacidades de búsqueda semántica.

Acerca de txtai

Este proyecto se basa en txtai , un excelente motor de búsqueda de código abierto impulsado por IA creado por NeuML . txtai proporciona:

  • 🔍 Solución de búsqueda semántica todo en uno
  • 🧠 Búsqueda neuronal con transformadores
  • Clasificación de texto de disparo cero
  • 🔄 Extracción e incrustaciones de texto
  • 🌐 Soporte multilingüe
  • 🚀 Alto rendimiento y escalabilidad

Ampliamos las capacidades de txtai integrándolo con el Protocolo de Contexto de Modelo (MCP), lo que permite a asistentes de IA como Claude y Cline aprovechar sus potentes capacidades de búsqueda semántica. Agradecemos especialmente al equipo de txtai por crear una herramienta tan potente y flexible.

Características

  • 🔍 Búsqueda semántica en los recuerdos almacenados
  • 💾 Almacenamiento persistente con backend basado en archivos
  • 🏷️ Organización y recuperación de memoria basada en etiquetas
  • 📊 Estadísticas de memoria y monitorización de la salud
  • 🔄 Persistencia automática de datos
  • 📝 Registro completo
  • 🔒 Ajustes CORS configurables
  • 🤖 Integración con Claude y Cline AI

Prerrequisitos

  • Python 3.8 o superior
  • pip (instalador de paquetes de Python)
  • virtualenv (recomendado)

Instalación

  1. Clonar este repositorio:
git clone https://github.com/yourusername/txtai-assistant-mcp.git cd txtai-assistant-mcp
  1. Ejecute el script de inicio:
./scripts/start.sh

El guión hará lo siguiente:

  • Crear un entorno virtual
  • Instalar las dependencias necesarias
  • Configurar los directorios necesarios
  • Crear un archivo de configuración a partir de una plantilla
  • Iniciar el servidor

Configuración

El servidor se puede configurar mediante variables de entorno en el archivo .env . Se proporciona una plantilla en .env.template :

# Server Configuration HOST=0.0.0.0 PORT=8000 # CORS Configuration CORS_ORIGINS=* # Logging Configuration LOG_LEVEL=DEBUG # Memory Configuration MAX_MEMORIES=0

Integración con Claude y Cline AI

Este asistente TxtAI se puede utilizar como servidor MCP con Claude y Cline AI para mejorar sus capacidades con memoria semántica y funcionalidad de búsqueda.

Configuración para Claude

Para usar este servidor con Claude, agréguelo al archivo de configuración MCP de Claude (normalmente ubicado en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{ "mcpServers": { "txtai-assistant": { "command": "path/to/txtai-assistant-mcp/scripts/start.sh", "env": {} } } }

Configuración para Cline

Para usar con Cline, agregue la configuración del servidor al archivo de configuración MCP de Cline (normalmente ubicado en ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ):

{ "mcpServers": { "txtai-assistant": { "command": "path/to/txtai-assistant-mcp/scripts/start.sh", "env": {} } } }

Herramientas MCP disponibles

Una vez configuradas, las siguientes herramientas estarán disponibles para Claude y Cline:

  1. store_memory : Almacena nuevo contenido de memoria con metadatos y etiquetas
{ "content": "Memory content to store", "metadata": { "source": "conversation", "timestamp": "2023-01-01T00:00:00Z" }, "tags": ["important", "context"], "type": "conversation" }
  1. retrieve_memory : Recupera recuerdos basándose en la búsqueda semántica
{ "query": "search query", "n_results": 5 }
  1. search_by_tag : Buscar recuerdos por etiquetas
{ "tags": ["important", "context"] }
  1. delete_memory : Elimina una memoria específica por hash de contenido
{ "content_hash": "hash_value" }
  1. get_stats : Obtener estadísticas de la base de datos
{}
  1. check_health : Verificar el estado de la base de datos y del modelo de incrustación
{}

Ejemplos de uso

En Claude o Cline, puedes utilizar estas herramientas a través del protocolo MCP:

# Store a memory <use_mcp_tool> <server_name>txtai-assistant</server_name> <tool_name>store_memory</tool_name> <arguments> { "content": "Important information to remember", "tags": ["important"] } </arguments> </use_mcp_tool> # Retrieve memories <use_mcp_tool> <server_name>txtai-assistant</server_name> <tool_name>retrieve_memory</tool_name> <arguments> { "query": "what was the important information?", "n_results": 5 } </arguments> </use_mcp_tool>

La IA utilizará automáticamente estas herramientas para mantener el contexto y recuperar información relevante durante las conversaciones.

Puntos finales de API

Memoria de la tienda

POST /store

Almacene una nueva memoria con metadatos y etiquetas opcionales.

Cuerpo de la solicitud:

{ "content": "Memory content to store", "metadata": { "source": "example", "timestamp": "2023-01-01T00:00:00Z" }, "tags": ["example", "memory"], "type": "general" }

Buscar recuerdos

POST /search

Buscar recuerdos usando la búsqueda semántica.

Cuerpo de la solicitud:

{ "query": "search query", "n_results": 5, "similarity_threshold": 0.7 }

Buscar por etiquetas

POST /search_tags

Buscar recuerdos por etiquetas.

Cuerpo de la solicitud:

{ "tags": ["example", "memory"] }

Borrar memoria

DELETE /memory/{content_hash}

Eliminar una memoria específica por su hash de contenido.

Obtener estadísticas

GET /stats

Obtenga estadísticas del sistema, incluidos recuentos de memoria y distribución de etiquetas.

Chequeo de salud

GET /health

Verifique el estado de salud del servidor.

Estructura del directorio

txtai-assistant-mcp/ ├── server/ │ ├── main.py # Main server implementation │ └── requirements.txt # Python dependencies ├── scripts/ │ └── start.sh # Server startup script ├── data/ # Data storage directory ├── logs/ # Log files directory ├── .env.template # Environment configuration template └── README.md # This file

Almacenamiento de datos

Las memorias y las etiquetas se almacenan en archivos JSON en el directorio data :

  • memories.json : Contiene todos los recuerdos almacenados
  • tags.json : Contiene el índice de etiquetas

Explotación florestal

Los registros se almacenan en el directorio logs . El archivo de registro predeterminado es server.log .

Desarrollo

Para contribuir a este proyecto:

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Realiza tus cambios
  4. Enviar una solicitud de extracción

Manejo de errores

El servidor implementa un manejo integral de errores:

  • Las solicitudes no válidas devuelven códigos de estado HTTP apropiados
  • Los errores se registran con seguimientos de pila.
  • Se devuelven mensajes de error fáciles de usar en las respuestas.

Consideraciones de seguridad

  • Los ajustes de CORS se pueden configurar mediante variables de entorno
  • Las rutas de archivos se desinfectan para evitar el cruce de directorios
  • La validación de entrada se realiza en todos los puntos finales

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Apoyo

Si encuentra algún problema o tiene preguntas, envíe un problema en el repositorio de GitHub.

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

Implementación del servidor del Protocolo de Contexto de Modelo (MCP) para búsqueda semántica y gestión de memoria mediante TxtAI. Este servidor proporciona una API robusta para almacenar, recuperar y gestionar memorias basadas en texto con capacidades de búsqueda semántica. También puede usar Claude y Cline AI.

  1. About txtai
    1. Features
      1. Prerequisites
        1. Installation
          1. Configuration
            1. Integration with Claude and Cline AI
              1. Configuration for Claude
              2. Configuration for Cline
              3. Available MCP Tools
              4. Usage Examples
            2. API Endpoints
              1. Store Memory
              2. Search Memories
              3. Search by Tags
              4. Delete Memory
              5. Get Statistics
              6. Health Check
            3. Directory Structure
              1. Data Storage
                1. Logging
                  1. Development
                    1. Error Handling
                      1. Security Considerations
                        1. License
                          1. Contributing
                            1. Support
                              ID: eyslv880qg