Dirección y transporte

https://api.senden.mx/mcp

El transporte es Streamable HTTP. El servidor expone 12 herramientas. Los montos van en centavos. Empieza con whoami para ver tus sucursales y permisos.

Incluida en Senden Crecimiento ($2,999 MXN/mes) y Senden Cadena (cotización), con uso mensual razonable.

Autorización

OAuth 2.1 con PKCE (S256). El usuario del restaurante inicia sesión con su cuenta de Senden, con su verificación en dos pasos si la tiene, y elige los permisos y las sucursales en una pantalla de consentimiento de Senden. Puede autorizar el dueño, un administrador o un gerente; el gerente solo con sus sucursales.

Discovery

https://api.senden.mx/.well-known/oauth-authorization-server
https://api.senden.mx/.well-known/oauth-protected-resource/mcp

Registro de clientes

Se acepta un documento de metadata de cliente (CIMD) alojado en claude.ai, chatgpt.com, vscode.dev o cursor.com, o el registro dinámico. En los dos casos el cliente debe estar en una lista cerrada de apps conocidas y usar una de estas direcciones de redirección:

AppRedirect URI
Claudehttps://claude.ai/api/mcp/auth_callback
ChatGPThttps://chatgpt.com/connector_platform_oauth_redirect y https://chatgpt.com/connector/oauth/{id}
VS Codehttps://vscode.dev/redirect y https://insiders.vscode.dev/redirect
Cursorcursor://anysphere.cursor-mcp/oauth/callback, https://www.cursor.com/agents/mcp/oauth/callback y https://www.cursor.com/bot/mcp/oauth/callback
Apps en tu computadora (Claude Code, Codex, Gemini CLI, VS Code)http://localhost o http://127.0.0.1, con la ruta /callback, /oauth/callback o /. El puerto es libre.

Permisos (scopes)

ScopeQué permite
menu:readBuscar en el menú y ver un producto con sus modificadores.
reservations:readConsultar disponibilidad y reservaciones.
reservations:writeCrear y cancelar reservaciones.
orders:readConsultar el estado de un pedido.
orders:writeCotizar y crear pedidos para recoger.
reports:readReportes de ventas.
offline_accessRenovar la sesión sin volver a pedir permiso.

Herramientas

HerramientaQué hacePermisoTipo
whoamiTus sucursales (branchId) y los permisos de la conexión. Empieza por aquí.NingunoLectura
get_branchNombre, dirección, zona horaria y horarios de la sucursal.NingunoLectura
search_menuBusca productos disponibles. Filtra por texto y categoría; hasta 50 por página con nextCursor.menu:readLectura
get_menu_itemDetalle de un producto con sus grupos de modificadores.menu:readLectura
check_availabilityHorarios para reservar en una fecha local (YYYY-MM-DD) y un número de personas. Es orientativo.reservations:readLectura
create_reservationCrea una reservación. Queda pendiente hasta que el restaurante la confirme.reservations:writeEscritura
get_reservationConsulta una reservación creada por la misma persona desde sus apps conectadas (o por la misma llave de API).reservations:readLectura
cancel_reservationCancela una reservación creada por la misma persona desde sus apps conectadas (o por la misma llave de API).reservations:writeEscritura
quote_pickup_orderCotiza un pedido para recoger con pago en sucursal. El servidor calcula los precios y no crea nada.orders:writeLectura
create_pickup_orderCrea un pedido para recoger con pago en sucursal. El restaurante lo acepta como cualquier pedido en línea.orders:writeEscritura
get_order_statusEstado de un pedido creado por la misma persona desde sus apps conectadas (o por la misma llave de API), con texto para el cliente.orders:readLectura
get_sales_reportVentas por día, producto, categoría y hora, cancelaciones y descuentos, entre dos fechas locales. Hasta 92 días. Las cifras se actualizan al abrir el dashboard del Admin, así que pueden ir atrasadas respecto al día en curso.reports:readLectura

quote_pickup_order pide orders:write aunque no crea nada. Las reservaciones nacen pendientes y los pedidos son para recoger con pago en sucursal. Las herramientas que consultan una reservación o un pedido solo ven los que creó la misma persona desde sus apps conectadas (o la misma llave de API).

Límites

  • 120 consultas por minuto por conexión.
  • 20 escrituras por minuto por conexión.
  • Las escrituras aceptan idempotencyKey. Manda una distinta por intento y podrás reintentar sin duplicar.
  • Los reportes cubren hasta 92 días por consulta.
  • Uso mensual razonable. El consumo se ve en el Admin.

Ejemplos de configuración

VS Code (mcp.json)

{
  "servers": {
    "senden": {
      "type": "http",
      "url": "https://api.senden.mx/mcp"
    }
  }
}

Gemini CLI

gemini mcp add --transport http senden https://api.senden.mx/mcp

Claude y ChatGPT

Agrega un conector nuevo y pega https://api.senden.mx/mcp. Después inicia sesión con tu cuenta de Senden.

Claude Code, Codex y Cursor

Agrega un servidor MCP por HTTP con la misma dirección.

Errores comunes

CódigoQué pasóQué hacer
401Falta el token o venció.Reconecta la app y repite el inicio de sesión.
402 PLAN_LIMIT_EXCEEDEDEl plan no incluye la función o llegó a su límite.Revisa que la cuenta esté en Crecimiento o Cadena y el uso del mes en el Admin.
403 INSUFFICIENT_SCOPELa conexión no tiene el permiso de esa herramienta.Reconecta y marca el permiso.
403 BRANCH_NOT_ALLOWEDLa sucursal no está entre las que autorizaste.Llama a whoami para ver las sucursales o reconecta con esa sucursal.
429Pasaste de 120 consultas o 20 escrituras por minuto.Espera y reintenta. Si mandas idempotencyKey, el reintento no duplica.

¿Tu app no está en la lista?

El acceso se limita a apps conocidas. Escríbenos y la agregamos.