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/mcpLocal (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-serverAutenticació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 proyectomf_query· pregunta en lenguaje natural con citas; acotable por partición y tipo de documentomf_record· graba una decisión, un bloqueo, un deploy, un contacto con cliente; firmada con tu identidad y tu IAmf_morning· brief de las últimas 24 h del workspace, por tipomf_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.mdmf_assets· registro de activos y proyectos del workspacesearch· búsqueda para el conector de ChatGPTfetch· 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.