Memanto MCP

MEMANTO es un agente de memoria. Recuerda, recupera y responde, para que tus agentes puedan alcanzar objetivos a largo plazo y evitar confusiones.

Documentación

Servidor Memanto MCP

Memoria semántica persistente para cualquier agente compatible con MCP.

Este paquete expone las primitivas de memoria de Memantoremember, recall, answer y similares — como herramientas del Protocolo de Contexto de Modelo (MCP) para que cualquier cliente MCP (Claude Desktop, Cursor, Windsurf, Cline, Continue, Goose, agentes personalizados, …) pueda conectarse a memoria a largo plazo con una sola línea de configuración.

Una clave API de Moorcheh → memoria semántica tipada en cada agente que comparte el espacio de nombres, con recuperación en menos de 90 ms, detección de conflictos y latencia de ingesta cero.


Instalación

pip install memanto-mcp

Requiere Python 3.10+, memanto>=0.2.13, mcp>=1.2,<2 y una clave API de Moorcheh (nivel gratuito: 100K operaciones/mes).

Inicio rápido (Claude Desktop)

  1. Obtén una clave API de Moorcheh desde la consola.
  2. Edita claude_desktop_config.json (Configuración → Desarrollador → Editar configuración):
{
  "mcpServers": {
    "memanto": {
      "command": "memanto-mcp",
      "env": {
        "MOORCHEH_API_KEY": "mch_xxxxxxxxxxxxxxxxxx",
        "MEMANTO_DEFAULT_AGENT_ID": "my-assistant"
      }
    }
  }
}
  1. Reinicia Claude Desktop. Pídele que "recuerde que prefiero respuestas concisas" — y luego, en un chat completamente nuevo mañana, pregúntale "¿qué prefiero?".

La primera llamada crea automáticamente el agente y el espacio de nombres my-assistant; cada llamada posterior reutiliza la misma memoria persistente.

Inicio rápido (Cursor / Windsurf / Cline / Continue / Goose)

La mayoría de los clientes consumen un archivo de configuración con el formato MCP estándar. El mismo fragmento JSON funciona casi sin cambios:

{
  "mcpServers": {
    "memanto": {
      "command": "memanto-mcp",
      "env": {
        "MOORCHEH_API_KEY": "mch_xxxxxxxxxxxxxxxxxx",
        "MEMANTO_DEFAULT_AGENT_ID": "cursor-workspace"
      }
    }
  }
}
ClienteRuta de configuración
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
Cursor~/.cursor/mcp.json (o .cursor/mcp.json por proyecto)
Windsurf~/.codeium/windsurf/mcp_config.json
Cline (VS Code)~/.config/Code/User/globalStorage/cline.cline/settings/cline_mcp_settings.json
Continue~/.continue/config.jsonexperimental.modelContextProtocolServers
Goose~/.config/goose/config.yaml

Herramientas disponibles

El servidor registra 7 herramientas de memoria de forma predeterminada. Configura MEMANTO_EXPOSE_ADMIN=true para exponer también 4 herramientas de gestión de agentes.

Herramientas de memoria (siempre activas)

HerramientaCuándo debe llamarla el agente
rememberPersistir un único hecho/preferencia/decisión/objetivo/instrucción nuevo.
batch_rememberPersistir hasta 100 memorias en una sola llamada (p. ej., extraídas de un documento).
recallBúsqueda semántica — siempre consulta aquí antes de pedirle al usuario que repita información estable.
recall_recent"¿Qué acabamos de decidir?" — de más reciente a más antiguo, sin necesidad de consulta.
recall_as_ofRecuerdo puntual — "¿qué sabíamos el 2025-11-01?"
recall_changed_sinceDiferencial — "¿qué hay de nuevo desde la última vez que revisé?"
answerRAG: respuesta fundamentada generada por LLM a partir de las memorias del agente.

Herramientas de administración de agentes (optativas)

Habilitadas cuando MEMANTO_EXPOSE_ADMIN=true:

HerramientaPropósito
create_agentCrear un nuevo espacio de nombres de memoria.
list_agentsListar cada agente que la clave API puede ver.
get_agentConsultar los metadatos de un agente.
delete_agentEliminar los metadatos locales de un agente.

Tipos de memoria aceptados por remember / batch_remember: fact, preference, goal, decision, artifact, learning, event, instruction, relationship, context, observation, commitment, error.

Valores de procedencia: explicit_statement, inferred, corrected, validated, observed, imported.

Atribución de fuente

source indica quién escribió una memoria, de modo que el recuerdo pueda atribuirse y filtrarse por escritor. Es abierto: user, agent, tool, system o un escritor específico como cursor, codex, claude_code, mem0. Las etiquetas se limitan a 64 letras, dígitos, ., _ o - para que #source:<value> siga siendo un filtro utilizable.

Cuando una llamada a herramienta omite source, el servidor atribuye la escritura al cliente MCP conectado desde el protocolo de inicio (cursor, codex, claude-ai, …), con respaldo a mcp-agent cuando el cliente no envía ningún nombre. Dos editores que comparten un agente siguen siendo distinguibles en el recuerdo sin configuración adicional.

