> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido de Mnemom Gateway

> Gobernanza completa de agentes — verificación, análisis de integridad y aplicación de políticas — en 5 minutos sin cambios de código

# Mnemom Gateway

Mnemom Gateway es una pasarela de IA transparente que se sitúa entre tu aplicación y cualquier proveedor de LLM. Proporciona toda la stack de confianza de Mnemom desde el primer momento:

* [AP-Traces](/concepts/ap-traces) verificables
* Comprobaciones de integridad [AIP](/concepts/integrity-checkpoints) por turno
* Aplicación de políticas a partir de las secciones `capabilities` y `enforcement` de la tarjeta de alineamiento
* Protección [Safe House](/concepts/safe-house) configurada mediante la [tarjeta de protección](/concepts/protection-card)
* Verificación contra la [tarjeta de alineamiento](/concepts/agent-cards) del agente

Tus prompts y respuestas pasan sin cambios. Tus claves API nunca salen de tu máquina.

<Note>
  Estos inicios rápidos están disponibles en [español (Español)](/es/quickstart/overview) y en [francés (Français)](/fr/quickstart/overview) — se han traducido seis páginas por idioma.
</Note>

<Tip>
  ¿Buscas lanzar un **agente de codificación gobernado** en lugar de conectar las llamadas API de tu propia aplicación? Consulta [`mnemom agent`](/gateway/agent) — instálalo una vez, ejecuta `mnemom agent`, y lanza Claude Code a través de la gateway con un agente ya configurado para ti. `mnemom agent` solo está disponible por invitación.
</Tip>

