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

# Claude Code

> Agrega Sailer CRM en un comando, inicia sesión y pregunta en qué workspace estás.

Diez minutos. Al final Claude Code está llamando tools contra un workspace
real de Sailer. La primera conexión no puede escribir — es deliberado.

<Steps>
  <Step title="Qué necesitas">
    Claude Code instalado, y una cuenta de Sailer cuyo email pertenece a un
    workspace. No necesitas un token de API.
  </Step>

  <Step title="Agrega el servidor CRM">
    ```bash theme={null}
    claude mcp add --transport http sailer-crm \
      https://mcp.chatsailer.com/mcp/crm
    ```

    `sailer-crm` es el nombre local que vas a ver en `/mcp`. La URL debe
    incluir `/mcp/` antes de `/crm`.

    Esto se guarda solo para el **proyecto actual**. Para tenerlo en cada
    proyecto:

    ```bash theme={null}
    claude mcp add --scope user --transport http sailer-crm \
      https://mcp.chatsailer.com/mcp/crm
    ```
  </Step>

  <Step title="Autentica">
    Dentro de Claude Code, corre:

    ```
    /mcp
    ```

    Selecciona **sailer-crm**, elige autenticar. Tu browser se abre.

    Tres pantallas, en este orden:

    1. **Auth0 sign-in** — tu email y password de Sailer. ¿Ya estás con sesión
       iniciada? Este paso se salta.
    2. **"Claude Code wants to connect"** — si perteneces a un workspace se
       muestra como texto confirmado. Si perteneces a varios, elige uno. La
       lista de permisos se actualiza para coincidir con ese workspace.
    3. Haz clic en **Approve**. El browser dice que puedes cerrar la pestaña.

    No llenes un Client ID ni un Client Secret en ningún lado. Sailer registra
    a Claude Code él mismo.

    De vuelta en la terminal, `/mcp` debería mostrar **sailer-crm — connected**.
  </Step>

  <Step title="Compruébalo">
    Pregunta, en lenguaje natural:

    > Which Sailer workspace am I connected to?

    Claude va a llamar `whoami` y decirte el nombre del workspace, la
    organización padre, el email que autorizó la conexión y los scopes que
    otorgaste. Esa sola respuesta confirma auth, tenancy y tool-calling.
  </Step>

  <Step title="Haz algo real">
    Sigue siendo solo lectura. Prueba:

    > How many contacts are in this workspace?

    > Describe the CRM schema — what custom fields does this workspace have?

    > Find contacts created in the last 7 days.

    [Herramientas de CRM](/es/mcp/crm) es el catálogo. Los writes necesitan
    una reconexión con scopes extra — [Autenticación](/es/mcp/auth).
  </Step>
</Steps>

## Agrega Studio también

El mismo comando, URL distinta. Un grant de CRM no va a funcionar aquí —
cada servidor es su propio audience OAuth.

```bash theme={null}
claude mcp add --transport http sailer-studio \
  https://mcp.chatsailer.com/mcp/studio
```

Luego `/mcp` → **sailer-studio** → autentica de nuevo. [Herramientas de Studio](/es/mcp/studio).

## Este cliente

**Project vs user scope.** El default es este proyecto. `--scope user` es el
que quieres si sigues preguntando "¿por qué no está Sailer aquí?" en el
siguiente repo.

**CI, sin browser.** Un admin emite un token de workspace y lo pasas como
header. Nunca lo commitees.

```bash theme={null}
claude mcp add --transport http sailer-crm \
  https://mcp.chatsailer.com/mcp/crm \
  --header "Authorization: Bearer sk_live_…"
```

`whoami` va a reportar `credential: api_token` y `reads_company_wide: true`.
Ver [Autenticación](/es/mcp/auth).

**Cambiar de workspace, o otorgar writes.** Quita y agrega de nuevo, luego
elige en el consent:

```bash theme={null}
claude mcp remove sailer-crm
claude mcp add --transport http sailer-crm \
  https://mcp.chatsailer.com/mcp/crm
```

Las fallas compartidas (URL incorrecta, email desconocido, scope faltante)
están en [Solución de problemas](/es/mcp/troubleshooting).
