Hosted Argentine commerce MCP: real AFIP invoicing, MercadoPago, logistics, catalog & WhatsApp.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
[demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail).
Must be 'set'. Absolute-set is the only mode available via MCP.
New absolute stock quantity.
Product ID to update.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
[demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail).
| Argument | Type | Description |
|---|---|---|
| mode* | string | Must be 'set'. Absolute-set is the only mode available via MCP. |
| quantity* | integer | New absolute stock quantity. |
| productId* | string | Product ID to update. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"productId",
"mode",
"quantity"
],
"properties": {
"mode": {
"type": "string",
"const": "set",
"description": "Must be 'set'. Absolute-set is the only mode available via MCP."
},
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "New absolute stock quantity."
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID to update."
}
}
}[demo: deshabilitada] Mass price change for all products or a specified subset in this business.
| Argument | Type | Description |
|---|---|---|
| mode* | string | 'percent' = percentage change; 'fixed' = absolute ARS change. |
| amount* | number | Adjustment amount — percentage or fixed ARS value depending on mode. |
| direction* | string | 'up' raises, 'down' lowers, 'set' assigns an exact price. |
| productIds | array | Specific product IDs to update. Omit to update ALL products. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amount",
"mode",
"direction"
],
"properties": {
"mode": {
"enum": [
"percent",
"fixed"
],
"type": "string",
"description": "'percent' = percentage change; 'fixed' = absolute ARS change."
},
"amount": {
"type": "number",
"description": "Adjustment amount — percentage or fixed ARS value depending on mode.",
"exclusiveMinimum": 0
},
"direction": {
"enum": [
"up",
"down",
"set"
],
"type": "string",
"description": "'up' raises, 'down' lowers, 'set' assigns an exact price."
},
"productIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Specific product IDs to update. Omit to update ALL products."
}
}
}[demo: deshabilitada] Opens or closes a cash register shift for the authenticated business.
| Argument | Type | Description |
|---|---|---|
| nota | string | Optional operator note. |
| monto* | number | Opening float (abrir) or physically counted cash (cerrar) in ARS. |
| action* | string | 'abrir' to open a shift, 'cerrar' to close it. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"action",
"monto"
],
"properties": {
"nota": {
"type": "string",
"maxLength": 500,
"description": "Optional operator note."
},
"monto": {
"type": "number",
"minimum": 0,
"description": "Opening float (abrir) or physically counted cash (cerrar) in ARS."
},
"action": {
"enum": [
"abrir",
"cerrar"
],
"type": "string",
"description": "'abrir' to open a shift, 'cerrar' to close it."
}
}
}Queries the current cash register balance for the authenticated business — the open session data or the last closed session. Read-only.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}[demo: deshabilitada] Records a cash movement tied to the OPEN caja shift: income, expense, withdrawal, tax, or payroll.
| Argument | Type | Description |
|---|---|---|
| tipo* | string | Movement type. |
| monto* | number | Positive amount in ARS. |
| descripcion* | string | Movement description. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tipo",
"monto",
"descripcion"
],
"properties": {
"tipo": {
"enum": [
"ingreso",
"gasto",
"retiro",
"sangria",
"sangría",
"impuesto",
"sueldo"
],
"type": "string",
"description": "Movement type."
},
"monto": {
"type": "number",
"description": "Positive amount in ARS.",
"exclusiveMinimum": 0
},
"descripcion": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Movement description."
}
}
}[demo: deshabilitada] Connects MercadoPago for this business using the BYOA OAuth-redirect model. Primary: returns an authorization URL. Fallback: accepts a production access token directly.
| Argument | Type | Description |
|---|---|---|
| accessToken | string | Optional MercadoPago production access token. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"accessToken": {
"type": "string",
"pattern": "^APP_USR-.*",
"minLength": 20,
"description": "Optional MercadoPago production access token."
}
}
}[demo: deshabilitada] Connects PedidosYa for this business using the BYOA secure-form model. Primary: returns a secure link. Fallback: accepts an API token directly.
| Argument | Type | Description |
|---|---|---|
| apiToken | string | Optional PedidosYa API token. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"apiToken": {
"type": "string",
"minLength": 1,
"description": "Optional PedidosYa API token."
}
}
}[demo: deshabilitada] Connects Tienda Nube (Nuvemshop) using the BYOA OAuth-redirect model. Returns an authorization URL — no token ever passes through chat. Gated behind env config in production.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}[demo: deshabilitada] Connects WhatsApp Business using the BYOA Meta Embedded Signup model. Primary: returns a signup link. Optional: registers a phone number as a lightweight pre-step.
| Argument | Type | Description |
|---|---|---|
| phone | string | Optional WhatsApp Business phone in E.164 format. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"phone": {
"type": "string",
"minLength": 8,
"description": "Optional WhatsApp Business phone in E.164 format."
}
}
}Returns the BYOA (Bring Your Own Account) integration readiness for the authenticated business — what is connected and how to connect what is missing. Read-only.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}[demo: deshabilitada] Creates a new product in the business catalog. Requires name and price.
| Argument | Type | Description |
|---|---|---|
| name* | string | Product name. |
| price* | number | Selling price in ARS. |
| costPrice | number | Purchase cost price in ARS (optional). |
| weightGrams | integer | Weight in grams (optional). |
| initialStock | integer | Initial stock quantity (default 0). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"price"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Product name."
},
"price": {
"type": "number",
"description": "Selling price in ARS.",
"exclusiveMinimum": 0
},
"costPrice": {
"type": "number",
"description": "Purchase cost price in ARS (optional).",
"exclusiveMinimum": 0
},
"weightGrams": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Weight in grams (optional).",
"exclusiveMinimum": 0
},
"initialStock": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Initial stock quantity (default 0)."
}
}
}[demo: deshabilitada] Creates a procurement order (purchase request) to a supplier.
| Argument | Type | Description |
|---|---|---|
| itemName* | string | Name of the item being ordered. |
| quantity* | integer | Quantity to order. |
| unitPrice* | number | Unit price per item in ARS. |
| supplierId | string | Existing supplier ID (optional if supplierName is provided). |
| supplierName | string | Supplier name (optional if supplierId is provided). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"itemName",
"quantity",
"unitPrice"
],
"properties": {
"itemName": {
"type": "string",
"minLength": 1,
"description": "Name of the item being ordered."
},
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Quantity to order.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"minimum": 0,
"description": "Unit price per item in ARS."
},
"supplierId": {
"type": "string",
"description": "Existing supplier ID (optional if supplierName is provided)."
},
"supplierName": {
"type": "string",
"description": "Supplier name (optional if supplierId is provided)."
}
}
}[demo: deshabilitada] Creates a physical shipment via the chosen courier and returns a tracking number and label URL.
| Argument | Type | Description |
|---|---|---|
| saleId* | string | Velora Sale ID. |
| service | string | Courier-specific service key (defaults to 'domicilio'). |
| provider* | string | Courier slug from quote_shipping ('andreani', 'oca'). |
| customerDni | string | Recipient DNI (required by Andreani in production). |
| weightGrams* | number | Total shipment weight in grams. |
| customerCity | string | Recipient city (optional). |
| customerName* | string | Recipient first name. |
| customerPhone | string | Recipient phone number (optional). |
| customerAddress* |
[demo: deshabilitada] Creates a supplier for this business.
| Argument | Type | Description |
|---|---|---|
| name* | string | Supplier name (must be unique within this business). |
| string | Supplier email address (optional). | |
| phone | string | Supplier phone number (optional). |
| contactName | string | Contact person name (optional). |
| leadTimeDays | integer | Default lead time in days (optional). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Supplier name (must be unique within this business)."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Supplier email address (optional)."
},
"phone": {
"type": "string",
"description": "Supplier phone number (optional)."
},
"contactName": {
"type": "string",
"description": "Contact person name (optional)."
},
"leadTimeDays": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Default lead time in days (optional).",
"exclusiveMinimum": 0
}
}
}[demo: deshabilitada] Creates a tracked MercadoPago payment link for a catalog-tied cobro: atomically records the Sale + Invoice + PaymentIntent, then generates a real Checkout Pro link. MONEY: real and irreversible.
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items. |
| customerId* | string | Customer ID. |
| description* | string | Cobro description shown on the MP preference. |
| expiresInDays | integer | Link lifetime in days (1–30, default 3). |
| idempotencyKey* | string | Stable UUID generated by the wizard. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId",
"items",
"description",
"idempotencyKey"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units.",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID."
},
"unitPriceOverride": {
"type": "number",
"description": "Optional negotiated unit price.",
"exclusiveMinimum": 0
}
}
},
"minItems": 1,
"description": "Line items."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "Customer ID."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Cobro description shown on the MP preference."
},
"expiresInDays": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Link lifetime in days (1–30, default 3)."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"description": "Stable UUID generated by the wizard."
}
}
}[demo: deshabilitada] Deletes a customer from this business (blocked when the customer has sales or invoices).
| Argument | Type | Description |
|---|---|---|
| customerId* | string | ID of the customer to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"customerId": {
"type": "string",
"minLength": 1,
"description": "ID of the customer to delete."
}
}
}[demo: deshabilitada] Deletes (or soft-archives, when it has sale records) a product from the catalog.
| Argument | Type | Description |
|---|---|---|
| productId* | string | ID of the product to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"productId"
],
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"description": "ID of the product to delete."
}
}
}[demo: deshabilitada] Deletes a supplier from this business (with full audit trail).
| Argument | Type | Description |
|---|---|---|
| supplierId* | string | ID of the supplier to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"supplierId"
],
"properties": {
"supplierId": {
"type": "string",
"minLength": 1,
"description": "ID of the supplier to delete."
}
}
}[demo: deshabilitada] Updates a single product's fields (name, price, costPrice, or stockQuantity).
| Argument | Type | Description |
|---|---|---|
| name | string | New product name (optional). |
| price | number | New selling price in ARS (optional). |
| costPrice | any | New cost price, or null to clear (optional). |
| productId* | string | ID of the product to update. |
| stockQuantity | integer | Set stock to this value (optional). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"productId"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "New product name (optional)."
},
"price": {
"type": "number",
"description": "New selling price in ARS (optional).",
"exclusiveMinimum": 0
},
"costPrice": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "New cost price, or null to clear (optional)."
},
"productId": {
"type": "string",
"minLength": 1,
"description": "ID of the product to update."
},
"stockQuantity": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Set stock to this value (optional)."
}
}
}[demo: deshabilitada] Updates an existing supplier's fields.
| Argument | Type | Description |
|---|---|---|
| name | string | New supplier name (optional). |
| any | New email, or null to clear. | |
| phone | any | New phone number, or null to clear. |
| supplierId* | string | ID of the supplier to update. |
| contactName | any | New contact person name, or null to clear. |
| leadTimeDays | any | New lead time in days, or null to clear. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"supplierId"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "New supplier name (optional)."
},
"email": {
"anyOf": [
{
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
{
"type": "null"
}
],
"description": "New email, or null to clear."
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "New phone number, or null to clear."
},
"supplierId": {
"type": "string",
"minLength": 1,
"description": "ID of the supplier to update."
},
"contactName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "New contact person name, or null to clear."
},
"leadTimeDays": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "New lead time in days, or null to clear."
}
}
}[demo: deshabilitada] Emits an ARCA (formerly AFIP)-compliant electronic invoice (factura electrónica) for the authenticated business and returns the CAE authorization code.
| Argument | Type | Description |
|---|---|---|
| tipo* | string | A = IVA discriminado (B2B), B = consumidor final, C = monotributo. |
| concept | string | Items or concept description (optional). |
| amountARS* | number | Invoice total in Argentine pesos (ARS). |
| requestId | string | Optional idempotency nonce. |
| customerCuit* | string | Customer CUIT/CUIL (11 digits, any format). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerCuit",
"amountARS",
"tipo"
],
"properties": {
"tipo": {
"enum": [
"A",
"B",
"C"
],
"type": "string",
"description": "A = IVA discriminado (B2B), B = consumidor final, C = monotributo."
},
"concept": {
"type": "string",
"description": "Items or concept description (optional)."
},
"amountARS": {
"type": "number",
"description": "Invoice total in Argentine pesos (ARS).",
"exclusiveMinimum": 0
},
"requestId": {
"type": "string",
"description": "Optional idempotency nonce."
},
"customerCuit": {
"type": "string",
"description": "Customer CUIT/CUIL (11 digits, any format)."
}
}
}[demo: deshabilitada] Emits an ARCA-compliant Nota Crédito (NC) or Nota Débito (ND) against an original AFIP invoice and returns the CAE authorization code.
| Argument | Type | Description |
|---|---|---|
| kind* | string | credito = Nota Crédito, debito = Nota Débito. |
| tipo* | string | Invoice type letter for this nota. |
| concept | string | Items or concept description (optional). |
| amountARS* | number | Note total in Argentine pesos (ARS). |
| requestId | string | Optional idempotency nonce. |
| customerCuit* | string | Customer CUIT/CUIL (11 digits, any format). |
| associatedInvoice* | object | Reference to the original invoice being credited or debited. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerCuit",
"amountARS",
"tipo",
"kind",
"associatedInvoice"
],
"properties": {
"kind": {
"enum": [
"credito",
"debito"
],
"type": "string",
"description": "credito = Nota Crédito, debito = Nota Débito."
},
"tipo": {
"enum": [
"A",
"B",
"C"
],
"type": "string",
"description": "Invoice type letter for this nota."
},
"concept": {
"type": "string",
"description": "Items or concept description (optional)."
},
"amountARS": {
"type": "number",
"description": "Note total in Argentine pesos (ARS).",
"exclusiveMinimum": 0
},
"requestId": {
"type": "string",
"description": "Optional idempotency nonce."
},
"customerCuit": {
"type": "string",
"description": "Customer CUIT/CUIL (11 digits, any format)."
},
"associatedInvoice": {
"type": "object",
"required": [
"tipo",
"ptoVta",
"nro"
],
"properties": {
"nro": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sequential number of the original invoice.",
"exclusiveMinimum": 0
},
"tipo": {
"enum": [
"1",
"6",
"11"
],
"type": "string",
"description": "WSFE tipoComprobante of the original factura: 1=A, 6=B, 11=C."
},
"ptoVta": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Punto de venta of the original invoice.",
"exclusiveMinimum": 0
}
},
"description": "Reference to the original invoice being credited or debited."
}
}
}Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name.
| Argument | Type | Description |
|---|---|---|
| name | string | Customer name substring to search (case-insensitive). |
| phone | string | Customer phone number or partial number to search. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Customer name substring to search (case-insensitive)."
},
"phone": {
"type": "string",
"description": "Customer phone number or partial number to search."
}
}
}Checks whether the business is ready to emit real ARCA electronic invoices. Returns { ready, missing, guidance } where ready=true means all fiscal fields and the ARCA certificate are configured.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride.
| Argument | Type | Description |
|---|---|---|
| saleId | string | Velora Sale ID (takes priority over productIds). |
| productIds | array | Array of Velora Product IDs (assumes qty=1 per id). |
| weightGramsOverride | number | Explicit weight override in grams. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"saleId": {
"type": "string",
"description": "Velora Sale ID (takes priority over productIds)."
},
"productIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of Velora Product IDs (assumes qty=1 per id)."
},
"weightGramsOverride": {
"type": "number",
"description": "Explicit weight override in grams.",
"exclusiveMinimum": 0
}
}
}Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name.
| Argument | Type | Description |
|---|---|---|
| customerName | string | Customer name (fuzzy match). |
| paymentIntentId | string | Velora PaymentIntent id. Optional when customerName is provided. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"type": "string",
"description": "Customer name (fuzzy match)."
},
"paymentIntentId": {
"type": "string",
"description": "Velora PaymentIntent id. Optional when customerName is provided."
}
}
}Returns all suppliers for this business (up to 50, sorted by name).
| Argument | Type | Description |
|---|---|---|
| search | string | Optional name substring to filter suppliers. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"type": "string",
"description": "Optional name substring to filter suppliers."
}
}
}ONE widget, two display modes: inline snapshot by default, fullscreen tabs (Cliente 360, Cerrar el día, Reposición de stock, Dashboard de ventas) on demand. Aggregates caja, payments, ventas, reportes, supplier, and customer reads.
| Argument | Type | Description |
|---|---|---|
| defaultTab | string | Optional fullscreen tab to open into. |
| customerName | string | Optional customer name to pre-search on the Cliente 360 tab. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"defaultTab": {
"enum": [
"cliente_360",
"cierre_dia",
"reposicion_stock",
"dashboard_ventas"
],
"type": "string",
"description": "Optional fullscreen tab to open into."
},
"customerName": {
"type": "string",
"description": "Optional customer name to pre-search on the Cliente 360 tab."
}
}
}Opens a visual widget showing the current shift state and action buttons. Read-only here.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Opens the catalog selector — a graphical product picker (MCP Apps widget) that shows active products with prices (ARS) and stock. Side-effect-free (no sale, no charge).
| Argument | Type | Description |
|---|---|---|
| search | string | Optional name filter (case-insensitive substring match). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"type": "string",
"description": "Optional name filter (case-insensitive substring match)."
}
}
}Opens the cobro status widget — a read-only view of ONE PaymentIntent's payment state. Accepts paymentIntentId OR customerName.
| Argument | Type | Description |
|---|---|---|
| customerName | string | Customer name (optional when paymentIntentId is provided). |
| paymentIntentId | string | Velora PaymentIntent id (optional when customerName is provided). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"type": "string",
"description": "Customer name (optional when paymentIntentId is provided)."
},
"paymentIntentId": {
"type": "string",
"description": "Velora PaymentIntent id (optional when customerName is provided)."
}
}
}Opens the comprobante + envío widget — a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.
| Argument | Type | Description |
|---|---|---|
| saleId | string | Velora Sale id (optional). |
| customerName | string | Customer name (optional). |
| paymentIntentId | string | Velora PaymentIntent id (optional). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"saleId": {
"type": "string",
"description": "Velora Sale id (optional)."
},
"customerName": {
"type": "string",
"description": "Customer name (optional)."
},
"paymentIntentId": {
"type": "string",
"description": "Velora PaymentIntent id (optional)."
}
}
}Opens a graphical onboarding hub showing integration status and connect links. Read-only.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Opens the payment-link wizard — a graphical form pre-filled with the cobro, for the owner to review and confirm before any money moves. Side-effect-free (no charge).
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items (productId + quantity). |
| customerId | string | Customer ID (optional). |
| description* | string | Cobro description (e.g. '3 alfajores'). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"description",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units.",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID."
},
"unitPriceOverride": {
"type": "number",
"description": "Optional negotiated unit price.",
"exclusiveMinimum": 0
}
}
},
"minItems": 1,
"description": "Line items (productId + quantity)."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "Customer ID (optional)."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Cobro description (e.g. '3 alfajores')."
}
}
}Opens the pending cobros dashboard — a read-only widget listing PaymentIntents awaiting payment. Side-effect-free.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Opens a VISUAL preview of a cash sale — resolved product names, unit prices, quantities, and total — with a confirm button that fires register_sale. Read-only preview itself.
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items for the sale. |
| customerId | string | Optional customer ID (omit for anonymous sales). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units to sell.",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID."
}
}
},
"maxItems": 500,
"minItems": 1,
"description": "Line items for the sale."
},
"customerId": {
"type": "string",
"description": "Optional customer ID (omit for anonymous sales)."
}
}
}Combines catalog stock/weight data and a live shipping quote into one widget — resolves items, computes total weight, and quotes couriers. Read-only, side-effect-free.
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items to prepare for shipment. |
| declaredValue | number | Declared value in ARS for insurance. |
| originPostalCode* | string | Origin postal code (4 digits). |
| destinationPostalCode* | string | Destination postal code (4 digits). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items",
"originPostalCode",
"destinationPostalCode"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units.",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID."
}
}
},
"minItems": 1,
"description": "Line items to prepare for shipment."
},
"declaredValue": {
"type": "number",
"minimum": 0,
"description": "Declared value in ARS for insurance."
},
"originPostalCode": {
"type": "string",
"description": "Origin postal code (4 digits)."
},
"destinationPostalCode": {
"type": "string",
"description": "Destination postal code (4 digits)."
}
}
}Lists active products in the business catalog. Returns products sorted by name, each with id, name, price (ARS), costPrice, sku, stock quantity, and weightGrams.
| Argument | Type | Description |
|---|---|---|
| search | string | Optional name filter (case-insensitive substring match). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"type": "string",
"description": "Optional name filter (case-insensitive substring match)."
}
}
}Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'.
| Argument | Type | Description |
|---|---|---|
| to | string | End date YYYY-MM-DD. Requires 'from'. |
| from | string | Start date YYYY-MM-DD. Requires 'to'. |
| limit | integer | Max results (default 10, max 50). |
| preset | string | Preset date range. Mutually exclusive with from/to. |
| metrica* | string | Metric to query. |
| customer_name | string | Customer name or fragment. Only for historial_cliente. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"metrica"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date YYYY-MM-DD. Requires 'from'."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date YYYY-MM-DD. Requires 'to'."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max results (default 10, max 50)."
},
"preset": {
"enum": [
"hoy",
"semana",
"mes"
],
"type": "string",
"description": "Preset date range. Mutually exclusive with from/to."
},
"metrica": {
"enum": [
"ventas_periodo",
"margen",
"ranking_productos",
"por_empleado",
"historial_cliente"
],
"type": "string",
"description": "Metric to query."
},
"customer_name": {
"type": "string",
"minLength": 1,
"description": "Customer name or fragment. Only for historial_cliente."
}
}
}Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending.
| Argument | Type | Description |
|---|---|---|
| weightGrams* | number | Total shipment weight in grams. |
| declaredValue | number | Declared value in ARS for insurance. |
| originPostalCode* | string | Origin postal code (4 digits). |
| destinationPostalCode* | string | Destination postal code (4 digits). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"originPostalCode",
"destinationPostalCode",
"weightGrams"
],
"properties": {
"weightGrams": {
"type": "number",
"description": "Total shipment weight in grams.",
"exclusiveMinimum": 0
},
"declaredValue": {
"type": "number",
"minimum": 0,
"description": "Declared value in ARS for insurance."
},
"originPostalCode": {
"type": "string",
"description": "Origin postal code (4 digits)."
},
"destinationPostalCode": {
"type": "string",
"description": "Destination postal code (4 digits)."
}
}
}[demo: deshabilitada] Records a cash-register movement for the authenticated business ('purchase', 'income', 'salary', 'tax', 'adjustment').
| Argument | Type | Description |
|---|---|---|
| date | string | ISO 8601 date/datetime. Defaults to now. |
| type* | string | Movement type. |
| amount* | number | Amount in ARS (always positive). |
| description* | string | Description (e.g. 'Pago proveedor Distribuidora ABC'). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"description",
"amount"
],
"properties": {
"date": {
"type": "string",
"description": "ISO 8601 date/datetime. Defaults to now."
},
"type": {
"enum": [
"purchase",
"tax",
"salary",
"adjustment",
"income",
"sale"
],
"type": "string",
"description": "Movement type."
},
"amount": {
"type": "number",
"description": "Amount in ARS (always positive).",
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"minLength": 1,
"description": "Description (e.g. 'Pago proveedor Distribuidora ABC')."
}
}
}[demo: deshabilitada] Records a sale for the authenticated business. Creates a full Sale with SaleItems, decrements inventory, creates a CashMovement and Invoice.
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items for the sale. |
| requestId | string | Optional idempotency override. |
| customerId | string | Optional customer ID. Omit for anonymous sales. |
| paymentMethod | string | Defaults to 'efectivo' when omitted. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units sold (positive integer).",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"minLength": 1,
"description": "Product ID."
},
"unitPrice": {
"type": "number",
"description": "Sale price per unit in ARS (optional; catalog price used when omitted).",
"exclusiveMinimum": 0
}
}
},
"maxItems": 500,
"minItems": 1,
"description": "Line items for the sale."
},
"requestId": {
"type": "string",
"description": "Optional idempotency override."
},
"customerId": {
"type": "string",
"description": "Optional customer ID. Omit for anonymous sales."
},
"paymentMethod": {
"enum": [
"efectivo",
"transferencia",
"mp",
"qr",
"modo"
],
"type": "string",
"description": "Defaults to 'efectivo' when omitted."
}
}
}[demo: deshabilitada] Reverses the N most-recent sales within a time window. Restores inventory, removes CashMovement, SaleItem, Invoice, and Sale records. Destructive and irreversible.
| Argument | Type | Description |
|---|---|---|
| count | integer | Number of recent sales to reverse (max 10). |
| confirm* | boolean | Must be explicitly true to confirm reversing sales. |
| cutoffHours | number | Only consider sales within the last N hours (max 48). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"confirm"
],
"properties": {
"count": {
"type": "integer",
"default": 1,
"maximum": 10,
"description": "Number of recent sales to reverse (max 10).",
"exclusiveMinimum": 0
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be explicitly true to confirm reversing sales."
},
"cutoffHours": {
"type": "number",
"default": 24,
"maximum": 48,
"description": "Only consider sales within the last N hours (max 48).",
"exclusiveMinimum": 0
}
}
}[demo: deshabilitada] Sends a pre-approved Meta WhatsApp template message. Window-independent — can be sent proactively, outside the 24-hour session window.
| Argument | Type | Description |
|---|---|---|
| to* | string | Recipient phone number (local AR or E.164). |
| components | array | Template variable substitutions (omit for templates with no placeholders). |
| languageCode | string | BCP-47 language code (defaults to 'es_AR'). |
| templateName* | string | Exact template name as registered in Meta Business Manager. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"to",
"templateName"
],
"properties": {
"to": {
"type": "string",
"minLength": 1,
"description": "Recipient phone number (local AR or E.164)."
},
"components": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"parameters"
],
"properties": {
"type": {
"enum": [
"body",
"header",
"button"
],
"type": "string",
"description": "Component section to populate."
},
"parameters": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"type": "string",
"const": "text"
}
}
},
"description": "Ordered text substitutions."
}
}
},
"description": "Template variable substitutions (omit for templates with no placeholders)."
},
"languageCode": {
"type": "string",
"description": "BCP-47 language code (defaults to 'es_AR')."
},
"templateName": {
"type": "string",
"description": "Exact template name as registered in Meta Business Manager."
}
}
}[demo: deshabilitada] Sends a plain-text WhatsApp message to a customer phone number. Only valid inside the 24-hour customer-service window (Meta error 131026 outside).
| Argument | Type | Description |
|---|---|---|
| to* | string | Recipient phone number (local AR or E.164). |
| text* | string | Message text body. |
| mediaUrl | string | Optional public URL of a media file to attach. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"to",
"text"
],
"properties": {
"to": {
"type": "string",
"minLength": 1,
"description": "Recipient phone number (local AR or E.164)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "Message text body."
},
"mediaUrl": {
"type": "string",
"format": "uri",
"description": "Optional public URL of a media file to attach."
}
}
}[demo: deshabilitada] Records inbound stock for a product — restock or initial stock, with an audit trail.
| Argument | Type | Description |
|---|---|---|
| itemName* | string | Product name for resolution or auto-creation. |
| quantity* | integer | Units received. |
| productId | string | Existing product ID (optional if itemName resolves it). |
| unitPrice | number | Cost per unit in ARS. |
| supplierId | string | Existing supplier ID (optional). |
| supplierName | string | Supplier name (optional). |
| autoCreateProduct | boolean | Auto-create product if not found. |
| createPurchaseRequest | boolean | Also create a purchase request for this stock load. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"itemName",
"quantity"
],
"properties": {
"itemName": {
"type": "string",
"minLength": 1,
"description": "Product name for resolution or auto-creation."
},
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Units received.",
"exclusiveMinimum": 0
},
"productId": {
"type": "string",
"description": "Existing product ID (optional if itemName resolves it)."
},
"unitPrice": {
"type": "number",
"minimum": 0,
"description": "Cost per unit in ARS."
},
"supplierId": {
"type": "string",
"description": "Existing supplier ID (optional)."
},
"supplierName": {
"type": "string",
"description": "Supplier name (optional)."
},
"autoCreateProduct": {
"type": "boolean",
"default": false,
"description": "Auto-create product if not found."
},
"createPurchaseRequest": {
"type": "boolean",
"default": false,
"description": "Also create a purchase request for this stock load."
}
}
}Tracks the current status and event history of a shipment by tracking number.
| Argument | Type | Description |
|---|---|---|
| provider* | string | Courier that created the shipment ('andreani', 'oca'). |
| trackingNumber* | string | Tracking number returned by the courier at shipment creation time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"trackingNumber",
"provider"
],
"properties": {
"provider": {
"type": "string",
"description": "Courier that created the shipment ('andreani', 'oca')."
},
"trackingNumber": {
"type": "string",
"description": "Tracking number returned by the courier at shipment creation time."
}
}
}[demo: deshabilitada] Bulk-creates products in the business catalog from a structured list (up to 50 items).
| Argument | Type | Description |
|---|---|---|
| products* | array | List of products to create (1–50 items). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"products"
],
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"price"
],
"properties": {
"name": {
"type": "string",
"description": "Product name."
},
"price": {
"type": "number",
"description": "Selling price in ARS."
}
}
},
"maxItems": 50,
"minItems": 1,
"description": "List of products to create (1–50 items)."
}
}
}[demo: deshabilitada] Creates a new customer or updates an existing one for the authenticated business.
| Argument | Type | Description |
|---|---|---|
| city | string | Customer city or locality (optional). |
| name | string | Customer display name. |
| string | Customer email address (optional). | |
| phone | string | Customer phone number. |
| address | string | Customer street address (optional). |
| customerId | string | When provided, updates the customer with this id. |
| postalCode | string | Customer postal code (optional). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"description": "Customer city or locality (optional)."
},
"name": {
"type": "string",
"description": "Customer display name."
},
"email": {
"type": "string",
"description": "Customer email address (optional)."
},
"phone": {
"type": "string",
"description": "Customer phone number."
},
"address": {
"type": "string",
"description": "Customer street address (optional)."
},
"customerId": {
"type": "string",
"description": "When provided, updates the customer with this id."
},
"postalCode": {
"type": "string",
"description": "Customer postal code (optional)."
}
}
}Validates an Argentine CUIT or CUIL number. Returns parsed components (prefix, body, check digit), person type, and whether the check digit is mathematically correct. Accepts any format: raw digits, hyphened (20-12345678-9), or spaced. This tool runs the REAL check-digit algorithm — not a demo fixture.
| Argument | Type | Description |
|---|---|---|
| cuit* | string | CUIT/CUIL in any format (digits, hyphens, or spaces). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cuit"
],
"properties": {
"cuit": {
"type": "string",
"description": "CUIT/CUIL in any format (digits, hyphens, or spaces)."
}
}
}| string |
| Recipient street name. |
| customerLastName | string | Recipient last name (optional). |
| customerProvince | string | Recipient province (required by OCA). |
| customerPostalCode* | string | Recipient postal code. |
| customerAddressNumber | string | Recipient street number (required by OCA). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"provider",
"saleId",
"customerName",
"customerAddress",
"customerPostalCode",
"weightGrams"
],
"properties": {
"saleId": {
"type": "string",
"description": "Velora Sale ID."
},
"service": {
"type": "string",
"description": "Courier-specific service key (defaults to 'domicilio')."
},
"provider": {
"type": "string",
"description": "Courier slug from quote_shipping ('andreani', 'oca')."
},
"customerDni": {
"type": "string",
"description": "Recipient DNI (required by Andreani in production)."
},
"weightGrams": {
"type": "number",
"description": "Total shipment weight in grams.",
"exclusiveMinimum": 0
},
"customerCity": {
"type": "string",
"description": "Recipient city (optional)."
},
"customerName": {
"type": "string",
"description": "Recipient first name."
},
"customerPhone": {
"type": "string",
"description": "Recipient phone number (optional)."
},
"customerAddress": {
"type": "string",
"description": "Recipient street name."
},
"customerLastName": {
"type": "string",
"description": "Recipient last name (optional)."
},
"customerProvince": {
"type": "string",
"description": "Recipient province (required by OCA)."
},
"customerPostalCode": {
"type": "string",
"description": "Recipient postal code."
},
"customerAddressNumber": {
"type": "string",
"description": "Recipient street number (required by OCA)."
}
}
}