<Steps>
  <Step title="Instalar la CLI">
    ```bash theme={null}
    npm install -g @mnemom/mnemom
    ```
  </Step>

  <Step title="Autenticarse">
    Inicia sesión en tu cuenta de Mnemom:

    ```bash theme={null}
    mnemom login
    ```

    Esto abre un flujo de inicio de sesión en el navegador y guarda tu token de autenticación en `~/.mnemom/auth.json`. En una máquina sin navegador local (SSH, un contenedor), usa en su lugar `mnemom login --no-browser` — consulta la [referencia de la CLI](/gateway/cli#authentication).

    <Note>
      Tus claves API de proveedor **no** se envían a Mnemom. Solo se usan hashes SHA-256 para identificar tu agente. El hash no se puede revertir para recuperar tu clave.
    </Note>
  </Step>

  <Step title="Hacer una llamada a la API">
    Usa la URL de la pasarela en lugar de la URL directa del proveedor. Incluye el encabezado `x-mnemom-agent` para nombrar a tu agente — se creará automáticamente en la primera llamada dentro del Sandbox de Mnemom, sin propietario. Antes de que los comandos de lectura (`mnemom status`, `logs`, `integrity`, `card show`) puedan resolverlo, debes reclamar el agente en tu cuenta (siguiente paso). Usa `-i` para imprimir los encabezados de respuesta y así capturar el id `X-Mnemom-Agent` que necesitarás para la reclamación.

    ```bash theme={null}
    # Instead of https://api.anthropic.com/v1/messages
    curl -i https://gateway.mnemom.ai/anthropic/v1/messages \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "x-mnemom-agent: my-agent" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{
        "model": "claude-sonnet-4-6",
        "max_tokens": 1024,
        "messages": [{"role": "user", "content": "Hello"}]
      }'
    ```

    La misma llamada contra OpenAI usa la ruta `/openai` y el encabezado `Authorization: Bearer`:

    ```bash theme={null}
    # Instead of https://api.openai.com/v1/chat/completions
    curl -i https://gateway.mnemom.ai/openai/v1/chat/completions \
      -H "Authorization: Bearer $OPENAI_API_KEY" \
      -H "x-mnemom-agent: my-agent" \
      -H "content-type: application/json" \
      -d '{
        "model": "gpt-5",
        "messages": [{"role": "user", "content": "Hello"}]
      }'
    ```

    Y contra Gemini, la ruta `/gemini` con el encabezado `x-goog-api-key`:

    ```bash theme={null}
    # Instead of https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
    curl -i https://gateway.mnemom.ai/gemini/v1beta/models/gemini-2.5-flash:generateContent \
      -H "x-goog-api-key: $GEMINI_API_KEY" \
      -H "x-mnemom-agent: my-agent" \
      -H "content-type: application/json" \
      -d '{
        "contents": [{"parts": [{"text": "Hello"}]}]
      }'
    ```

    La pasarela admite los tres proveedores en sus rutas estándar:

    | Proveedor | Ruta de la Gateway | Equivalente directo |
    | - | - | - |
    | Anthropic | `gateway.mnemom.ai/anthropic/*` | `api.anthropic.com/*` |
    | OpenAI | `gateway.mnemom.ai/openai/*` | `api.openai.com/*` |
    | Gemini | `gateway.mnemom.ai/gemini/*` | `generativelanguage.googleapis.com/*` |

    <Tip>
      La mayoría de los SDK y frameworks te permiten sobrescribir la URL base. Configúrala con la ruta de la pasarela para tu proveedor y todo lo demás funciona sin cambios.
    </Tip>
  </Step>

  <Step title="Lo que conviene leer a la vuelta">
    La pasarela añade encabezados de respuesta que llevan el veredicto de Safe House, metadatos de correlación de soporte y entradas de aviso. Una integración conforme debería analizar y observar estos encabezados — como mínimo, mostrarlos cuando algo sale mal.

    | Encabezado | Cuándo se emite | Qué hacer con él |
    | - | - | - |
    | `X-Mnemom-Request-Id` | Siempre | UUIDv4 por solicitud. **Regístralo siempre.** Pégalo en un ticket de soporte y podemos recuperar cada línea de log de la solicitud. |
    | `X-Mnemom-Verdict` | Siempre (gateway), salvo en una respuesta larga no-streaming confirmada de forma anticipada (consulta la nota más abajo) | Estructurado `front=…; autonomy=…; integrity=…; back=…` con cada valor en `{pass \| observed \| nudged \| enforced \| unverified}`. Analízalo; el estado de los cuatro puntos de control indica lo que Safe House observó (front+back), lo que CLPI hizo con las llamadas a herramientas (autonomy), y lo que AIP hizo con el razonamiento (integrity). `front` es un acumulado sobre cada superficie entrante que llevó la solicitud — el mensaje *y* cada resultado de herramienta filtrado dentro de esa misma solicitud — así que `front=enforced` en un `200` significa que un resultado de herramienta fue retenido o modificado antes de que el modelo lo viera. Consulta [Cuándo se activa la puerta de entrada](/concepts/safe-house#when-the-front-door-runs). `unverified` es exclusivo de integrity: el analizador falló, así que no existe un veredicto fiable — `enforce` retiene la respuesta (fail-closed, sigue siendo 2xx), `observe`/`nudge` la reenvían y registran el estado unverified. Nunca se reporta como `pass`. |
    | `X-Mnemom-Advisory` | Cuando la gateway tiene avisos | JSON compacto `[{source, text, severity?, id?}, …]`. Muestra las entradas en tu UI de operador / logs. Se omite por completo cuando está vacío. |
    | `X-Mnemom-Agent` | Cuando la solicitud está vinculada a un agente nombrado | El identificador de agente al que la gateway resolvió tu solicitud (p. ej., `mnm-a1b2c3d4…`). Útil para cruzar filas del panel de control. |
    | `X-Mnemom-Session` | En sesiones multi-turno | Token de correlación de sesión estable. Devuélvelo en el siguiente turno para mantener la continuidad de la sesión. |
    | `Retry-After` | En `429` y algunos `503` | Segundos a esperar antes de reintentar. **Respétalo.** |
    | `X-Mnemom-Effective-Mode` | Solo cuando un turno se ejecutó en un modo distinto del configurado | Hoy un único valor: `passthrough; reason=balance_depleted; configured=enforce` — el saldo µ de un agente en `enforce` estaba agotado, así que el turno se reenvió sin los controles de Trust OS. El `X-AIP-Verdict: clear` / `integrity=pass` de esa respuesta **no** significa que el turno se haya verificado. Recarga saldo para restablecer la aplicación. |
    | `X-Mnemom-Deferred` | En una respuesta larga no-streaming que la gateway confirmó de forma anticipada | Consulta la nota más abajo. |

    <Note>
      Una solicitud no-streaming a `/anthropic/v1/messages`, `/openai/v1/chat/completions` o `/openai/v1/responses` que sigue en curso tras unos 75 segundos se confirma de forma anticipada: la gateway envía un `200` cuyo cuerpo empieza con bytes de mantenimiento (saltos de línea) y después el JSON final (los espacios iniciales son JSON válido, así que los clientes JSON lo analizan sin cambios). En esa respuesta, `X-AIP-Verdict` es `pending`, `X-Mnemom-Verdict` y `X-Policy-Verdict` están **ausentes** (nunca interpretes su ausencia como un aprobado), y `X-Mnemom-Deferred` indica lo que los encabezados anticipados no pudieron llevar. Un error tras la confirmación cierra la conexión a mitad del cuerpo — un error de transporte que tu SDK puede reintentar — en lugar de un cuerpo de error dentro del `200`.
    </Note>

    Análisis rápido:

    ```typescript theme={null}
    const v = response.headers.get('X-Mnemom-Verdict')!;
    const checkpoints = Object.fromEntries(v.split(';').map(s => s.trim().split('=')));
    // checkpoints.front, checkpoints.autonomy, checkpoints.integrity, checkpoints.back

    if (checkpoints.integrity === 'enforced') {
      // Same-turn AIP replacement happened — surface that in your UI.
    }
    if (checkpoints.integrity === 'unverified') {
      // Analyzer failed — no trustworthy verdict. In enforce this response
      // was already withheld/replaced; in observe/nudge it was forwarded.
    }
    ```

    Consulta la [referencia de encabezados](/api-reference/headers) para el conjunto canónico completo + parsers por lenguaje, y la [referencia de errores](/api-reference/errors) para el mapeo de veredicto a código de estado.
  </Step>

  <Step title="Reclamar tu agente">
    La pasarela creó tu agente en el Sandbox compartido de Mnemom (sin propietario). Reclamarlo demuestra que posees la clave del proveedor y lo mueve a tu cuenta para que todos los comandos de lectura puedan resolverlo.

    Copia el valor `X-Mnemom-Agent` de los encabezados de respuesta anteriores, luego ejecuta:

    ```bash theme={null}
    mnemom agent claim mnm-550e8400-e29b-41d4-a716-446655440000 --name my-agent --key $ANTHROPIC_API_KEY
    ```

    Reemplaza `mnm-550e8400-e29b-41d4-a716-446655440000` con el id real de tu encabezado `X-Mnemom-Agent`.

    * Pasa `--name` coincidiendo con el valor `x-mnemom-agent` que enviaste en la llamada a la gateway (omite `--name` si hiciste esa llamada sin el encabezado). Si el id, `--name` o `--key` no resuelven a un agente real, la reclamación devuelve `404` — revisa el id `X-Mnemom-Agent` y que `--name`/`--key` coincidan con la llamada a la gateway.
    * La clave se hashea localmente (SHA-256) y nunca se envía a Mnemom.
    * El agente cae en tu organización activa (definida con `mnemom org use <slug>`), o en tu organización personal si no has definido una; pasa `--org <slug>` para reclamarlo en una organización compartida específica.
    * La operación es idempotente — es seguro ejecutarla más de una vez.

    <Note>
      Una respuesta `503` significa que tu organización personal todavía se está aprovisionando. Espera unos segundos y reintenta. Para errores `403` de cross-tenant o de no-miembro, consulta la [guía del flujo de reclamación de agentes](/guides/agent-claim-flow).
    </Note>
  </Step>

  <Step title="Comprobar el estado">
    Verifica que la pasarela sea accesible y que tu agente esté conectado:

    ```bash theme={null}
    mnemom status --agent my-agent
    ```

    Esto imprime una checklist de autenticación / gateway / conectividad API, luego el ID de tu agente, la URL de la gateway y un enlace al panel de control, seguido de un resumen de trazas una vez que el agente tenga tráfico.
  </Step>

  <Step title="Ver trazas">
    Después de hacer llamadas API a través de la pasarela, mira lo que se rastreó:

    ```bash theme={null}
    mnemom logs --agent my-agent
    ```

    Cada traza se imprime como su propio bloque — marca de tiempo, acción, tipo y (cuando está presente) el extracto de razonamiento y cualquier violación de política. Usa `mnemom logs --agent my-agent --limit 20` para mostrar más entradas.
  </Step>

  <Step title="Comprobar la actividad">
    Consulta la actividad de comportamiento AAP de tu agente — total de trazas, cuántas se verificaron limpias, y cualquier violación:

    ```bash theme={null}
    mnemom activity --agent my-agent
    ```

    ```text Output theme={null}
    Agent Activity (AAP)
      Score:      94.0% [█████████░]
      Total:      12 traces
      Verified:   11
      Violations: 1
    ```

    <Note>
      `mnemom integrity` es un alias obsoleto de este mismo comando — `mnemom activity` es el nombre actual. A pesar del nombre, esto muestra la verificación de trazas AAP, no los [puntos de control de integridad](/concepts/integrity-checkpoints) AIP por turno; los datos de puntos de control AIP aún no se exponen a través de la CLI.
    </Note>
  </Step>

  <Step title="Ver tu tarjeta de alineamiento">
    Consulta la tarjeta de alineamiento asignada a tu agente:

    ```bash theme={null}
    mnemom card show --agent my-agent
    ```

    Personalízala publicando tu propia tarjeta:

    ```bash theme={null}
    mnemom card publish my-card.yaml --agent my-agent
    ```
  </Step>

  <Step title="Explorar el panel de control">
    Los datos de tu agente están disponibles en [mnemom.ai/dashboard](https://mnemom.ai/dashboard) una vez que hayas iniciado sesión. El panel de control muestra:

    * **Línea de tiempo de conciencia** -- Una vista cronológica de cada traza, punto de control de integridad y acción de aplicación
    * **Tarjeta de alineamiento** -- Los valores y límites declarados de tu agente
    * **Puntuaciones de integridad** -- Historial de veredictos AIP y análisis de tendencias
    * **Alertas de deriva** -- Notificaciones cuando el comportamiento diverge del alineamiento declarado
    * **Registro de aplicación** -- Registros de nudges y bloqueos (si la aplicación está habilitada)
  </Step>
</Steps>

## Agentes nombrados

Si ejecutas varios agentes detrás de la misma clave API, usa el encabezado `x-mnemom-agent` para darle a cada uno una identidad distinta. La ruta del proveedor permanece sin cambios — la pasarela aplica hash `SHA256(apiKey + '|' + agentName)` para derivar un ID de agente único. Consulta [Identidad de agente](/concepts/agent-identity) para la derivación completa del ID, las rutas de creación automática frente al registro programático, y cómo la rotación de claves interactúa con la identidad del agente.

```bash theme={null}
curl https://gateway.mnemom.ai/anthropic/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "x-mnemom-agent: my-coder" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'
```

Cada agente nombrado obtiene su propio historial de trazas, puntuaciones de integridad y detección de deriva — incluso si comparten una clave API. Los agentes se crean automáticamente en la primera llamada API; reclámalos una vez (ver el paso de reclamación anterior) para vincular el agente a tu cuenta.

<Tip>
  También puedes crear agentes de forma programática a través de la [API CRUD de Agentes](/api-reference/endpoint/post-agents) si quieres pre-crearlos con metadatos antes de su primera solicitud.
</Tip>

## Proveedores compatibles

| Proveedor | Modelos | Soporte Thinking / AIP | Encabezado de autenticación |
| - | - | - | - |
| Anthropic | Claude Fable 5.1, Claude Fable 5, Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5.5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 4.6, Claude Haiku 4.5 | Completo (bloques de razonamiento analizados directamente) | `x-api-key` |
| OpenAI | GPT-6.1 Sol, GPT-6 Astra, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5, GPT-5 Codex, o3, o3-mini | No disponible a través de la gateway por ahora | `Authorization: Bearer` |
| Gemini | Gemini 3.8 Flash, Gemini 3.5 Flash-Lite, Gemini 2.5 Pro, Gemini 2.5 Flash | Completo (partes de pensamiento analizadas directamente) | `x-goog-api-key` |

### Compatibilidad AIP

| Proveedor / Modelo | Soporte AIP | Método |
| - | - | - |
| Modelos de razonamiento de Anthropic (Opus, Sonnet, Fable) | Completo | Bloques de razonamiento analizados directamente |
| Gemini 2.5/3 con thinking | Completo | Partes de pensamiento analizadas directamente |
| Modelos sin razonamiento | Solo rastreo | Veredicto `clear` sintético, sin llamada al LLM de análisis |
| OpenAI (todos los modelos, incluida la serie o) | No disponible | La puerta `/openai` de la gateway hace proxy de Chat Completions, que nunca devuelve contenido de razonamiento — consulta [Provider Support](/concepts/provider-support#2-openai--no-thinking-trace-inspection-through-the-gateway-today) para la divulgación completa |

<Note>
  **Elementos thinking en las respuestas proxied.** Safe House / AIP activa el thinking extendido para analizar el razonamiento del agente en cada turno. Las respuestas proxied incluyen por tanto un elemento de contenido `thinking` en el array `content` junto al bloque `text` estándar. Los clientes que asumen arrays de contenido solo de texto deben actualizarse para manejar o ignorar los bloques thinking. Los tokens de salida de thinking se facturan como tokens de salida estándar — este comportamiento es intencional y no se puede deshabilitar.
</Note>

## Qué se rastrea

Mnemom Gateway construye [AP-Traces](https://github.com/mnemom/aap) que registran:

* **Acción** -- Qué hizo el agente (tipo, nombre, categoría)
* **Decisión** -- Qué alternativas se consideraron y por qué se seleccionó una
* **Escalamiento** -- Si el agente escaló a un humano y por qué
* **Verificación** -- Si la traza es coherente con la tarjeta de alineamiento declarada del agente
* **Integridad** -- Análisis AIP por turno de los bloques de razonamiento, con veredicto (`clear` / `review_needed` / `boundary_violation`)

## Qué NO se almacena

<Warning>
  Tus **prompts**, **respuestas** y **claves API** nunca son almacenados por Mnemom. La pasarela procesa las solicitudes en memoria y las reenvía al proveedor. Solo se conservan metadatos de traza estructurados (acciones, decisiones, veredictos) y los resultados del análisis de bloques de razonamiento.
</Warning>

## Modos de aplicación

Mnemom Gateway admite tres modos de aplicación cuando se detecta una violación de integridad:

| Modo | Comportamiento |
| - | - |
| `observe` | Detecta violaciones, las registra, no toma ninguna acción (predeterminado) |
| `nudge` | Detecta violaciones, inyecta retroalimentación en la siguiente solicitud del agente mediante el prompt del sistema. El agente lo ve y puede autocorregirse. |
| `enforce` | Bloquea en el mismo turno tanto en solicitudes streaming como no streaming. La solicitud sigue completándose con un estado `2xx` — el cuerpo de la respuesta se reemplaza por un mensaje de intervención en voz del agente y `X-Mnemom-Verdict` reporta `integrity=enforced`. En streaming esto añade latencia porque la respuesta se evalúa antes de entregarse. |

Establece el modo de aplicación actualizando la tarjeta de alineamiento del agente. `integrity_mode` y `autonomy_mode` son campos de primer nivel en la tarjeta de alineamiento; el endpoint heredado `/v1/agents/{id}/enforcement` fue retirado el 2026-05-14.

Tres caminos, elige el que se ajuste a tu flujo de trabajo:

* **Panel de control:** abre `https://mnemom.ai/dashboard/agents/{your-agent-id}/card`, alterna `integrity_mode`, guarda. El camino más fácil.
* **CLI:** `mnemom card edit` abre el YAML actual de la tarjeta de alineamiento en `$EDITOR`; cambia `integrity_mode: nudge`, guarda, la CLI publica y recompone.
* **Programático:** [`PUT /v1/alignment/agent/{agent_id}`](/api-reference/endpoint/put-agents-agent-id-alignment-card) con la tarjeta canónica completa. Consulta la [guía de gestión de tarjetas](/guides/card-management) para el flujo de leer-modificar-escribir y el [esquema de tarjeta de alineamiento](/specifications/alignment-card-schema) para los requisitos de campos.

## Próximos pasos

* [Ver la descripción general del protocolo](/protocols/overview) para entender cómo funcionan juntos AAP, AIP y CLPI
* [Configurar la aplicación de políticas](/guides/policy-management) para definir reglas de gobernanza para el uso de herramientas de tu agente
* [Explorar los conceptos](/concepts/alignment-cards) para entender las tarjetas de alineamiento, las trazas y la integridad
* [Descripción general de CLPI](/concepts/clpi) para entender la capa de gobernanza (aplicación de políticas, recuperación de confianza, anclaje on-chain)
* [Leer sobre la aplicación](/gateway/enforcement) para la documentación detallada de los modos de aplicación
* [Auto-alojar](/es/quickstart/self-hosted) si necesitas control completo de residencia de datos


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.