# Servidor MCP

> Conecte Claude, Cursor, Codex o cualquier cliente MCP a los registros de cumplimiento de un restaurante con una URL y su clave de API.

Source: https://developers.backresto.com/es/docs/mcp

BackResto ejecuta un servidor **Model Context Protocol** en
`https://api.backresto.com/mcp`. Conecte a él su herramienta de IA con su clave
de API y podrá hacer preguntas sobre los registros de un restaurante en la
propia interfaz de la herramienta: sin código, nada que instalar por nuestra
parte, nada que alojar por la suya.

Lee a través de la misma API de partners que todo lo demás, con la misma clave.
**No puede ver nada que la clave no pudiera ver ya**: las concesiones de
restaurante y de scope las aplica la API, no la herramienta que conecte.

## Conecte su herramienta

Primero necesita una clave; vea [Obtener una clave](https://developers.backresto.com/es/docs/access). Después,
elija su herramienta:

### Claude

1. **Añadir un conector personalizado**: En Claude, en la aplicación de escritorio o en claude.ai, abra Personalizar, luego Conectores, y haga clic en Añadir conector personalizado. En un plan Team o Enterprise, un propietario lo añade primero una vez en la configuración de la organización.

2. **Póngale nombre y pegue la dirección**: Llámelo BackResto y pegue esta URL. En Autenticación y Cliente OAuth, Claude detecta nuestro servidor y preselecciona Iniciar sesión ahora y Registrarse automáticamente: mantenga esas dos opciones. No introduzca ID de cliente ni secreto. Luego haga clic en Añadir.

```
https://api.backresto.com/mcp
```

3. **Conéctese con su clave**: Haga clic en Conectar. Se abre una página de BackResto: pegue su clave, que empieza por brp_, y haga clic en Conectar. Claude vuelve con el conector activado y sus cinco herramientas.

4. **Listo**: Pregunte con palabras normales por lo que registra su restaurante: temperaturas, limpieza, etiquetas, entregas. La clave ya sabe cuál es.

### Claude Code

1. **Registrar el servidor**: Abra un terminal y ejecute este comando, con su clave en lugar de brp_YOUR_KEY.

```sh
claude mcp add --transport http --scope user backresto \
  https://api.backresto.com/mcp \
  --header "Authorization: Bearer brp_YOUR_KEY"
```

2. **Comprobar la conexión**: Inicie Claude Code y escriba /mcp. backresto aparece como conectado, con cinco herramientas.

3. **Listo**: Pregunte con palabras normales por lo que registra su restaurante: temperaturas, limpieza, etiquetas, entregas. La clave ya sabe cuál es.

### Cursor

1. **Abrir los ajustes de MCP**: En Cursor, vaya a Settings, luego a Tools & MCP, y haga clic en New MCP Server. Eso abre mcp.json.

2. **Añadir el servidor**: Pegue esto en mcp.json, con su clave en lugar de brp_YOUR_KEY. El servidor aparece en la lista con cinco herramientas.

```json
{
  "mcpServers": {
    "backresto": {
      "type": "http",
      "url": "https://api.backresto.com/mcp",
      "headers": {
        "Authorization": "Bearer brp_YOUR_KEY"
      }
    }
  }
}
```

3. **Listo**: Pregunte con palabras normales por lo que registra su restaurante: temperaturas, limpieza, etiquetas, entregas. La clave ya sabe cuál es.

### Codex

1. **Poner la clave en el entorno**: Codex lee un token bearer de una variable de entorno en lugar de su archivo de configuración. Añada esta línea a su perfil de shell, con su clave en lugar de brp_YOUR_KEY.

```sh
export BACKRESTO_API_KEY="brp_YOUR_KEY"
```

2. **Registrar el servidor**: Después ejecute esto una vez. Codex enviará el valor de la variable como cabecera Authorization.

```sh
codex mcp add backresto \
  --url https://api.backresto.com/mcp \
  --bearer-token-env-var BACKRESTO_API_KEY
```

3. **Listo**: Pregunte con palabras normales por lo que registra su restaurante: temperaturas, limpieza, etiquetas, entregas. La clave ya sabe cuál es.

### Otra

1. **Abrir los ajustes de MCP de su herramienta**: Busque la sección de MCP o de integraciones y añada un servidor remoto con Streamable HTTP. Si su herramienta solo pide una URL, abre una página de BackResto donde pega la clave, y la cabecera sobra.

2. **Introducir la dirección**: Esta es la URL del servidor.

```
https://api.backresto.com/mcp
```

3. **Añadir su clave como cabecera**: Envíela con cada petición como cabecera Authorization.

```
Authorization: Bearer brp_YOUR_KEY
```

4. **Listo**: Pregunte con palabras normales por lo que registra su restaurante: temperaturas, limpieza, etiquetas, entregas. La clave ya sabe cuál es.

## Las herramientas

Cinco herramientas: una que encuentra el restaurante, y cuatro que leen sus
[colecciones](https://developers.backresto.com/es/docs/collections).

| Herramienta | Qué hace |
| --- | --- |
| `backresto_list_restaurants` | Lista los restaurantes que alcanza la clave, con sus scopes en cada uno. |
| `backresto_list_collections` | Lista las colecciones concedidas a esta clave, con el scope que abre cada una. Es la primera llamada adecuada cuando no sabe qué alcanza la clave. |
| `backresto_list_records` | Lee una página de registros de una colección, tombstones incluidos. Recibe `collection`, y opcionalmente `limit` (1-100, 50 por defecto) y `cursor`. |
| `backresto_get_record` | Obtiene un registro por `collection` y `recordId`. |
| `backresto_list_record_assets` | Lista los archivos adjuntos a un registro (`cleaning-task-pictures`, `delivery-pictures`, `traceability-labels` o `drive-files`) como URL firmadas, y muestra las fotografías al modelo como imágenes que puede mirar. |

Las entregas son dos de esas colecciones, `deliveries` y `delivery-pictures`, y
se leen con las mismas herramientas que todo lo demás. Consulte
[Entregas](https://developers.backresto.com/es/docs/deliveries) para saber qué significan sus campos.

`restaurantId` es opcional en todas partes. Si lo omite, se usa el restaurante
de la clave: un restaurante con una sola clave nunca necesita conocer su
identificador. Solo una clave que alcanza varios restaurantes tiene que elegir,
y el error nombra las opciones.

Las cinco están declaradas de solo lectura e idempotentes, así que un cliente
bien hecho no le pedirá permiso en cada llamada como lo hace con una
herramienta que escribe.

Dos límites prácticos. Las fotografías se incrustan para el modelo hasta **diez
imágenes y unos 7,5 MB** por llamada a `backresto_list_record_assets`; lo que pase de ahí sigue apareciendo en
el resumen, con su URL y el motivo por el que no se mostró. Y todo el endpoint
comparte el [presupuesto](https://developers.backresto.com/es/docs/rate-limits) de la API de partners, 300
peticiones por minuto y clave: una llamada a una herramienta es una petición,
algo a lo que una conversación nunca se acercará y un bucle sí.

## Proteger la clave

La clave es todo su acceso, y la configuración de un cliente MCP es un archivo
corriente en un portátil.

- **Nunca haga commit de ese archivo.** Si su herramienta guarda la
  configuración en un repositorio, haga referencia a una variable de entorno o
  a un almacén de secretos del sistema, como hace la configuración de Codex de
  arriba.
- **Dé a cada máquina su propia clave.** Una clave por portátil significa que un
  portátil perdido cuesta una revocación, no una rotación en todas sus
  integraciones.
- **Pregúntenos cuándo se usó una clave por última vez** si sospecha que queda
  una copia activa en algún sitio. Vemos la última autenticación de cada clave,
  y una revocación es el mismo correo.

## Conectarse solo con la URL

Claude (aplicación de escritorio y claude.ai), ChatGPT y otras herramientas que
solo piden una URL de servidor se conectan por OAuth: se registran solas en
BackResto y luego abren una página de BackResto donde pega su clave una vez.
Nada que instalar y ningún archivo de configuración. La herramienta guarda la
clave y la envía por usted: llega exactamente a lo que llega la clave, y
revocar la clave la desconecta.

Todavía no existe el inicio de sesión con una cuenta de BackResto: la clave
sigue siendo la credencial. Si eso es lo que le separa de una integración,
dígalo: sube en la lista.

## En qué es buena

En concreto, con las herramientas conectadas, un responsable de operaciones
puede preguntar:

- *«¿Qué entregas se rechazaron el mes pasado, y por qué?»*
- *«Muéstreme todas las entregas de pollo por encima de 4 °C este trimestre.»*
- *«Muéstreme las fotos de la entrega rechazada el martes: ¿se ve el daño?»*
- *«¿Qué neveras se salieron de rango más a menudo, y en qué zona?»*
- *«¿Bajaron a tiempo todos los ciclos de enfriamiento la semana pasada?»*
- *«¿Qué tareas de limpieza se saltaron, y cuáles no tienen fotografía?»*

Las tres primeras leen las colecciones `deliveries` y `delivery-pictures`, el
resto leen otras [colecciones](https://developers.backresto.com/es/docs/collections), y cada una de ellas solo lo
que se le concedió a su clave. Las respuestas salen de los mismos registros que leería un inspector, a
través de las mismas concesiones que emitió el restaurante.

A un modelo que lee colecciones hay que decirle qué está leyendo: un snapshot de
lo que recibió la API, no un historial completo garantizado. Si pone esto delante
de un cliente, ponga esa frase al lado.
