MemOS
MemOS (Sistema Operativo de Memoria) es un sistema operativo de gestión de memoria diseñado para aplicaciones de IA.
Documentación
Servidor MCP para la API de MemOS
Una implementación del Model Context Protocol (MCP) para el servicio de API de MemOS. Este paquete proporciona una interfaz de línea de comandos para interactuar con la API de MemOS utilizando los estándares de MCP.
Configuración de MCP
Para usar este paquete en el cliente MCP, utiliza la siguiente configuración: (Puede que necesites instalar Node.js primero)
{
"mcpServers": {
"memos-api-mcp": {
"command": "npx",
"args": ["-y", "@memtensor/memos-api-mcp"],
"env": {
"MEMOS_API_KEY": "your-api-key",
"MEMOS_USER_ID": "your-user-id",
"MEMOS_CHANNEL": "the-site-where-you-are-seeing-this-document"
}
}
}
}
Explicación de la configuración
command: Usanpxpara ejecutar el paqueteargs: Argumentos pasados a npx para ejecutar el paqueteenv: Variables de entornoMEMOS_API_KEY: Tu clave de API de Memos para autenticación (Obtén tu clave de API en el Dashboard[https://memos-dashboard.openmem.net/cn/apikeys/])MEMOS_USER_ID: Identificador estable por persona. DEBE ser determinista y no contener PII, y DEBE permanecer igual para la misma persona en todos los dispositivos/sesiones. NUNCA lo reutilices entre diferentes personas. NO uses valores aleatorios, IDs de dispositivo o IDs de sesión de modelo/chat. Recomendado: SHA-256(minúsculas(trim(correo))) o tu subject de SSO/ID de empleado.MEMOS_CHANNEL: El sitio donde estás viendo este documento. Valores candidatos:MODELSCOPE,MCPSO,MCPMARKETCN,MCPMARKETCOM,GLAMA,PULSEMCP,MCPSERVERS,LOBEHUB,MEMOS(que significa el sitio web oficial de MemOS),GITHUB(que significa este archivo README)
Herramientas MCP disponibles
Este paquete proporciona las siguientes herramientas MCP:
-
add_message- Añade un nuevo mensaje a una conversación
- Parámetros:
conversation_id: Identificador único de la conversación asociada con el feedback.messages: Matriz de mensajes que contienen información de rol y contenido.role: Rol del remitente del mensaje (useroassistant).content: Contenido del mensaje.chat_time: (Opcional) Marca de tiempo del mensaje.
-
search_memory- Busca recuerdos en una conversación.
- Parámetros:
query: Contenido de texto para buscar dentro de los recuerdos. El límite de tokens para una sola consulta es de 4k.filter: (Opcional) Condiciones de filtro, utilizadas para limitar con precisión el alcance de la memoria antes de la recuperación.knowledgebase_ids: (Opcional) Matriz que especifica las bases de conocimiento a buscar.- NO USES ESTO a menos que el usuario mencione explícitamente "base de conocimiento" o "KB".
-
- Si el usuario pide explícitamente buscar TODAS las bases de conocimiento -> pasa
["all"].
- Si el usuario pide explícitamente buscar TODAS las bases de conocimiento -> pasa
-
- Si el usuario especifica IDs de KB particulares -> pasa esos IDs.
-
- Si el usuario NO menciona bases de conocimiento -> OMITE este parámetro (no lo envíes).
include_preference: (Opcional) Habilitar el recuerdo de memoria de preferencias. Predeterminado: true.preference_limit_number: (Opcional) Máximo de recuerdos de preferencias a devolver. Predeterminado: 9, máximo 25.include_tool_memory: (Opcional) Habilitar el recuerdo de memoria de herramientas. Predeterminado: false.tool_memory_limit_number: (Opcional) Máximo de recuerdos de herramientas a devolver. Predeterminado: 6, máximo 25.include_skill: (Opcional) Habilitar el recuerdo de habilidades. Predeterminado: false.skill_limit_number: (Opcional) Máximo de habilidades a devolver. Predeterminado: 6, máximo 25.relativity: (Opcional) Umbral de relevancia (0-1) para los recuerdos recuperados. Un valor de 0 desactiva el filtrado de relevancia.conversation_first_message: Primer mensaje del usuario en el hilo (utilizado para generar conversation_id).memory_limit_number: Número máximo de recuerdos que se pueden recuperar. Predeterminado: 9, máximo 25.
-
delete_memory- Elimina recuerdos específicos por sus IDs.
- Parámetros:
user_ids: Lista de IDs de usuario cuyos recuerdos serán eliminados.memory_ids: Lista de IDs de recuerdos a eliminar.
-
add_feedback- Envía feedback de usuario al sistema MemOS.
- Nota: El feedback se aplica de forma asíncrona —
add_feedbackregresa inmediatamente (a menudo con untask_id), y el efecto puede tardar un poco en aparecer. - Parámetros:
user_id: El identificador de usuario asociado con el feedback.conversation_id: Identificador único de la conversación asociada con el feedback.feedback_content: El contenido específico del feedback.agent_id: (Opcional) ID de agente asociado con el feedback.app_id: (Opcional) ID de aplicación asociado con el feedback.feedback_time: (Opcional) Cadena de tiempo del feedback (predeterminado: hora UTC actual).allow_public: (Opcional) Si se permite el acceso público (predeterminado: false).allow_knowledgebase_ids: (Opcional) Lista de IDs de bases de conocimiento a las que se permite escribir.
-
get_user_profile- Obtén el perfil de memoria completo del usuario (hechos, preferencias y trayectorias de herramientas).
- Parámetros:
include_preference: (Opcional) Si se incluyen recuerdos de preferencias.include_tool_memory: (Opcional) Si se incluyen recuerdos de trayectoria de herramientas.current: (Opcional) Número de página.size: (Opcional) Número de entradas por página.
-
create_knowledge_base- Crea un contenedor de base de conocimiento con nombre.
- Parámetros:
knowledgebase_name: Nombre de la base de conocimiento.knowledgebase_description: (Opcional) Descripción de la base de conocimiento.
-
remove_knowledge_base- Elimina una asociación de base de conocimiento.
- Parámetros:
knowledgebase_id: ID de la base de conocimiento objetivo.
-
add_kb_document- Sube documento(s) a una base de conocimiento especificada.
- Parámetros:
knowledgebase_id: ID de la base de conocimiento objetivo.file: Lista de documentos.content: Ruta absoluta local, URL pública o URI de datos Base64.file_name: (Opcional) Nombre de archivo.mime_type: (Opcional) Tipo MIME. Requerido cuandocontentes una ruta de archivo local.
-
get_kb_documents- Obtén metadatos de documentos en lotes por IDs de archivo.
- Parámetros:
file_ids: Lista de IDs de documentos.
-
delete_kb_documents
- Elimina documentos especificados de la base de conocimiento por IDs de archivo.
- Parámetros:
file_ids: Lista de IDs de documentos.
Todas las herramientas usan la misma configuración y requieren la variable de entorno MEMOS_API_KEY.
Características
- Interfaz de API compatible con MCP
- Herramienta de línea de comandos para una interacción fácil
- Construido con TypeScript para seguridad de tipos
- Implementación de servidor Express.js
- Validación de esquema Zod
Requisitos previos
- Node.js >= 18
- npm o pnpm (recomendado)
Instalación
Puedes instalar el paquete globalmente usando npm:
npm install -g @memtensor/memos-api-mcp
O usando pnpm:
pnpm add -g @memtensor/memos-api-mcp
Uso
Después de la instalación, puedes ejecutar la herramienta CLI usando:
npx @memtensor/memos-api-mcp
O si está instalado globalmente:
memos-api-mcp
Desarrollo
- Clona el repositorio:
git clone <repository-url>
cd memos-api-mcp
- Instala las dependencias:
pnpm install
- Inicia el servidor de desarrollo:
pnpm dev
- Compila el proyecto:
pnpm build
Scripts disponibles
pnpm build- Compila el proyectopnpm dev- Inicia el servidor de desarrollo usando tsxpnpm start- Ejecuta la versión compiladapnpm inspect- Inspecciona la implementación de MCP usando @modelcontextprotocol/inspector
Estructura del proyecto
memos-mcp/
├── src/ # Source code
├── build/ # Compiled JavaScript files
├── package.json # Project configuration
└── tsconfig.json # TypeScript configuration
Dependencias
@modelcontextprotocol/sdk: ^1.0.0express: ^4.19.2zod: ^3.23.8ts-md5: ^2.0.0
Versión
Versión actual: 1.1.0