NAO MCP
NAO MCP is an official server for the NAO marketplace, enabling AI agents to search for local products in Guadalajara, manage shopping carts, and place test orders with local vendors and delivery riders. It supports Streamable HTTP transport and provides tools for product discovery, cart management, and order status tracking without requiring user authentication for basic read and test purchase operations.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://nao.hechq.com/api/mcpWhat you can do with it
- Search for local products by category and neighborhood
- Add items to a shopping cart and view totals
- Create test orders for local delivery
- Check order status using provided tokens
Source and maintenance
Protocol and capabilities
- Server
- nao-gdl 0.1.0
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- 3 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
buscar_productos — Buscar productos
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"texto": {
"type": "string",
"maxLength": 120,
"description": "Qué buscas, en español: 'leche', 'tenis', 'café en grano'."
},
"limite": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Máximo de resultados (12 por omisión)."
},
"colonia": {
"type": "string",
"maxLength": 80,
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'."
},
"categoria": {
"enum": [
"hogar",
"moda",
"cafe-cocina",
"electronica",
"papeleria",
"abarrotes",
"bebidas",
"panaderia",
"botanas",
"limpieza",
"frutas-verduras",
"mascotas",
"ferreteria",
"farmacia",
"refacciones",
"comida"
],
"type": "string",
"description": "Categoría opcional."
},
"precio_max": {
"type": "number",
"description": "Precio máximo por pieza en MXN.",
"exclusiveMinimum": 0
},
"codigo_postal": {
"type": "string",
"maxLength": 10,
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}ver_producto — Ver producto
Detalle de un producto de NAO: precio, stock, vendedor, imagen y condiciones de entrega.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"producto_id"
],
"properties": {
"producto_id": {
"type": "string",
"maxLength": 90,
"minLength": 2,
"description": "id del producto (p-...) o su slug."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}buscar_tienditas_cerca — Buscar negocios locales cerca
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).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"texto": {
"type": "string",
"maxLength": 80,
"description": "Filtro opcional por nombre."
},
"colonia": {
"type": "string",
"maxLength": 80,
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'."
},
"codigo_postal": {
"type": "string",
"maxLength": 10,
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}ver_tiendita — Ver negocio local
Ficha de un negocio local o vendedor: horario, colonia, radio de entrega, repartidores de colonia y catálogo completo.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tiendita_id"
],
"properties": {
"tiendita_id": {
"type": "string",
"maxLength": 90,
"minLength": 2,
"description": "id (t-...) o slug del negocio local o vendedor."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}crear_pedido — Crear pedido de prueba
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"notas": {
"type": "string",
"maxLength": 500
},
"agente": {
"type": "string",
"maxLength": 60,
"description": "Quién compra: 'Claude', 'ChatGPT', 'Grok', 'Muse', 'bot de mi empresa'…"
},
"recibe": {
"type": "string",
"maxLength": 60,
"description": "Nombre de quien recibe (opcional)."
},
"carrito": {
"type": "string",
"maxLength": 3000,
"description": "Token del carrito que devolvió agregar_al_carrito o ver_carrito (en vez de 'productos')."
},
"colonia": {
"type": "string",
"maxLength": 80,
"description": "Colonia de entrega en Guadalajara, p. ej. 'Santa Tere', 'Americana', 'Chapalita'."
},
"telefono": {
"type": "string",
"maxLength": 20,
"description": "Teléfono de quien recibe, 10 dígitos de México (opcional)."
},
"comprador": {
"type": "string",
"maxLength": 40,
"description": "Código del panel de la persona (letras y números). Si no lo mandas, NAO le crea uno privado."
},
"productos": {
"type": "array",
"items": {
"type": "object",
"required": [
"producto_id"
],
"properties": {
"cantidad": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"producto_id": {
"type": "string",
"maxLength": 90,
"minLength": 2
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "Lista de {producto_id, cantidad}. Opcional si mandas 'carrito'."
},
"referencia": {
"type": "string",
"maxLength": 200,
"description": "Referencia de entrega: calle, número, 'portón negro'."
},
"codigo_postal": {
"type": "string",
"maxLength": 10,
"description": "Código postal de entrega (5 dígitos), p. ej. '44600'."
},
"clave_idempotencia": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 100,
"minLength": 8,
"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."
}
}
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}agregar_al_carrito — Agregar al carrito
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'.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"producto_id"
],
"properties": {
"carrito": {
"type": "string",
"maxLength": 3000,
"description": "Token del carrito (c1.…) de la llamada anterior. Vacío = carrito nuevo."
},
"cantidad": {
"type": "integer",
"maximum": 20,
"minimum": -20,
"description": "Piezas a sumar (1 por omisión). Negativo resta."
},
"producto_id": {
"type": "string",
"maxLength": 90,
"minLength": 2,
"description": "id del producto (p-...) de buscar_productos."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}ver_carrito — Ver 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'.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"carrito": {
"type": "string",
"maxLength": 3000,
"description": "Token del carrito (c1.…)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}estado_pedido — Estado del pedido
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pedido_id",
"token"
],
"properties": {
"token": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "token del pedido que devolvió crear_pedido."
},
"pedido_id": {
"type": "string",
"maxLength": 20,
"minLength": 4,
"description": "id del pedido, p. ej. NAO-7K2Q9X."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
3 advertised
tarjeta-productos — NAO · productos
Tarjetas de producto con foto, precio, negocio y botón Agregar.
ui://nao/productos-v2.htmltarjeta-carrito — NAO · carrito
Carrito con total, envío y botón para pedir.
ui://nao/carrito-v2.htmltarjeta-pedido — NAO · pedido
Confirmación del pedido con su estado: recibido, preparando, en camino, entregado.
ui://nao/pedido-v2.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 962 ms
- 95th percentile latency
- 962 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 962 ms · metadata changed · 8 tool(s), 3 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http nao-mcp https://nao.hechq.com/api/mcpCodex
codex mcp add nao-mcp --url https://nao.hechq.com/api/mcpCursor
{
"mcpServers": {
"nao-mcp": {
"url": "https://nao.hechq.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"nao-mcp": {
"type": "streamableHttp",
"url": "https://nao.hechq.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"nao-mcp": {
"type": "http",
"url": "https://nao.hechq.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http nao-mcp https://nao.hechq.com/api/mcpClaude Desktop
{
"mcpServers": {
"nao-mcp": {
"url": "https://nao.hechq.com/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"nao-mcp": {
"serverUrl": "https://nao.hechq.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like NAO MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run NAO MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.