Una memoria para todas tus IAs

Integración MCP

MemoryFirst expone un servidor Model Context Protocol (MCP). Cualquier cliente compatible (Claude, ChatGPT, Cursor, LM Studio, un agente propio) lee y escribe en la memoria de tu empresa con tu identidad y con citas verificables. Un modelo local sin cliente MCP también puede usarla: recibe el contexto como texto.

Dos formas de conectar

Remoto (recomendado)

Un solo endpoint HTTP para todos los clientes y todos los miembros del equipo. No instala nada; funciona desde el móvil y desde claude.ai.

https://api.memoryfirst.ai/mcp

Local (stdio)

Un proceso en tu máquina para clientes que solo hablan stdio (Claude Desktop antiguo, scripts). Mismas herramientas; variables MEMORYFIRST_API_URL, MEMORYFIRST_API_KEY y MEMORYFIRST_PROJECT.

npx @memoryfirst/mcp-server

Autenticación e identidad

  • Clave API: para scripts, CLI y agentes. Se crea en Ajustes → Claves API. Se envía como Authorization: Bearer mf_live_…
  • OAuth: para personas: el cliente abre la pantalla de acceso de MemoryFirst, entras con tu cuenta y cada llamada queda firmada con tu nombre y con la IA que la hizo. Sin copiar claves.
  • Equipo: cada miembro del workspace tiene un rol: propietario, miembro o solo lectura. Un lector puede recordar y preguntar, pero no escribir. Los eventos guardan quién los escribió (persona y modelo).

Configuración por cliente

  • Claude Code: claude mcp add --transport http memoryfirst https://api.memoryfirst.ai/mcp --header "Authorization: Bearer mf_live_…"
  • claude.ai, Claude Desktop, Claude iOS: Ajustes → Conectores → Añadir conector personalizado con la URL de arriba; el acceso se hace por OAuth.
  • ChatGPT: Ajustes → Conectores → Crear con la URL de arriba. Usa las herramientas search y fetch del conector, además de las mf_*.
  • Cursor, VS Code, Windsurf: añade en el fichero de servidores MCP: { "mcpServers": { "memoryfirst": { "url": "https://api.memoryfirst.ai/mcp", "headers": { "Authorization": "Bearer mf_live_…" } } } }
  • LM Studio, Open WebUI, Jan: cualquier cliente de escritorio con soporte MCP usa la misma URL y la misma clave; el modelo que corre en tu máquina lee y escribe en la memoria de la empresa.
  • Agentes propios: JSON-RPC 2.0 sobre HTTP (initialize, tools/list, tools/call), sin estado. Cualquier SDK de MCP funciona.

Modelos locales sin cliente MCP

Ollama, llama.cpp o cualquier modelo que solo acepte un system prompt: pide el contexto del proyecto ya acotado a un presupuesto de tokens y pásaselo. Es el mismo estado que ven los demás; cambia el cliente, no la memoria.

# Estado del proyecto en markdown, dentro del presupuesto pedido
CONTEXT=$(curl -s "https://api.memoryfirst.ai/v1/brain/context?project=lexiel&max_tokens=3000" \
  -H "Authorization: Bearer $MEMORYFIRST_API_KEY")

ollama run llama3.1 --system "$CONTEXT"

En Claude Code esto ya está automatizado (contexto al arrancar, sesión destilada a eventos al terminar) con @memoryfirst/claude-hooks.

Herramientas

Las mismas en remoto y en local; la paridad se comprueba en tests.

  • mf_recall · decisiones, bloqueos, deploys y estado vigente de un proyecto
  • mf_query · pregunta en lenguaje natural con citas; acotable por partición y tipo de documento
  • mf_record · graba una decisión, un bloqueo, un deploy, un contacto con cliente; firmada con tu identidad y tu IA
  • mf_morning · brief de las últimas 24 h del workspace, por tipo
  • mf_state · estado vigente del proyecto (lo que sigue en vigor, no la historia)
  • mf_skills · catálogo de skills compilados desde preguntas repetidas y su SKILL.md
  • mf_assets · registro de activos y proyectos del workspace
  • search · búsqueda para el conector de ChatGPT
  • fetch · un evento completo por id, para el conector de ChatGPT

Citas verificables

Cada respuesta de mf_query lleva un spanRef por cita: página y caja en documentos, milisegundos en audio, id de evento en el brain. Tu cliente los muestra como enlaces a la fuente.

{
  "answer": "The contract scope is fixed-fee €4,500.",
  "citations": [
    {
      "sourceType": "doc",
      "spanRef": { "page": 3, "bbox": [120, 450, 380, 60] },
      "snippet": "Fixed fee of €4,500 for the scope defined..."
    },
    {
      "sourceType": "ops",
      "spanRef": { "source": "brain.event:decision_taken:78048c2c-…", "eventId": "chunk:0" },
      "snippet": "Decision (Jose, claude-code): fixed fee confirmed with the client on 12 May."
    }
  ]
}

Esquemas detallados, códigos de error y límites por plan, en la referencia de API. ¿Falta algo? Escribe a jose.diaz@memoryfirst.ai.