development #ia #mcp #marketing #marca #claude #gemini #gpt

Tu IA no es incoherente, está amnésica: cómo MCP le da memoria de marca a Claude, Gemini y GPT

Le pides 10 posts a la IA y parecen escritos por 10 empresas distintas. El problema no es ChatGPT — es que cada conversación arranca en cero. Así montamos 6 capas de memoria de marca con MCP en LexGuard.

V

Víctor Rojas

CEO, Aztecknology

Tu IA no es incoherente, está amnésica: cómo MCP le da memoria de marca a Claude, Gemini y GPT

El problema no es el modelo

Le pides a ChatGPT 10 posts para tu marca. Lees el primero y el décimo y parecen escritos por dos empresas distintas. Mañana abres otra conversación y la IA ya no recuerda tu paleta, tu tono ni la campaña actual. La semana entrante “cita” un post que jamás publicaste.

El reflejo natural es echarle la culpa al modelo: “ChatGPT alucina”, “Gemini se contradice”, “Claude pierde el hilo”. Pero Gemini 3, Claude 4.7 y GPT-5.1 ya son buenos suficientes para escribir copy de marca. Lo que les falta no es capacidad, es estado persistente entre sesiones.

La conversación termina, el contexto se pierde. La próxima vez es tabula rasa. Y “hacer un prompt más largo” — pegar tu brand guide en PDF al inicio de cada conversación — es como tratar de operar Excel pegando tus hojas en un email. Consume tokens, queda obsoleto, no escala.

La solución correcta es darle a la IA un sistema operativo con herramientas. Eso es exactamente lo que MCP (Model Context Protocol) permite. Aquí te cuento cómo lo montamos en LexGuard, una de las plataformas que construimos en Aztecknology, y por qué creemos que es el patrón que va a definir el marketing automatizado de los próximos años.

MCP en 90 segundos

Model Context Protocol es un estándar para que cualquier LLM hable con servidores de herramientas externos. En vez de “te paso 50,000 tokens de PDF como prompt”, le dices al modelo: “tienes estas 40 funciones disponibles, cada una con su schema; úsalas cuando necesites”.

La IA decide cuándo pedir contexto. No carga todo, carga lo relevante. Resultado: prompts cortos, contexto siempre fresco, sin desbordar la ventana de contexto.

Lo importante: MCP es agnóstico al modelo. El mismo servidor sirve a Claude, Gemini y GPT. Cambias de proveedor, mantienes la memoria.

Las 6 capas de memoria de marca

Cuando construimos LexGuard nos dimos cuenta de que la coherencia no se logra con una sola “memoria” — se logra con varias capas, cada una con su propio modelo de actualización. Las organizamos así:

CapaPara qué sirveEjemplo de herramientas MCP
Design SystemColores, tipografías, espaciado, componentesget_design_md, set_design_token
Facts verificadosDatos de producto/empresa con verificación auditablesearch_facts(verifiedOnly=true), submit_fact_verification
Ideas BoardBacklog estratégico con priorizaciónlist_ideas, create_idea, update_idea
Team NotesReuniones, decisiones, contexto de la semanalist_team_notes, create_team_note
CampañasTono, instrucciones IA, statuses custom por iniciativaget_campaign, update_campaign
Posts (output)Lo que ya se publicó, drafts, multi-plataformalist_posts, create_post, update_post_status

Cada capa vive en su propio archivo dentro de src/lib/mcp/ y todas se montan en un mismo endpoint MCP. Total: +40 herramientas expuestas a cualquier LLM compatible.

El flujo: leer → escribir → guardar → leer (otra vez)

La parte más bonita de este diseño es el ciclo. Cuando un agente IA recibe “crea 5 posts para Instagram sobre el lanzamiento de la feature X”, el modelo emite esta secuencia de llamadas (Claude, Gemini y GPT lo serializan igual):

[1] list_project_groups
    → "ok, esta marca es 'TacosBot' y la audiencia es restauranteros"
[2] get_campaign(campaignId)
    → tono: informal mexicano, max 2 emojis, no usar "innovador"
