# Tokens de servicio

> Conecta a Dilohost programas, integración continua o agentes que no pueden iniciar sesión con OAuth, usando un token con caducidad que se manda en una cabecera.

Lo normal es que tu agente inicie sesión en Dilohost con OAuth: le das permiso una vez en el navegador y listo (ver [Conectar tu agente](/docs/conectar)). Pero hay casos en los que nadie puede abrir un navegador: un flujo de integración continua, un script que publica de noche o un agente propio que no sabe hacer OAuth. Para eso están los **tokens de servicio**.

## Antes de empezar

- Solo el **propietario** de la cuenta puede crear y revocar tokens. Ver [Equipo](/docs/cuenta/equipo).
- Un token da acceso a **su cuenta** y nada más.

## Crear un token

1. Entra en el panel de [dilohost.es](https://dilohost.es/login) y ve a **Ajustes → Tokens de servicio**.
2. Pulsa **Nuevo**, ponle un nombre que diga para qué es (por ejemplo, «GitHub Actions de la tienda») y elige cuántos días será válido: entre 1 y 365.
3. **Copia el token en ese momento.** Empieza por `dhs_` y no se volverá a mostrar: Dilohost solo guarda una huella, no el token.

Puedes tener hasta 20 tokens activos por cuenta. En la lista ves cuándo caduca cada uno y cuándo se usó por última vez.

## Usarlo

El token se manda como cabecera HTTP en cada petición al servidor MCP:

```text
Authorization: Bearer dhs_…
```

Dirección del servidor:

```text
https://mcp.dilohost.es/mcp
```

Por ejemplo, en Claude Code:

```bash
claude mcp add --transport http dilohost https://mcp.dilohost.es/mcp --header "Authorization: Bearer $DILOHOST_TOKEN"
```

O en un cliente que se configura con JSON (el formato exacto depende de cada cliente):

```json
{
  "mcpServers": {
    "dilohost": {
      "url": "https://mcp.dilohost.es/mcp",
      "headers": { "Authorization": "Bearer ${DILOHOST_TOKEN}" }
    }
  }
}
```

> [!WARNING]
> Trata el token como una contraseña: guárdalo en los secretos de tu CI o en una variable de entorno, nunca en el código ni en un repositorio.

## Qué puede hacer

Un token actúa como un **usuario del equipo**: puede hacer lo mismo que una persona invitada (publicar, crear bases de datos, borrar con confirmación…), pero no lo que es solo del propietario (equipo, plan, pagos, tope de gasto). Ver [Equipo](/docs/cuenta/equipo#dos-papeles).

Las acciones que [piden confirmación](/docs/seguridad/confirmaciones) también la piden con un token: la primera llamada devuelve un código y la acción solo se hace al repetirla con él. En un proceso automático, decide con cuidado qué acciones confirmas sin mirar.

Todo lo que se hace con un token queda en el registro de actividad de la cuenta, igual que lo que hacen las personas.

## Cuándo deja de valer

Un token deja de funcionar:

- cuando caduca;
- cuando lo revocas en el panel (**Revocar**), al momento;
- si quien lo creó deja de ser propietario de la cuenta.

## Relacionado

- [Servidor MCP](/docs/referencia/servidor-mcp)
- [Confirmaciones](/docs/seguridad/confirmaciones)
- [Formas de subir el código](/docs/publicar/subir-codigo)
