Servidor MCP
Un servidor MCP remoto (Streamable HTTP, sin estado), compatible con la especificación 2026-07-28 y con clientes de 2025. Las herramientas llaman a la misma API, con el mismo costo.
| URL | Autenticación | |
|---|---|---|
| Sandbox | https://pricto.dev/mcp/sandbox | Ninguna |
| Producción | https://pricto.dev/mcp | Authorization: Bearer <key> |
Instrucciones para cada asistente en el inicio rápido y en Conectar.
Cada respuesta trae un texto para el modelo (una tabla corta, la línea de fuente y el costo) y structuredContent con los datos completos. Los errores vuelven como resultado con isError y una pista para que el agente se corrija.
search_products#
Find products by name, brand, size or barcode (GTIN/EAN) and get the price range across retailers. Use the returned product_id with the other tools. Cost: 1 credit per page, 0 if nothing is found. Example queries: "leche entera 1 litro", "paracetamol 500 mg", "Coca-Cola sin azúcar 1,5 L", "7801234567890".
| Costo | Solo lectura |
|---|---|
| 1 credit per page, 0 if nothing is found. | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
query (requerido) | string | Free text in Spanish or English, or a GTIN. |
category | string | Category ID such as food.dairy or health.analgesics (see get_coverage). |
brand | string | Brand name or ID. |
retailer | string | Only products sold by this retailer ID. |
country | string | ISO country code. Only CL is live. |
limit | integer | Max results, default 5. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Preguntas que la usan:
- "¿Cuánto cuesta la leche entera de litro?"
- "Busca paracetamol de 500 mg."
{
"query": "leche entera"
}| product_id | name | min | max | retailers | cheapest at |
|---|---|---|---|---|---|
| prd_01colu | Leche entera Colun 1 L | $1.090 | $1.290 | 3 | Unimarc |
| prd_04colu | Leche entera Colun pack 6 x 1 L | $7.290 | $7.290 | 2 | Jumbo |
| prd_02sopr | Leche descremada Soprole 1 L | $1.190 | $1.190 | 2 | Jumbo |
| prd_03lonc | Leche semidescremada sin lactosa Loncoleche 1 L | $1.290 | $1.490 | 3 | Unimarc |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 1 crédito. Saldo: 14.999.get_prices#
Current price of one product at every retailer that sells it, cheapest first: list, sale and card price, multi-buy promotions, unit price, stock and date observed. as_of gives a past date. Cost: 1 credit per retailer price. To follow a price over time, call get_price_history with interval=day once a week or month instead of get_prices every day: 1 credit per 30 days per retailer.
| Costo | Solo lectura |
|---|---|
| 1 credit per retailer price. | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
product (requerido) | string | product_id from search_products (prd_...) or a GTIN/EAN barcode. |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
location | string | Comuna name ("Las Condes"), 'CL:<CUT code>' or a store ID, for retailers that price by location. |
as_of | string | Past date YYYY-MM-DD. Default: latest. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Preguntas que la usan:
- "¿Dónde está más barata la leche Colún de litro?"
- "¿A cuánto está este código de barras en cada tienda: 2000070000007?"
{
"product": "2000070000007"
}Leche entera Colun 1 L (prd_01colu). 3 retailers, observed 2026-10-23.
| retailer | price | list | card | promo | stock |
|---|---|---|---|---|---|
| Unimarc | $1.090 | $1.090 | - | - | in_stock |
| Santa Isabel | $1.190 | $1.190 | - | - | in_stock |
| Jumbo | $1.290 | $1.290 | $1.190 (Tarjeta Cencosud) | - | in_stock |
Fuente: Pricto · 23-10-2026 08:00 CLST · prd_01colu
Costo: 3 créditos. Saldo: 14.996.compare_prices#
Price matrix for up to 20 products at each retailer and the basket total per retailer, cheapest complete basket first. Use for "where is this list cheapest" or to compare a brand against competitors. Cost: 1 credit per price in the matrix.
| Costo | Solo lectura |
|---|---|
| 1 credit per price in the matrix. | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
items (requerido) | array<object> | |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
price_type | string | card_price totals with store-card prices where they exist. Valores: price, card_price. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Preguntas que la usan:
- "¿En qué supermercado me sale más barata esta lista?"
- "Compara 2 leches y un aceite entre Jumbo y Unimarc."
{
"items": [
{
"product": "prd_01colu",
"quantity": 2
},
{
"product": "2000070000373"
}
]
}| retailer | total | items found |
|---|---|---|
| Santa Isabel | $3.570 | 2/2 |
| Jumbo | $3.770 | 2/2 |
| Unimarc | $2.180 | 1/2 |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 2 créditos (3 repetidos en 24 h, gratis). Saldo: 14.994.get_price_history#
How the price of a product changed over time at each retailer: first, last, min, max, % change, number of changes, days on promotion, plus the series. Default: last 90 days by week. Cost: 1 credit per 30 points per retailer (90 days by week = 1 per retailer).
| Costo | Solo lectura |
|---|---|
| 1 credit per 30 points per retailer (90 days by week = 1 per retailer). | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
product (requerido) | string | product_id from search_products (prd_...) or a GTIN/EAN barcode. |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
from | string | Start date YYYY-MM-DD. Default: 90 days ago. |
to | string | End date YYYY-MM-DD. Default: today. |
interval | string | Point spacing. Default: week. Valores: day, week, month. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Preguntas que la usan:
- "¿Cómo ha cambiado el precio de la leche Colún en los últimos meses?"
- "¿Subió el paracetamol este mes?"
{
"product": "prd_01colu",
"interval": "month"
}prd_01colu 2026-07-26 → 2026-10-23 (CLP).
| retailer | first | last | min | max | change | changes | promo days |
|---|---|---|---|---|---|---|---|
| Jumbo | $1.290 | $1.290 | $990 | $1.290 | 0% | 4 | 46 |
| Santa Isabel | $1.190 | $1.190 | $890 | $1.190 | 0% | 4 | 20 |
| Unimarc | $1.090 | $1.090 | $1.090 | $1.090 | 0% | 0 | 20 |
Fuente: Pricto · 23-10-2026 08:00 CLST · prd_01colu
Costo: 3 créditos. Saldo: 14.991.list_offers#
Listings as published by retailers, filtered by retailer, category, brand, promotion or recent change. Use to find what is on promotion at a store or what changed since a date. Cost: 1 credit per listing.
| Costo | Solo lectura |
|---|---|
| 1 credit per listing. | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
retailer | string | |
category | string | |
brand | string | |
on_promotion | boolean | Only listings with a sale price, card price or multi-buy. |
changed_since | string | ISO date or date-time; only listings whose price or stock changed after it. |
limit | integer | Default 10. |
cursor | string | next_cursor from a previous call. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Preguntas que la usan:
- "¿Qué está en oferta hoy en Jumbo?"
- "¿Qué cambió de precio desde ayer en farmacias?"
{
"retailer": "cl-jumbo",
"on_promotion": true,
"limit": 3
}| retailer | title | price | list | card | promo |
|---|---|---|---|---|---|
| Jumbo | Leche Entera Colun 1 L | $1.290 | $1.290 | $1.190 | - |
| Jumbo | Leche Semidescremada Sin Lactosa Loncoleche 1 L | $1.490 | $1.490 | - | 2 x $2.590 |
| Jumbo | Leche Entera Colun Pack 6 X 1 L | $7.290 | $7.290 | - | 2 x $12.590 |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 2 créditos (1 repetidos en 24 h, gratis). Saldo: 14.989.get_coverage#
Which countries, retailers and categories have data, how fresh it is and since when there is history. Free.
| Costo | Solo lectura |
|---|---|
| 0 | Sí |
| Argumento | Tipo | Descripción |
|---|---|---|
country | string | |
retailer | string | |
category | string | |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
Preguntas que la usan:
- "¿Qué tiendas cubres y desde cuándo?"
- "¿Tienes datos de Lider?"
{
"category": "health"
}7 retailers, 5 products, history since 2026-06-26. Planned: PE: Perú, CO: Colombia, MX: México.
Retailers: Jumbo (cl-jumbo), Santa Isabel (cl-santaisabel), Unimarc (cl-unimarc), Cruz Verde (cl-cruzverde), Farmacias Ahumada (cl-ahumada), Farmacias del Dr. Simi (cl-drsimi), Farmacias Knop (cl-knop).
Categories: Salud y farmacia (health), Analgésicos (health.analgesics), Vitaminas (health.vitamins).
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 0 créditos. Saldo: 14.989.request_data#
Send the provider a request to add a retailer, country, category or delivery format that is not covered. Free; the provider's team replies by email to the account owner.
| Costo | Solo lectura |
|---|---|
| 0 | No |
| Argumento | Tipo | Descripción |
|---|---|---|
kind (requerido) | string | Valores: retailer, country, category, frequency, delivery, other. |
description (requerido) | string | What is needed and why, in the user's words. |
retailer_url | string | |
country | string |
Preguntas que la usan:
- "Pide que agreguen una farmacia que no está."
{
"kind": "retailer",
"description": "Agregar una cadena regional de farmacias del sur de Chile"
}Request dreq_0001 received. The team replies by email to the account owner.
Costo: 0 créditos. Saldo: 14.989.Prompt para tu agente#
Las herramientas ya traen instrucciones para el modelo. Si armas tu propio agente, esto funciona bien como parte del prompt de sistema:
Usa las herramientas de Pricto para responder preguntas de precios de tiendas de Chile.
- Parte por search_products para encontrar el producto; después get_prices, compare_prices o get_price_history.
- Di siempre la tienda y la fecha de cada precio, y cita la línea "Fuente: ..." tal cual.
- "price" es lo que paga cualquiera. El precio con tarjeta y las promociones tienen condiciones: dilo.
- Si una búsqueda no encuentra nada, llama a get_coverage antes de decir que no existe.
- Si los datos son de ejemplo (aviso synthetic_data), díselo a la persona.
- Cuida el gasto: usa max_credits en preguntas grandes y avisa el costo que informa cada respuesta.Instrucciones del servidor#
Lo que el servidor le dice al modelo al conectarse:
Retail prices from online stores, Chile first (supermarkets and pharmacies in this version).
Typical flow: search_products to find the product_id, then get_prices (one product at every retailer),
compare_prices (a basket) or get_price_history (trend). Call get_coverage when a search finds nothing,
to tell the user whether the data does not exist.
Rules when answering: say which retailer and the observed_at date of each price; "price" is what anyone
pays, "card_price" needs that retailer's card and promotions need a minimum quantity, so never present
them as the plain price; amounts are in the local currency (CLP has no decimals) unless currency is set.
When citing data, use the attribution line returned with each result. Pass lang="en" to get English product names. Prices are public online prices, not in-store.
Each paid tool reports its cost; pass max_credits to cap spending. Call request_data only after the user
agrees to send the request.MCP server
A remote MCP server (Streamable HTTP, stateless), compatible with the 2026-07-28 spec and with 2025 clients. The tools call the same API, at the same cost.
| URL | Authentication | |
|---|---|---|
| Sandbox | https://pricto.dev/mcp/sandbox | None |
| Production | https://pricto.dev/mcp | Authorization: Bearer <key> |
Instructions for each assistant in the quickstart and on Connect.
Every response carries a text for the model (a short table, the source line and the cost) and structuredContent with the full data. Errors come back as a result with isError and a hint so the agent can correct itself.
search_products#
Find products by name, brand, size or barcode (GTIN/EAN) and get the price range across retailers. Use the returned product_id with the other tools. Cost: 1 credit per page, 0 if nothing is found. Example queries: "leche entera 1 litro", "paracetamol 500 mg", "Coca-Cola sin azúcar 1,5 L", "7801234567890".
| Cost | Read only |
|---|---|
| 1 credit per page, 0 if nothing is found. | Yes |
| Argument | Type | Description |
|---|---|---|
query (required) | string | Free text in Spanish or English, or a GTIN. |
category | string | Category ID such as food.dairy or health.analgesics (see get_coverage). |
brand | string | Brand name or ID. |
retailer | string | Only products sold by this retailer ID. |
country | string | ISO country code. Only CL is live. |
limit | integer | Max results, default 5. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Questions that use it:
- "How much is a liter of whole milk?"
- "Find 500 mg paracetamol."
{
"query": "leche entera"
}| product_id | name | min | max | retailers | cheapest at |
|---|---|---|---|---|---|
| prd_01colu | Leche entera Colun 1 L | $1.090 | $1.290 | 3 | Unimarc |
| prd_04colu | Leche entera Colun pack 6 x 1 L | $7.290 | $7.290 | 2 | Jumbo |
| prd_02sopr | Leche descremada Soprole 1 L | $1.190 | $1.190 | 2 | Jumbo |
| prd_03lonc | Leche semidescremada sin lactosa Loncoleche 1 L | $1.290 | $1.490 | 3 | Unimarc |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 1 crédito. Saldo: 14.999.get_prices#
Current price of one product at every retailer that sells it, cheapest first: list, sale and card price, multi-buy promotions, unit price, stock and date observed. as_of gives a past date. Cost: 1 credit per retailer price. To follow a price over time, call get_price_history with interval=day once a week or month instead of get_prices every day: 1 credit per 30 days per retailer.
| Cost | Read only |
|---|---|
| 1 credit per retailer price. | Yes |
| Argument | Type | Description |
|---|---|---|
product (required) | string | product_id from search_products (prd_...) or a GTIN/EAN barcode. |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
location | string | Comuna name ("Las Condes"), 'CL:<CUT code>' or a store ID, for retailers that price by location. |
as_of | string | Past date YYYY-MM-DD. Default: latest. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Questions that use it:
- "Where is Colún 1 L milk cheapest?"
- "What does barcode 2000070000007 cost at each store?"
{
"product": "2000070000007"
}Leche entera Colun 1 L (prd_01colu). 3 retailers, observed 2026-10-23.
| retailer | price | list | card | promo | stock |
|---|---|---|---|---|---|
| Unimarc | $1.090 | $1.090 | - | - | in_stock |
| Santa Isabel | $1.190 | $1.190 | - | - | in_stock |
| Jumbo | $1.290 | $1.290 | $1.190 (Tarjeta Cencosud) | - | in_stock |
Fuente: Pricto · 23-10-2026 08:00 CLST · prd_01colu
Costo: 3 créditos. Saldo: 14.996.compare_prices#
Price matrix for up to 20 products at each retailer and the basket total per retailer, cheapest complete basket first. Use for "where is this list cheapest" or to compare a brand against competitors. Cost: 1 credit per price in the matrix.
| Cost | Read only |
|---|---|
| 1 credit per price in the matrix. | Yes |
| Argument | Type | Description |
|---|---|---|
items (required) | array<object> | |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
price_type | string | card_price totals with store-card prices where they exist. Values: price, card_price. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Questions that use it:
- "Which supermarket is cheapest for this list?"
- "Compare 2 milks and an oil between Jumbo and Unimarc."
{
"items": [
{
"product": "prd_01colu",
"quantity": 2
},
{
"product": "2000070000373"
}
]
}| retailer | total | items found |
|---|---|---|
| Santa Isabel | $3.570 | 2/2 |
| Jumbo | $3.770 | 2/2 |
| Unimarc | $2.180 | 1/2 |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 2 créditos (3 repetidos en 24 h, gratis). Saldo: 14.994.get_price_history#
How the price of a product changed over time at each retailer: first, last, min, max, % change, number of changes, days on promotion, plus the series. Default: last 90 days by week. Cost: 1 credit per 30 points per retailer (90 days by week = 1 per retailer).
| Cost | Read only |
|---|---|
| 1 credit per 30 points per retailer (90 days by week = 1 per retailer). | Yes |
| Argument | Type | Description |
|---|---|---|
product (required) | string | product_id from search_products (prd_...) or a GTIN/EAN barcode. |
retailers | array<string> | Retailer IDs to include, e.g. ["cl-jumbo","cl-unimarc"]. Default: all. |
from | string | Start date YYYY-MM-DD. Default: 90 days ago. |
to | string | End date YYYY-MM-DD. Default: today. |
interval | string | Point spacing. Default: week. Values: day, week, month. |
match_kinds | array<string> | Default ["identical"]. "pack": N units of the product (compare unit_price). "equivalent": substitute of another brand. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Questions that use it:
- "How has Colún milk's price changed in recent months?"
- "Did paracetamol go up this month?"
{
"product": "prd_01colu",
"interval": "month"
}prd_01colu 2026-07-26 → 2026-10-23 (CLP).
| retailer | first | last | min | max | change | changes | promo days |
|---|---|---|---|---|---|---|---|
| Jumbo | $1.290 | $1.290 | $990 | $1.290 | 0% | 4 | 46 |
| Santa Isabel | $1.190 | $1.190 | $890 | $1.190 | 0% | 4 | 20 |
| Unimarc | $1.090 | $1.090 | $1.090 | $1.090 | 0% | 0 | 20 |
Fuente: Pricto · 23-10-2026 08:00 CLST · prd_01colu
Costo: 3 créditos. Saldo: 14.991.list_offers#
Listings as published by retailers, filtered by retailer, category, brand, promotion or recent change. Use to find what is on promotion at a store or what changed since a date. Cost: 1 credit per listing.
| Cost | Read only |
|---|---|
| 1 credit per listing. | Yes |
| Argument | Type | Description |
|---|---|---|
retailer | string | |
category | string | |
brand | string | |
on_promotion | boolean | Only listings with a sale price, card price or multi-buy. |
changed_since | string | ISO date or date-time; only listings whose price or stock changed after it. |
limit | integer | Default 10. |
cursor | string | next_cursor from a previous call. |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
currency | string | Also return amounts in this ISO 4217 currency, e.g. USD or EUR. Default: local currency only. |
max_credits | number | Spend at most this many credits; results are cut to fit (cheapest first). |
Questions that use it:
- "What's on sale at Jumbo today?"
- "What changed price since yesterday in pharmacies?"
{
"retailer": "cl-jumbo",
"on_promotion": true,
"limit": 3
}| retailer | title | price | list | card | promo |
|---|---|---|---|---|---|
| Jumbo | Leche Entera Colun 1 L | $1.290 | $1.290 | $1.190 | - |
| Jumbo | Leche Semidescremada Sin Lactosa Loncoleche 1 L | $1.490 | $1.490 | - | 2 x $2.590 |
| Jumbo | Leche Entera Colun Pack 6 X 1 L | $7.290 | $7.290 | - | 2 x $12.590 |
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 2 créditos (1 repetidos en 24 h, gratis). Saldo: 14.989.get_coverage#
Which countries, retailers and categories have data, how fresh it is and since when there is history. Free.
| Cost | Read only |
|---|---|
| 0 | Yes |
| Argument | Type | Description |
|---|---|---|
country | string | |
retailer | string | |
category | string | |
lang | string | BCP 47 language for product names and messages (es, en, en-US...). Default: es. |
Questions that use it:
- "Which stores do you cover and since when?"
- "Do you have Lider data?"
{
"category": "health"
}7 retailers, 5 products, history since 2026-06-26. Planned: PE: Perú, CO: Colombia, MX: México.
Retailers: Jumbo (cl-jumbo), Santa Isabel (cl-santaisabel), Unimarc (cl-unimarc), Cruz Verde (cl-cruzverde), Farmacias Ahumada (cl-ahumada), Farmacias del Dr. Simi (cl-drsimi), Farmacias Knop (cl-knop).
Categories: Salud y farmacia (health), Analgésicos (health.analgesics), Vitaminas (health.vitamins).
Fuente: Pricto · 23-10-2026 08:00 CLST
Costo: 0 créditos. Saldo: 14.989.request_data#
Send the provider a request to add a retailer, country, category or delivery format that is not covered. Free; the provider's team replies by email to the account owner.
| Cost | Read only |
|---|---|
| 0 | No |
| Argument | Type | Description |
|---|---|---|
kind (required) | string | Values: retailer, country, category, frequency, delivery, other. |
description (required) | string | What is needed and why, in the user's words. |
retailer_url | string | |
country | string |
Questions that use it:
- "Ask them to add a pharmacy that's missing."
{
"kind": "retailer",
"description": "Agregar una cadena regional de farmacias del sur de Chile"
}Request dreq_0001 received. The team replies by email to the account owner.
Costo: 0 créditos. Saldo: 14.989.Prompt for your agent#
The tools already carry instructions for the model. If you build your own agent, this works well as part of the system prompt:
Use the Pricto tools to answer questions about prices at Chilean stores.
- Start with search_products to find the product; then get_prices, compare_prices or get_price_history.
- Always say the store and date of each price, and quote the "Source: ..." line as is.
- "price" is what anyone pays. Card prices and promotions have conditions: say so.
- If a search finds nothing, call get_coverage before saying it doesn't exist.
- If the data is sample data (synthetic_data notice), tell the person.
- Watch spending: use max_credits on big questions and mention the cost each response reports.Server instructions#
What the server tells the model when it connects:
Retail prices from online stores, Chile first (supermarkets and pharmacies in this version).
Typical flow: search_products to find the product_id, then get_prices (one product at every retailer),
compare_prices (a basket) or get_price_history (trend). Call get_coverage when a search finds nothing,
to tell the user whether the data does not exist.
Rules when answering: say which retailer and the observed_at date of each price; "price" is what anyone
pays, "card_price" needs that retailer's card and promotions need a minimum quantity, so never present
them as the plain price; amounts are in the local currency (CLP has no decimals) unless currency is set.
When citing data, use the attribution line returned with each result. Pass lang="en" to get English product names. Prices are public online prices, not in-store.
Each paid tool reports its cost; pass max_credits to cap spending. Call request_data only after the user
agrees to send the request.