# Gemini CLI

Use a configuração OAuth-first do Gemini CLI sem colocar credenciais bearer em settings.json.

- Canonical: https://docs.xmemo.dev/pt-br/docs/mcp/gemini
- Locale: pt-BR
- Content-Locale: pt-BR
- Canonical-Content-Digest: 0a6aa86e8077d8de0a7e7252c8c9f50fdcc1bda86fd0811f01ffd845f1fd82b8
- Edition-Digest: 9803c02a42149f2d1e0857a49856caf6ab3329f1a6cf4a7344e623390b4675a4
- Source-Revision: sha256:5d9fac621d4eb098b31be9ae2758612bab42ce262e90628f5866b3d7ef7f90b9

## Pré-requisitos

Use as ferramentas de desenvolvedor do Gemini CLI com sua configuração MCP revisada em settings.json e suporte a OAuth no navegador. O suporte se aplica à ferramenta de desenvolvedor Gemini CLI e não implica integração no web chat para consumidores do Gemini (gemini.google.com) ou aprovação na galeria oficial de extensões.

- Endpoint: https://xmemo.dev/mcp.
- Modo de autenticação: OAuth.
- Arquivo de configuração: ~/.gemini/settings.json.
- Transporte: Streamable HTTP (httpUrl para o endpoint hospedado).
- Repositório da extensão: github:yonro/xmemo-gemini-cli (manifesto 0.1.0; instalação documentada do GitHub, sem inferência de aprovação da galeria oficial).

## Instalação / configuração

Instale a extensão usando o comando de extensões do Gemini CLI ou mescle manualmente o bloco de configuração do XMemo em ~/.gemini/settings.json sob mcpServers.

- Comando de extensão: gemini extensions install https://github.com/yonro/xmemo-gemini-cli (ancorado em yonro/xmemo-gemini-cli @ 39e25b185b README).
- Alternativa manual: mescle o bloco XMemo em ~/.gemini/settings.json, preservando httpUrl e os cabeçalhos de identidade.

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

## Defina a credencial

Nenhuma chave — conclua o OAuth no navegador depois de reiniciar o Gemini CLI. Não coloque XMEMO_KEY nem um cabeçalho Authorization em settings.json.

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

## Gere / confirme XMEMO_AGENT_INSTANCE_ID

Gere um valor não secreto por instalação local do Gemini CLI, persista-o fora do git e reutilize-o após reinícios para manter estável a atribuição.

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

## Preserve o bloco de configuração existente

Use o bloco de configuração Gemini XMemo existente renderizado nesta página. Preserve httpUrl e os cabeçalhos de identidade não secretos; não adicione Authorization ou 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 o cliente

Reinicie o Gemini CLI depois de salvar settings.json para carregar o endpoint e a identidade de instância atual; em seguida conclua o consentimento OAuth.

## Teste com uma chamada real de recall

Faça a primeira chamada MCP somente para leitura. Esta é uma invocação real de recall, não um placeholder de health check, e não grava memória.

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

## Resposta esperada (formato literal)

Uma chamada bem-sucedida retorna o formato público de texto ranqueado abaixo; reference e content são valores reais do espaço de memória autorizado.

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

## Erros comuns

As falhas de OAuth do Gemini CLI usam o contrato de erros OAuth hospedado.

- invalid_grant — o código de autorização OAuth é inválido, expirou ou já foi usado: reconecte o Gemini CLI e autorize novamente.
- invalid_target — o recurso OAuth não corresponde a este servidor MCP: use https://xmemo.dev/mcp e reconecte.
- 403 insufficient_scope — o grant não inclui memory:read: aprove o escopo exigido e reconecte.

## 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}"
      }
    }
  }
}
```
