# Copilot CLI

Configure el cliente MCP de Copilot CLI de token de portador directo con XMEMO_KEY y atribución de instancia estable.

- Canonical: https://docs.xmemo.dev/es/docs/mcp/copilot-cli
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: 3d18b1df6bc7de8f1e1af14a294640eb5bf7a2d0176a2523f2f62b790b975e99
- Edition-Digest: 438a298df8c78943d8b8e6e7f0ee8dd89e254ee998ba42ca9d8f801e1c1dbee2
- Source-Revision: sha256:96e19501d8a5b0d1cc66043cdcd452344580fd7ffafd84f8562409ac6df29e12

## Requisitos previos

Use GitHub Copilot CLI con su compatibilidad de configuración MCP. Esta ruta está intencionalmente separada de la ruta OAuth de VS Code / GitHub Copilot Chat. Copilot CLI admite encabezados HTTP personalizados en ~/.copilot/mcp-config.json o conectividad de proxy local a través de memory-os-cli.

- Endpoint: https://xmemo.dev/mcp.
- Transporte: Streamable HTTP (type: "http" en la configuración) o proxy local (xmemo mcp proxy).
- Modo de autenticación: aplique Authorization a través de la interfaz de usuario/CLI oficial de MCP de Copilot o una referencia de secreto compatible; no asuma la expansión de variables de entorno (${env:…}) en los valores de los encabezados.
- Archivo de configuración: ~/.copilot/mcp-config.json.
- Estado de preparación: la expansión directa de variables de entorno en encabezados de Copilot CLI es not-tested; la ruta de proxy local está verificada a través de MCP-SETUP-GUIDE.md de memory-os-cli.

## Instalación / configuración

Añada el bloque de servidor XMemo en ~/.copilot/mcp-config.json bajo mcpServers o ejecútelo a través del proxy local de memory-os-cli. No reutilice la entrada servers de VS Code; Copilot CLI es una ruta de cliente diferente.

- HTTP remoto directo: añada el bloque XMemo a ~/.copilot/mcp-config.json con type: "http", url: "https://xmemo.dev/mcp", timeout: 30000 y tools: ["*"].
- Ruta de proxy local: ejecute xmemo setup copilot y mantenga xmemo mcp proxy ejecutándose en una terminal en segundo plano (anclado a MCP-SETUP-GUIDE.md de memory-os-cli).
- La expansión directa de variables de entorno en encabezados (${env:XMEMO_KEY}) es not-tested y no está admitida por las plantillas del Core.

```bash
# Local proxy path (recommended if direct remote HTTP is unsupported):
xmemo login
xmemo setup copilot
xmemo mcp proxy  # keep running in a background terminal
```

## Configurar la credencial

Establezca el valor del encabezado Authorization utilizando la interfaz de usuario/CLI oficial de MCP de Copilot o una referencia de secreto compatible (reemplazando <replace-with-XMEMO_KEY-or-supported-secret-reference> con su token real). Al utilizar el proxy local, xmemo login gestiona la credencial automáticamente.

```bash
# For local proxy:
xmemo login
# For direct configuration, apply token through Copilot CLI or supported secret reference
```

## Genere / confirme XMEMO_AGENT_INSTANCE_ID

Genere un valor no secreto por cada instalación local de Copilot 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-copilot-cli-instance-id>'
# Persist and reuse this value for the same local install
```

## Conserve el bloque de configuración existente

Utilice el bloque de configuración autoritativo de XMemo para Copilot CLI que coincide con la plantilla del Core (mcp_config.py:267). Aplique el valor real de Authorization a través de la interfaz de usuario/CLI oficial de MCP de Copilot o una referencia de secreto compatible; no confíe en la expansión no verificada del encabezado ${env:XMEMO_KEY}.

```json
{
  "mcpServers": {
    "XMemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp",
      "tools": [
        "*"
      ],
      "timeout": 30000,
      "headers": {
        "Authorization": "Bearer <replace-with-XMEMO_KEY-or-supported-secret-reference>",
        "X-Memory-OS-Agent-ID": "copilot-cli",
        "X-Memory-OS-Agent-Instance-ID": "<stable-local-copilot-cli-instance-id>"
      }
    }
  }
}
```

## Reiniciar el cliente

Reinicie Copilot CLI después de cambiar mcp-config.json. Si utiliza el proxy local, asegúrese de que 'xmemo mcp proxy' permanezca ejecutándose en una terminal en segundo plano antes de reiniciar Copilot CLI.

## 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

Copilot CLI es un cliente de token directo o proxy; los errores comunes están relacionados con tokens de autenticación, el ciclo de vida del proxy o la aprobación de ámbitos.

- 401 invalid_token — XMEMO_KEY falta, está caducado, revocado o sin expandir: verifique la referencia de secreto activa o vuelva a ejecutar xmemo login para el proxy local.
- 403 insufficient_scope — el token no otorga memory:read: emita un token con el ámbito requerido.
- Connection refused — si utiliza el proxy local, verifique que xmemo mcp proxy se esté ejecutando en una terminal en segundo plano.
- Literal '${env:XMEMO_KEY}' enviado en el encabezado — es posible que Copilot CLI no expanda las variables de entorno en los valores de encabezado; use la referencia de secreto o el proxy local.
- Los valores no válidos de XMEMO_AGENT_INSTANCE_ID se normalizan sin atribución de instancia en lugar de generar un error de autenticación.

## Copilot CLI

Direct client: set XMEMO_KEY in the user environment or a supported secret reference, then replace the stable instance placeholder before applying the reviewed config.

```
{
  "mcpServers": {
    "XMemo": {
      "type": "http",
      "url": "http://127.0.0.1:8765/mcp"
    }
  }
}
```
