# Gemini CLI

Use la configuración de Gemini CLI con OAuth como primera opción, sin colocar credenciales bearer en settings.json.

- Canonical: https://docs.xmemo.dev/es/docs/mcp/gemini
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: 0a6aa86e8077d8de0a7e7252c8c9f50fdcc1bda86fd0811f01ffd845f1fd82b8
- Edition-Digest: 907204f44692e0ee96648f02452d7839ca4fc37001fde024fc138819622c5c60
- Source-Revision: sha256:5d9fac621d4eb098b31be9ae2758612bab42ce262e90628f5866b3d7ef7f90b9

## Requisito previo

Utilice las herramientas para desarrolladores de Gemini CLI con su configuración MCP revisada en settings.json y compatibilidad con OAuth en el navegador. El soporte se aplica a la herramienta para desarrolladores Gemini CLI y no implica integración en el chat web de consumo de Gemini (gemini.google.com) ni la aprobación oficial de la galería de extensiones.

- Punto de conexión: https://xmemo.dev/mcp.
- Modo de autenticación: OAuth.
- Archivo de configuración: ~/.gemini/settings.json.
- Transporte: Streamable HTTP (httpUrl para el punto de conexión alojado).
- Repositorio de extensiones: github:yonro/xmemo-gemini-cli (manifiesto 0.1.0; instalación documentada de GitHub, no se infiere aprobación oficial de galería).

## Instalación / configuración

Instale la extensión mediante el comando de extensiones de Gemini CLI, o combine manualmente el bloque de configuración de XMemo en ~/.gemini/settings.json bajo mcpServers.

- Comando de extensión: gemini extensions install https://github.com/yonro/xmemo-gemini-cli (anclado a yonro/xmemo-gemini-cli @ 39e25b185b README).
- Alternativa manual: combine el bloque XMemo en ~/.gemini/settings.json, conservando httpUrl y los encabezados de identidad.

```bash
gemini extensions install https://github.com/yonro/xmemo-gemini-cli
```

## Configure la credencial

No se necesita ninguna clave: complete el OAuth en el navegador después de reiniciar Gemini CLI. No coloque XMEMO_KEY ni un encabezado Authorization en settings.json.

```text
No XMEMO_KEY
Complete browser OAuth in Gemini CLI
```

## Genere / confirme XMEMO_AGENT_INSTANCE_ID

Genere un valor no secreto por cada instalación local de Gemini CLI, persístalo fuera de git y reutilícelo después de reiniciar para mantener estable la atribución.

```bash
export XMEMO_AGENT_INSTANCE_ID='<stable-local-instance-id>'
```

## Conserve el bloque de configuración existente

Use el bloque de configuración de Gemini CLI XMemo que aparece en esta página. Conserve httpUrl y los encabezados de identidad no secretos; no añada Authorization ni XMEMO_KEY.

```json
{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "gemini-cli",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
```

## Reinicie el cliente

Reinicie Gemini CLI después de guardar settings.json para que cargue el endpoint y la identidad de instancia actual; después complete el consentimiento OAuth.

## Pruebe con una llamada real a recall

Haga que la primera llamada MCP sea de sólo lectura. Es una invocación real de recall, no un marcador de health check, y no escribe en la memoria.

```text
recall({ query: "connection check", limit: 1 })
```

## Respuesta esperada (forma literal)

Una llamada correcta devuelve la forma pública de texto clasificado que aparece abajo; la referencia y el contenido son valores reales del espacio de memoria autorizado.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## Errores comunes

Los fallos OAuth de Gemini CLI usan el contrato de errores OAuth alojado.

- invalid_grant — el código de autorización OAuth no es válido, ha caducado o ya se utilizó: vuelva a conectar Gemini CLI y autorice de nuevo.
- invalid_target — el recurso OAuth no corresponde a este servidor MCP: use https://xmemo.dev/mcp y vuelva a conectar.
- 403 insufficient_scope — el grant no incluye memory:read: apruebe el scope requerido y vuelva a conectar.

## Gemini CLI

OAuth client: merge this XMemo block into settings.json, set one stable XMEMO_AGENT_INSTANCE_ID for local attribution, then restart Gemini CLI and complete MCP OAuth. Do not add Authorization or XMEMO_KEY to this snippet.

```
{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "gemini-cli",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
```