[3] get_design_md(projectGroupId)
    → paleta: #FF6B35, #2EC4B6 / font: Inter / NO usar stock photos
[4] search_facts(query="feature X", verifiedOnly=true)
    → 4 hechos verificados sobre la feature, con fuentes
[5] list_team_notes(week="2026-W21")
    → "decisión del lunes: no enfatizar precio, enfatizar ROI"
[6] list_ideas(projectGroupId, status="planned")
    → 3 ideas previas relacionadas
[7] list_posts(projectId, limit=10, orderBy=createdAt)
    → últimos 10 posts publicados — para NO repetir hooks
[8] DRAFT — el LLM compone 5 variantes con todo este contexto
[9] create_post(...) × 5 — cada post se guarda con campaignId,
    projectGroupIds, generationMetadata.prompt

El paso 9 es el que cierra el ciclo. Lo que la IA escribió hoy es lo que la IA leerá mañana en el paso 7 (list_posts). La memoria se construye sola. No hay un “agente de mantenimiento” actualizando archivos — el output del flujo de creación es la entrada del siguiente.

DESIGN.md: tu sistema de diseño como herramienta

Una de las capas que más cambio operativo trajo fue tratar el design system como un archivo markdown estructurado, no como un PDF. Adoptamos la especificación open-source de Google DESIGN.md (todavía en alpha) por cada grupo de proyecto.

---
brand: TacosBot
primary: "#FF6B35"
secondary: "#2EC4B6"
font: Inter
voice: informal, directo
---

## Componentes
- Botón primario: 12px radius, sombra suave...

La herramienta MCP get_design_md lo retorna parseado. La IA puede pedirlo, leerlo, y respetar la paleta cuando sugiere imágenes o estructuras visuales. Cuando el diseñador cambia el primary color, el siguiente post lo refleja sin tocar prompts.

El detalle importante: es el mismo archivo que la UI muestra a los diseñadores. No hay una “versión para humanos” y otra “versión para máquinas”. La fuente de verdad es única.

Facts verificados: append-only, auditables, sin alucinaciones

Esta es la capa que ataca el problema de las alucinaciones, y donde más decisiones de diseño tomamos.

El modelo es así:

  • Una tabla marketingFacts con el hecho en texto plano (ej. “Nuestro plan PRO incluye 10,000 mensajes/mes”).
  • Una tabla marketingFactVerifications append-only — cada verificación queda como un evento histórico. No se puede editar ni borrar. No existe herramienta MCP para eliminar una verificación, por diseño.
  • La IA llama search_facts(query="precios PRO", verifiedOnly=true) y solo recibe hechos con al menos una verificación reciente.
  • Si la IA quiere proponer un hecho nuevo, create_fact lo deja en estado “no verificado” hasta que un humano lo apruebe.

Resultado: cuando la IA escribe “el plan PRO incluye 10,000 mensajes/mes”, sabes que ese dato existe en una tabla auditable — no es una alucinación. Y puedes mostrarle al cliente el log de verificación si te lo pide. Auditoría sin esfuerzo extra.

Ideas Board y Team Notes: lo que el equipo discutió esta semana

Las otras dos capas que sostienen la coherencia táctica son Ideas Board y Team Notes.

  • Ideas Board (Kanban con 6 columnas: backlog → evaluating → planned → in_progress → done / rejected). La IA puede leer “qué ideas están planeadas” y armar posts que las introduzcan progresivamente sin spoilers.
  • Team Notes: notas del equipo (reuniones, decisiones, contexto semanal). La IA lee la nota del lunes “no enfatizar precio esta semana, enfatizar ROI” y respeta ese giro táctico sin que nadie le edite el prompt.

Lo poderoso es que el equipo edita Kanban y notas en la UI normal, y eso es la fuente de verdad que la IA consulta. No hay versión separada para humanos vs para máquinas. Sin sincronizaciones manuales, sin duplicación de información.

Posts como artefactos vivos: estado multi-dimensional

