Skip to main content
Glama
rmtech1

TxtAi Memory Vector Server

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.

Related MCP server: Lspace MCP Server

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rmtech1/txtai-assistant-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server