Configuración

Toda la configuración se realiza mediante variables de entorno (orden de carga: entorno del proceso → archivo .env en el directorio de trabajo).

VariableObligatoriaPredeterminadaDescripción
MOORCHEH_API_KEYClave API de Moorcheh.
MEMANTO_DEFAULT_AGENT_IDrecomendadaningunaAgente predeterminado. Cuando se configura, las llamadas a herramientas pueden omitir agent_id.
MEMANTO_AGENT_PATTERNnotoolPatrón (support/project/tool) utilizado al crear automáticamente el agente predeterminado.
MEMANTO_AGENT_AUTO_CREATEnotrueCrear el agente predeterminado en el primer uso si falta. Los agentes explícitos no predeterminados deben existir previamente.
MEMANTO_SESSION_DURATION_HOURSnopredeterminado del servidor (6)Vida útil de la sesión en horas.
MEMANTO_EXPOSE_ADMINnofalseRegistrar las 4 herramientas de gestión de agentes.
MEMANTO_MCP_TRANSPORTnostdiostdio, sse o streamable-http.
MEMANTO_MCP_HOSTno127.0.0.1Host de enlace para transportes sse/http.
MEMANTO_MCP_PORTno8765Puerto de enlace para transportes sse/http.
MEMANTO_MCP_LOG_LEVELnoINFONivel de registro (los registros siempre se envían a stderr).

Las banderas de CLI (memanto-mcp --transport sse --port 9000) anulan las variables de entorno.

Ejecución sobre HTTP / SSE

Para clientes remotos o configuraciones multiproceso, ejecuta el servidor sobre un transporte de red:

# Streamable HTTP (recommended modern transport)
memanto-mcp --transport streamable-http --host 0.0.0.0 --port 8765

# Server-Sent Events (older, still widely supported)
memanto-mcp --transport sse --host 0.0.0.0 --port 8765

Luego apunta tu cliente a http://your-host:8765/mcp (o la ruta que anuncie el transporte elegido). Combínalo con un proxy inverso + autenticación para implementaciones de producción: el servidor en sí autentica la conexión ascendente hacia Moorcheh usando tu clave API, pero no autentica a los clientes MCP entrantes.

Cómo funciona

┌──────────────┐    MCP/stdio    ┌──────────────────┐    Moorcheh API    ┌─────────────┐
│ Claude / IDE │ ──────────────► │  memanto-mcp     │ ────────────────► │   Moorcheh  │
│   (client)   │ ◄────────────── │  (this package)  │ ◄──────────────── │   Service   │
└──────────────┘    tool calls   └──────────────────┘    HTTPS+API key   └─────────────┘
                                          │
                                          └─ uses memanto.cli.client.SdkClient
                                             (same client the Memanto CLI uses)
  • Al iniciar, se validan los ajustes; la clave API se verifica de forma diferida en la primera llamada a una herramienta.
  • En la primera invocación de una herramienta de memoria para un agente determinado, el servidor garantiza que el agente exista (lo crea automáticamente si es necesario) y activa una sesión JWT. Las sesiones se renuevan automáticamente antes de expirar, por lo que las conexiones MCP de larga duración nunca encuentran un error de sesión expirada a mitad de conversación.
  • El servidor mantiene intencionalmente la sesión activa al apagarse: las sesiones JWT están limitadas por TTL y otros clientes de Memanto (CLI, REST) pueden querer compartirlas.

Inserción programática

Si estás construyendo un host MCP personalizado o conectando este servidor a un proceso más grande, puedes construir la instancia de FastMCP tú mismo:

from memanto_mcp import MCPServerSettings, build_server

settings = MCPServerSettings()  # reads env / .env
mcp = build_server(settings)

# Add your own tools alongside Memanto's, then run.
mcp.run(transport="stdio")

Solución de problemas

SíntomaSolución
configuration error: MOORCHEH_API_KEY is requiredConfigura la variable de entorno en el bloque env de la configuración de tu cliente MCP.
Agent '…' does not exist and MEMANTO_AGENT_AUTO_CREATE is disabledVuelve a habilitar la creación automática o llama a create_agent (herramientas de administración) / memanto agent create <id> una vez.
Las herramientas nunca aparecen en el clienteConfirma que el cliente sea compatible con MCP y que la ruta de configuración coincida. Revisa el registro MCP del cliente: las líneas de stderr del servidor (con prefijo memanto_mcp) aparecerán allí al iniciar.
Salida distorsionada en modo stdioAlgo de tu lado está escribiendo en stdout — ese canal está reservado para JSON-RPC. Mueve los registros a stderr. El servidor en sí solo escribe en stderr.
Primera llamada lentaCosto de arranque en frío: importación del SDK + primera activación de sesión. Las llamadas posteriores reutilizan la sesión activa.

Licencia

MIT — igual que el proyecto Memanto. Consulta LICENCIA.

Enlaces