Los posts no son strings sueltos. La tabla marketingPosts tiene estado multi-dimensional:

  • copyStatus: pending | in_progress | done — el copy.
  • uiStatus: pending | in_progress | done — el diseño visual.
  • scheduleStatus: waiting | published — la calendarización.
  • postStatus: pending | approved | in_progress | done — el overall.
  • platform: instagram | twitter | linkedin | facebook | tiktok.
  • contentVariants: array de variantes de copy.
  • source: manual | pipeline — si lo escribió un humano o la IA.
  • customColumns: dimensiones libres por campaña (matriz pain × tono).
  • generationMetadata.prompt: el prompt exacto con el que se generó, para auditar.

Esto importa para la coherencia: cuando un agente revisa list_posts, ve qué se publicó, en qué plataforma, con qué tono, generado con qué prompt — y no repite hooks ni reutiliza el mismo gancho dos veces.

Boxes autónomos: agente IA componiendo las herramientas

LexGuard tiene Boxes: contenedores de agente IA (Claude Code) corriendo de fondo en infraestructura Cloudflare. Un Box compone las herramientas MCP de forma autónoma para tareas multi-paso, sin que un humano esté manejando el flujo turn-by-turn.

El patrón de ejecución del Box sigue 4 reglas:

  1. Plan-then-execute: escribe el plan a pending-actions.md antes de tocar nada.
  2. Read-first: tools list_*, get_*, search_* son siempre seguras de ejecutar sin permiso.
  3. Write-with-approval: tools create_*, update_*, delete_* requieren aprobación humana explícita.
  4. File-based research: resultados grandes se guardan en archivos con un INDEX.md para que la memoria sobreviva turn-to-turn.

Ejemplo concreto: un Box “Generador semanal de contenido”:

  • Lunes 7am: lee list_team_notes(week=current) → entiende prioridades.
  • Lee get_design_md + search_facts(verifiedOnly=true) → carga reglas.
  • Genera 12 variantes en una matriz (pain × tono).
  • create_post × 12 con source="pipeline" y generationMetadata.prompt guardado.
  • Te entrega un Kanban listo para revisar el martes.

Por qué funciona

Si tuviera que resumir en una sola tabla el diagnóstico vs la solución:

Síntoma sin MCPCausa raízCómo lo resuelve
Posts incoherentes entre sesionesSin memoria persistenteCada post se guarda en la BD; la IA lo lee la próxima vez
Tono cambia entre campañasBrand guide pegado en cada prompt, fácil de olvidarget_campaign.aiInstructions es la fuente de verdad
Datos inventadosLLM sin acceso a facts verificablessearch_facts(verifiedOnly=true) + verificaciones append-only
Posts repetidos / hooks recicladosSin memoria de qué ya se publicólist_posts(orderBy=createdAt) antes de cada draft
Colores incorrectos en sugerencias visualesBrand guide en PDF, no en códigoget_design_md con DESIGN.md vivo
”La IA no sabe lo que pasó esta semana”Aislada del equipolist_team_notes y list_ideas con feed en tiempo real

La idea grande

La coherencia no se compra con un modelo más grande. Se construye con estado persistente, fuentes de verdad únicas y un protocolo abierto para que el modelo consulte ese estado cuando lo necesita.

MCP es ese protocolo. Y la inversión real no es en prompts más largos — es en montar las herramientas correctas y mantenerlas vivas. Una vez que las tienes, da igual qué modelo uses esta semana: la memoria es tuya.

En Aztecknology llevamos años haciendo marketing automatizado. Cuando llegó MCP entendimos que la pieza que faltaba no era un modelo más grande, era darle a la IA herramientas con memoria de marca. Si estás peleando con la incoherencia de tu IA — y crees que ya probaste todo — hablemos. Es probable que el problema no esté donde lo estás buscando.


¿Quieres ver el código? El esquema de herramientas MCP que usamos en LexGuard vive en src/lib/mcp/ (post-tools, design-systems-tools, facts-tools, ideas-tools, team-notes-tools, campaign-tools). El registro de las 6 capas se monta en src/pages/api/mcp/marketing.ts. Es un patrón replicable — si te interesa hacerlo tú mismo, hablemos.