NAO
Compra local en Guadalajara: productos por colonia, carrito y pedidos de prueba (demo, sin cobro).
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- LOWen buscar_productos
- LOWen ver_producto
- LOWen crear_pedido
- LOWen agregar_al_carrito
- LOWen ver_carrito
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"nao": {
"url": "https://nao.hechq.com/api/mcp"
}
}
}Puntos de conexión remotos
https://nao.hechq.com/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢buscar_productos(texto, categoria, colonia, codigo_postal, precio_max, ...)
Busca productos en NAO (Guadalajara): vendedores de NAO y negocios locales de tu colonia (ferreterías, tlapalerías, refaccionarias, papelerías, farmacias, tienditas…). Con colonia o código postal solo devuelve lo que sí llega ahí (los negocios locales entregan el mismo día, a 2 km, con repartidor de colonia). Precios en MXN.
Esquema de entrada
{
"type": "object",
"properties": {
"texto": {
"description": "Qué buscas, en español: 'leche', 'tenis', 'café en grano'.",
"type": "string",
"maxLength": 120
},
"categoria": {
"description": "Categoría opcional.",
"type": "string",
"enum": [
"hogar",
"moda",
"cafe-cocina",
"electronica",
"papeleria",
"abarrotes",
"bebidas",
"panaderia",
"botanas",
"limpieza",
"frutas-verduras",
"mascotas",
"ferreteria",
"farmacia",
"refacciones",
"comida"
]
},
"colonia": {
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'.",
"type": "string",
"maxLength": 80
},
"codigo_postal": {
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'.",
"type": "string",
"maxLength": 10
},
"precio_max": {
"description": "Precio máximo por pieza en MXN.",
"type": "number",
"exclusiveMinimum": 0
},
"limite": {
"description": "Máximo de resultados (12 por omisión).",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ver_producto(producto_id)
Detalle de un producto de NAO: precio, stock, vendedor, imagen y condiciones de entrega.
Esquema de entrada
{
"type": "object",
"properties": {
"producto_id": {
"type": "string",
"minLength": 2,
"maxLength": 90,
"description": "id del producto (p-...) o su slug."
}
},
"required": [
"producto_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buscar_tienditas_cerca(colonia, codigo_postal, texto)
Encuentra negocios locales en NAO (ferreterías, tlapalerías, refaccionarias, papelerías, farmacias, tienditas…) que entregan en una colonia o código postal de Guadalajara, ordenados por distancia. Cada uno entrega el mismo día con un repartidor de su propia colonia (2 km a la redonda, envío 25 MXN).
Esquema de entrada
{
"type": "object",
"properties": {
"colonia": {
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'.",
"type": "string",
"maxLength": 80
},
"codigo_postal": {
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'.",
"type": "string",
"maxLength": 10
},
"texto": {
"description": "Filtro opcional por nombre.",
"type": "string",
"maxLength": 80
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ver_tiendita(tiendita_id)
Ficha de un negocio local o vendedor: horario, colonia, radio de entrega, repartidores de colonia y catálogo completo.
Esquema de entrada
{
"type": "object",
"properties": {
"tiendita_id": {
"type": "string",
"minLength": 2,
"maxLength": 90,
"description": "id (t-...) o slug del negocio local o vendedor."
}
},
"required": [
"tiendita_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴crear_pedido(productos, carrito, colonia, codigo_postal, recibe, ...)
Cierra la compra: crea un pedido de PRUEBA en NAO (pago al recibir; en la demo no se cobra nada y nadie entrega). Manda 'productos' (ids de buscar_productos) o 'carrito' (el token de agregar_al_carrito). Entrega: colonia o código postal de Guadalajara; si la persona no dio ninguna, NO preguntes: NAO usa una entrega de demo en la colonia del negocio. No hace falta pedir nombre ni teléfono. Después comparte la liga 'seguimiento' y la de 'vista_del_negocio' (ahí se ve cómo le llega el pedido al negocio). Devuelve el id del pedido, su token (guárdalo: estado_pedido lo pide), el total en MXN, la liga de seguimiento y la liga al panel donde la persona ve lo que su bot compró. Usa 'comprador' para agrupar los pedidos de una misma persona en su panel. Manda 'clave_idempotencia' (p. ej. un UUID) para reintentar sin duplicar: con la misma clave y los mismos datos devuelve el mismo pedido.
Esquema de entrada
{
"type": "object",
"properties": {
"productos": {
"description": "Lista de {producto_id, cantidad}. Opcional si mandas 'carrito'.",
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"producto_id": {
"type": "string",
"minLength": 2,
"maxLength": 90
},
"cantidad": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"producto_id"
]
}
},
"carrito": {
"description": "Token del carrito que devolvió agregar_al_carrito o ver_carrito (en vez de 'productos').",
"type": "string",
"maxLength": 3000
},
"colonia": {
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'.",
"type": "string",
"maxLength": 80
},
"codigo_postal": {
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'.",
"type": "string",
"maxLength": 10
},
"recibe": {
"description": "Nombre de quien recibe (opcional).",
"type": "string",
"maxLength": 60
},
"telefono": {
"description": "Teléfono de quien recibe, 10 dígitos de México (opcional).",
"type": "string",
"maxLength": 20
},
"referencia": {
"description": "Referencia de entrega: calle, número, 'portón negro'.",
"type": "string",
"maxLength": 200
},
"notas": {
"type": "string",
"maxLength": 500
},
"agente": {
"description": "Quién compra: 'Claude', 'ChatGPT', 'Grok', 'Muse', 'bot de mi empresa'…",
"type": "string",
"maxLength": 60
},
"comprador": {
"description": "Código del panel de la persona (letras y números). Si no lo mandas, NAO le crea uno privado.",
"type": "string",
"maxLength": 40
},
"clave_idempotencia": {
"description": "Clave única de este intento de compra (p. ej. un UUID). Si reintentas con la misma clave y los mismos datos, devuelve el mismo pedido en vez de crear otro.",
"type": "string",
"minLength": 8,
"maxLength": 100,
"pattern": "^[A-Za-z0-9._:-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agregar_al_carrito(carrito, producto_id, cantidad)
Agrega un producto al carrito de esta compra (o lo resta con cantidad negativa; en 0 se quita). La primera vez no mandes 'carrito'; después manda siempre el token 'carrito' que te devolvió la llamada anterior. Devuelve el carrito con total y envío. Para cerrar: crear_pedido con ese 'carrito'.
Esquema de entrada
{
"type": "object",
"properties": {
"carrito": {
"description": "Token del carrito (c1.…) de la llamada anterior. Vacío = carrito nuevo.",
"type": "string",
"maxLength": 3000
},
"producto_id": {
"type": "string",
"minLength": 2,
"maxLength": 90,
"description": "id del producto (p-...) de buscar_productos."
},
"cantidad": {
"description": "Piezas a sumar (1 por omisión). Negativo resta.",
"type": "integer",
"minimum": -20,
"maximum": 20
}
},
"required": [
"producto_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ver_carrito(carrito)
Muestra el carrito (productos, envío, total y la entrega de demo) a partir de su token. No compra nada: para pedir usa crear_pedido con el mismo 'carrito'.
Esquema de entrada
{
"type": "object",
"properties": {
"carrito": {
"description": "Token del carrito (c1.…).",
"type": "string",
"maxLength": 3000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢estado_pedido(pedido_id, token)
Consulta el estado de un pedido de NAO (recibido → preparando → en camino → entregado) y sus productos. Pide el id y el token que devolvió crear_pedido.
Esquema de entrada
{
"type": "object",
"properties": {
"pedido_id": {
"type": "string",
"minLength": 4,
"maxLength": 20,
"description": "id del pedido, p. ej. NAO-7K2Q9X."
},
"token": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "token del pedido que devolvió crear_pedido."
}
},
"required": [
"pedido_id",
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia