velora

Hosted Argentine commerce MCP: real AFIP invoicing, MercadoPago, logistics, catalog & WhatsApp.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
87%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'query_sales' description lacks action verbin query_sales
  • LOWTool 'connect_mercadopago' description lacks action verbin connect_mercadopago
  • LOWTool 'connect_pedidosya' description lacks action verbin connect_pedidosya
  • LOWTool 'connect_whatsapp' description lacks action verbin connect_whatsapp
  • LOWTool 'connect_tiendanube' description lacks action verbin connect_tiendanube

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~9,249Tokens (tool definitions)
~1.4 KBTypical response size
Significant attention impact (7.23% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "velora": {
      "url": "https://tools.somosvelora.com/api/mcp"
    }
  }
}

Remote endpoints

https://tools.somosvelora.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (50)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒validate_cuit(cuit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "cuit": {
      "type": "string",
      "description": "CUIT/CUIL in any format (digits, hyphens, or spaces)."
    }
  },
  "required": [
    "cuit"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_fiscal_readiness

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄emit_invoice(customerCuit, amountARS, tipo, concept, requestId)

[demo: deshabilitada] Emits an ARCA (formerly AFIP)-compliant electronic invoice (factura electrΓ³nica) for the authenticated business and returns the CAE authorization code.

Input Schema

{
  "type": "object",
  "properties": {
    "customerCuit": {
      "type": "string",
      "description": "Customer CUIT/CUIL (11 digits, any format)."
    },
    "amountARS": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Invoice total in Argentine pesos (ARS)."
    },
    "tipo": {
      "type": "string",
      "enum": [
        "A",
        "B",
        "C"
      ],
      "description": "A = IVA discriminado (B2B), B = consumidor final, C = monotributo."
    },
    "concept": {
      "description": "Items or concept description (optional).",
      "type": "string"
    },
    "requestId": {
      "description": "Optional idempotency nonce.",
      "type": "string"
    }
  },
  "required": [
    "customerCuit",
    "amountARS",
    "tipo"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄emit_nota(customerCuit, amountARS, tipo, kind, associatedInvoice, ...)

[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.

Input Schema

{
  "type": "object",
  "properties": {
    "customerCuit": {
      "type": "string",
      "description": "Customer CUIT/CUIL (11 digits, any format)."
    },
    "amountARS": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Note total in Argentine pesos (ARS)."
    },
    "tipo": {
      "type": "string",
      "enum": [
        "A",
        "B",
        "C"
      ],
      "description": "Invoice type letter for this nota."
    },
    "kind": {
      "type": "string",
      "enum": [
        "credito",
        "debito"
      ],
      "description": "credito = Nota CrΓ©dito, debito = Nota DΓ©bito."
    },
    "associatedInvoice": {
      "type": "object",
      "properties": {
        "tipo": {
          "type": "string",
          "enum": [
            "1",
            "6",
            "11"
          ],
          "description": "WSFE tipoComprobante of the original factura: 1=A, 6=B, 11=C."
        },
        "ptoVta": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "description": "Punto de venta of the original invoice."
        },
        "nro": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "description": "Sequential number of the original invoice."
        }
      },
      "required": [
        "tipo",
        "ptoVta",
        "nro"
      ],
      "description": "Reference to the original invoice being credited or debited."
    },
    "concept": {
      "description": "Items or concept description (optional).",
      "type": "string"
    },
    "requestId": {
      "description": "Optional idempotency nonce.",
      "type": "string"
    }
  },
  "required": [
    "customerCuit",
    "amountARS",
    "tipo",
    "kind",
    "associatedInvoice"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟑create_product(name, price, costPrice, weightGrams, initialStock)

[demo: deshabilitada] Creates a new product in the business catalog. Requires name and price.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Product name."
    },
    "price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Selling price in ARS."
    },
    "costPrice": {
      "description": "Purchase cost price in ARS (optional).",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "weightGrams": {
      "description": "Weight in grams (optional).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "initialStock": {
      "default": 0,
      "description": "Initial stock quantity (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name",
    "price"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄edit_product(productId, name, price, costPrice, stockQuantity)

[demo: deshabilitada] Updates a single product's fields (name, price, costPrice, or stockQuantity).

Input Schema

{
  "type": "object",
  "properties": {
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the product to update."
    },
    "name": {
      "description": "New product name (optional).",
      "type": "string",
      "minLength": 1
    },
    "price": {
      "description": "New selling price in ARS (optional).",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "costPrice": {
      "description": "New cost price, or null to clear (optional).",
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ]
    },
    "stockQuantity": {
      "description": "Set stock to this value (optional).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "productId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄stock_load(productId, itemName, supplierId, supplierName, quantity, ...)

[demo: deshabilitada] Records inbound stock for a product β€” restock or initial stock, with an audit trail.

Input Schema

{
  "type": "object",
  "properties": {
    "productId": {
      "description": "Existing product ID (optional if itemName resolves it).",
      "type": "string"
    },
    "itemName": {
      "type": "string",
      "minLength": 1,
      "description": "Product name for resolution or auto-creation."
    },
    "supplierId": {
      "description": "Existing supplier ID (optional).",
      "type": "string"
    },
    "supplierName": {
      "description": "Supplier name (optional).",
      "type": "string"
    },
    "quantity": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Units received."
    },
    "unitPrice": {
      "description": "Cost per unit in ARS.",
      "type": "number",
      "minimum": 0
    },
    "autoCreateProduct": {
      "default": false,
      "description": "Auto-create product if not found.",
      "type": "boolean"
    },
    "createPurchaseRequest": {
      "default": false,
      "description": "Also create a purchase request for this stock load.",
      "type": "boolean"
    }
  },
  "required": [
    "itemName",
    "quantity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄adjust_stock(productId, mode, quantity)

[demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail).

Input Schema

{
  "type": "object",
  "properties": {
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "Product ID to update."
    },
    "mode": {
      "type": "string",
      "const": "set",
      "description": "Must be 'set'. Absolute-set is the only mode available via MCP."
    },
    "quantity": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "New absolute stock quantity."
    }
  },
  "required": [
    "productId",
    "mode",
    "quantity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄delete_product(productId)

[demo: deshabilitada] Deletes (or soft-archives, when it has sale records) a product from the catalog.

Input Schema

{
  "type": "object",
  "properties": {
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the product to delete."
    }
  },
  "required": [
    "productId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄bulk_price_update(amount, mode, direction, productIds)

[demo: deshabilitada] Mass price change for all products or a specified subset in this business.

Input Schema

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Adjustment amount β€” percentage or fixed ARS value depending on mode."
    },
    "mode": {
      "type": "string",
      "enum": [
        "percent",
        "fixed"
      ],
      "description": "'percent' = percentage change; 'fixed' = absolute ARS change."
    },
    "direction": {
      "type": "string",
      "enum": [
        "up",
        "down",
        "set"
      ],
      "description": "'up' raises, 'down' lowers, 'set' assigns an exact price."
    },
    "productIds": {
      "description": "Specific product IDs to update. Omit to update ALL products.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  },
  "required": [
    "amount",
    "mode",
    "direction"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒query_catalog(search)

Lists active products in the business catalog. Returns products sorted by name, each with id, name, price (ARS), costPrice, sku, stock quantity, and weightGrams.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Optional name filter (case-insensitive substring match).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_catalog_selector(search)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Optional name filter (case-insensitive substring match).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄register_sale(items, customerId, paymentMethod, requestId)

[demo: deshabilitada] Records a sale for the authenticated business. Creates a full Sale with SaleItems, decrements inventory, creates a CashMovement and Invoice.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Units sold (positive integer)."
          },
          "unitPrice": {
            "description": "Sale price per unit in ARS (optional; catalog price used when omitted).",
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      },
      "description": "Line items for the sale."
    },
    "customerId": {
      "description": "Optional customer ID. Omit for anonymous sales.",
      "type": "string"
    },
    "paymentMethod": {
      "description": "Defaults to 'efectivo' when omitted.",
      "type": "string",
      "enum": [
        "efectivo",
        "transferencia",
        "mp",
        "qr",
        "modo"
      ]
    },
    "requestId": {
      "description": "Optional idempotency override.",
      "type": "string"
    }
  },
  "required": [
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄register_movement(type, description, amount, date)

[demo: deshabilitada] Records a cash-register movement for the authenticated business ('purchase', 'income', 'salary', 'tax', 'adjustment').

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "purchase",
        "tax",
        "salary",
        "adjustment",
        "income",
        "sale"
      ],
      "description": "Movement type."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Description (e.g. 'Pago proveedor Distribuidora ABC')."
    },
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Amount in ARS (always positive)."
    },
    "date": {
      "description": "ISO 8601 date/datetime. Defaults to now.",
      "type": "string"
    }
  },
  "required": [
    "type",
    "description",
    "amount"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄return_sale(confirm, count, cutoffHours)

[demo: deshabilitada] Reverses the N most-recent sales within a time window. Restores inventory, removes CashMovement, SaleItem, Invoice, and Sale records. Destructive and irreversible.

Input Schema

{
  "type": "object",
  "properties": {
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be explicitly true to confirm reversing sales."
    },
    "count": {
      "default": 1,
      "description": "Number of recent sales to reverse (max 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10
    },
    "cutoffHours": {
      "default": 24,
      "description": "Only consider sales within the last N hours (max 48).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 48
    }
  },
  "required": [
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒find_customer(name, phone)

Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Customer name substring to search (case-insensitive).",
      "type": "string"
    },
    "phone": {
      "description": "Customer phone number or partial number to search.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄upsert_customer(customerId, name, phone, email, address, ...)

[demo: deshabilitada] Creates a new customer or updates an existing one for the authenticated business.

Input Schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "description": "When provided, updates the customer with this id.",
      "type": "string"
    },
    "name": {
      "description": "Customer display name.",
      "type": "string"
    },
    "phone": {
      "description": "Customer phone number.",
      "type": "string"
    },
    "email": {
      "description": "Customer email address (optional).",
      "type": "string"
    },
    "address": {
      "description": "Customer street address (optional).",
      "type": "string"
    },
    "postalCode": {
      "description": "Customer postal code (optional).",
      "type": "string"
    },
    "city": {
      "description": "Customer city or locality (optional).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄delete_customer(customerId)

[demo: deshabilitada] Deletes a customer from this business (blocked when the customer has sales or invoices).

Input Schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the customer to delete."
    }
  },
  "required": [
    "customerId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒quote_shipping(originPostalCode, destinationPostalCode, weightGrams, declaredValue)

Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending.

Input Schema

{
  "type": "object",
  "properties": {
    "originPostalCode": {
      "type": "string",
      "description": "Origin postal code (4 digits)."
    },
    "destinationPostalCode": {
      "type": "string",
      "description": "Destination postal code (4 digits)."
    },
    "weightGrams": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Total shipment weight in grams."
    },
    "declaredValue": {
      "description": "Declared value in ARS for insurance.",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "originPostalCode",
    "destinationPostalCode",
    "weightGrams"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄create_shipment(provider, saleId, customerName, customerLastName, customerAddress, ...)

[demo: deshabilitada] Creates a physical shipment via the chosen courier and returns a tracking number and label URL.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "Courier slug from quote_shipping ('andreani', 'oca')."
    },
    "saleId": {
      "type": "string",
      "description": "Velora Sale ID."
    },
    "customerName": {
      "type": "string",
      "description": "Recipient first name."
    },
    "customerLastName": {
      "description": "Recipient last name (optional).",
      "type": "string"
    },
    "customerAddress": {
      "type": "string",
      "description": "Recipient street name."
    },
    "customerAddressNumber": {
      "description": "Recipient street number (required by OCA).",
      "type": "string"
    },
    "customerPostalCode": {
      "type": "string",
      "description": "Recipient postal code."
    },
    "customerCity": {
      "description": "Recipient city (optional).",
      "type": "string"
    },
    "customerProvince": {
      "description": "Recipient province (required by OCA).",
      "type": "string"
    },
    "customerPhone": {
      "description": "Recipient phone number (optional).",
      "type": "string"
    },
    "customerDni": {
      "description": "Recipient DNI (required by Andreani in production).",
      "type": "string"
    },
    "service": {
      "description": "Courier-specific service key (defaults to 'domicilio').",
      "type": "string"
    },
    "weightGrams": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Total shipment weight in grams."
    }
  },
  "required": [
    "provider",
    "saleId",
    "customerName",
    "customerAddress",
    "customerPostalCode",
    "weightGrams"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒track_shipment(trackingNumber, provider)

Tracks the current status and event history of a shipment by tracking number.

Input Schema

{
  "type": "object",
  "properties": {
    "trackingNumber": {
      "type": "string",
      "description": "Tracking number returned by the courier at shipment creation time."
    },
    "provider": {
      "type": "string",
      "description": "Courier that created the shipment ('andreani', 'oca')."
    }
  },
  "required": [
    "trackingNumber",
    "provider"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_package_profile(saleId, productIds, weightGramsOverride)

Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride.

Input Schema

{
  "type": "object",
  "properties": {
    "saleId": {
      "description": "Velora Sale ID (takes priority over productIds).",
      "type": "string"
    },
    "productIds": {
      "description": "Array of Velora Product IDs (assumes qty=1 per id).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "weightGramsOverride": {
      "description": "Explicit weight override in grams.",
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄send_whatsapp_text(to, text, mediaUrl)

[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).

Input Schema

{
  "type": "object",
  "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": {
      "description": "Optional public URL of a media file to attach.",
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "to",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄send_whatsapp_template(to, templateName, components, languageCode)

[demo: deshabilitada] Sends a pre-approved Meta WhatsApp template message. Window-independent β€” can be sent proactively, outside the 24-hour session window.

Input Schema

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "minLength": 1,
      "description": "Recipient phone number (local AR or E.164)."
    },
    "templateName": {
      "type": "string",
      "description": "Exact template name as registered in Meta Business Manager."
    },
    "components": {
      "description": "Template variable substitutions (omit for templates with no placeholders).",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "body",
              "header",
              "button"
            ],
            "description": "Component section to populate."
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "const": "text"
                },
                "text": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "text"
              ]
            },
            "description": "Ordered text substitutions."
          }
        },
        "required": [
          "type",
          "parameters"
        ]
      }
    },
    "languageCode": {
      "description": "BCP-47 language code (defaults to 'es_AR').",
      "type": "string"
    }
  },
  "required": [
    "to",
    "templateName"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒connection_status

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒caja_consultar_saldo

Queries the current cash register balance for the authenticated business β€” the open session data or the last closed session. Read-only.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄caja_ciclo_caja(action, monto, nota)

[demo: deshabilitada] Opens or closes a cash register shift for the authenticated business.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "abrir",
        "cerrar"
      ],
      "description": "'abrir' to open a shift, 'cerrar' to close it."
    },
    "monto": {
      "type": "number",
      "minimum": 0,
      "description": "Opening float (abrir) or physically counted cash (cerrar) in ARS."
    },
    "nota": {
      "description": "Optional operator note.",
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "action",
    "monto"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄caja_registrar_movimiento(tipo, monto, descripcion)

[demo: deshabilitada] Records a cash movement tied to the OPEN caja shift: income, expense, withdrawal, tax, or payroll.

Input Schema

{
  "type": "object",
  "properties": {
    "tipo": {
      "type": "string",
      "enum": [
        "ingreso",
        "gasto",
        "retiro",
        "sangria",
        "sangrΓ­a",
        "impuesto",
        "sueldo"
      ],
      "description": "Movement type."
    },
    "monto": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Positive amount in ARS."
    },
    "descripcion": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "Movement description."
    }
  },
  "required": [
    "tipo",
    "monto",
    "descripcion"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_payment_intent_status(paymentIntentId, customerName)

Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name.

Input Schema

{
  "type": "object",
  "properties": {
    "paymentIntentId": {
      "description": "Velora PaymentIntent id. Optional when customerName is provided.",
      "type": "string"
    },
    "customerName": {
      "description": "Customer name (fuzzy match).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_payment_link_wizard(description, customerId, items)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Cobro description (e.g. '3 alfajores')."
    },
    "customerId": {
      "description": "Customer ID (optional).",
      "type": "string",
      "minLength": 1
    },
    "items": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Units."
          },
          "unitPriceOverride": {
            "description": "Optional negotiated unit price.",
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      },
      "description": "Line items (productId + quantity)."
    }
  },
  "required": [
    "description",
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_pending_orders

Opens the pending cobros dashboard β€” a read-only widget listing PaymentIntents awaiting payment. Side-effect-free.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_cobro_status(paymentIntentId, customerName)

Opens the cobro status widget β€” a read-only view of ONE PaymentIntent's payment state. Accepts paymentIntentId OR customerName.

Input Schema

{
  "type": "object",
  "properties": {
    "paymentIntentId": {
      "description": "Velora PaymentIntent id (optional when customerName is provided).",
      "type": "string"
    },
    "customerName": {
      "description": "Customer name (optional when paymentIntentId is provided).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_delivery_receipt(paymentIntentId, saleId, customerName)

Opens the comprobante + envΓ­o widget β€” a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.

Input Schema

{
  "type": "object",
  "properties": {
    "paymentIntentId": {
      "description": "Velora PaymentIntent id (optional).",
      "type": "string"
    },
    "saleId": {
      "description": "Velora Sale id (optional).",
      "type": "string"
    },
    "customerName": {
      "description": "Customer name (optional).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄create_tracked_payment_link(customerId, items, description, expiresInDays, idempotencyKey)

[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.

Input Schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "type": "string",
      "minLength": 1,
      "description": "Customer ID."
    },
    "items": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Units."
          },
          "unitPriceOverride": {
            "description": "Optional negotiated unit price.",
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      },
      "description": "Line items."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Cobro description shown on the MP preference."
    },
    "expiresInDays": {
      "description": "Link lifetime in days (1–30, default 3).",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "description": "Stable UUID generated by the wizard."
    }
  },
  "required": [
    "customerId",
    "items",
    "description",
    "idempotencyKey"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒list_suppliers(search)

Returns all suppliers for this business (up to 50, sorted by name).

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Optional name substring to filter suppliers.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟑create_supplier(name, phone, email, contactName, leadTimeDays)

[demo: deshabilitada] Creates a supplier for this business.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Supplier name (must be unique within this business)."
    },
    "phone": {
      "description": "Supplier phone number (optional).",
      "type": "string"
    },
    "email": {
      "description": "Supplier email address (optional).",
      "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,}$"
    },
    "contactName": {
      "description": "Contact person name (optional).",
      "type": "string"
    },
    "leadTimeDays": {
      "description": "Default lead time in days (optional).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄create_purchase_request(supplierId, supplierName, itemName, quantity, unitPrice)

[demo: deshabilitada] Creates a procurement order (purchase request) to a supplier.

Input Schema

{
  "type": "object",
  "properties": {
    "supplierId": {
      "description": "Existing supplier ID (optional if supplierName is provided).",
      "type": "string"
    },
    "supplierName": {
      "description": "Supplier name (optional if supplierId is provided).",
      "type": "string"
    },
    "itemName": {
      "type": "string",
      "minLength": 1,
      "description": "Name of the item being ordered."
    },
    "quantity": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Quantity to order."
    },
    "unitPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Unit price per item in ARS."
    }
  },
  "required": [
    "itemName",
    "quantity",
    "unitPrice"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄edit_supplier(supplierId, name, phone, email, contactName, ...)

[demo: deshabilitada] Updates an existing supplier's fields.

Input Schema

{
  "type": "object",
  "properties": {
    "supplierId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the supplier to update."
    },
    "name": {
      "description": "New supplier name (optional).",
      "type": "string",
      "minLength": 1
    },
    "phone": {
      "description": "New phone number, or null to clear.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "email": {
      "description": "New email, or null to clear.",
      "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"
        }
      ]
    },
    "contactName": {
      "description": "New contact person name, or null to clear.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "leadTimeDays": {
      "description": "New lead time in days, or null to clear.",
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "supplierId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄delete_supplier(supplierId)

[demo: deshabilitada] Deletes a supplier from this business (with full audit trail).

Input Schema

{
  "type": "object",
  "properties": {
    "supplierId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the supplier to delete."
    }
  },
  "required": [
    "supplierId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒query_sales(metrica, preset, from, to, customer_name, ...)

Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'.

Input Schema

{
  "type": "object",
  "properties": {
    "metrica": {
      "type": "string",
      "enum": [
        "ventas_periodo",
        "margen",
        "ranking_productos",
        "por_empleado",
        "historial_cliente"
      ],
      "description": "Metric to query."
    },
    "preset": {
      "description": "Preset date range. Mutually exclusive with from/to.",
      "type": "string",
      "enum": [
        "hoy",
        "semana",
        "mes"
      ]
    },
    "from": {
      "description": "Start date YYYY-MM-DD. Requires 'to'.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "to": {
      "description": "End date YYYY-MM-DD. Requires 'from'.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "customer_name": {
      "description": "Customer name or fragment. Only for historial_cliente.",
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "default": 10,
      "description": "Max results (default 10, max 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "metrica"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄connect_mercadopago(accessToken)

[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.

Input Schema

{
  "type": "object",
  "properties": {
    "accessToken": {
      "description": "Optional MercadoPago production access token.",
      "type": "string",
      "minLength": 20,
      "pattern": "^APP_USR-.*"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄connect_pedidosya(apiToken)

[demo: deshabilitada] Connects PedidosYa for this business using the BYOA secure-form model. Primary: returns a secure link. Fallback: accepts an API token directly.

Input Schema

{
  "type": "object",
  "properties": {
    "apiToken": {
      "description": "Optional PedidosYa API token.",
      "type": "string",
      "minLength": 1
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄connect_whatsapp(phone)

[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.

Input Schema

{
  "type": "object",
  "properties": {
    "phone": {
      "description": "Optional WhatsApp Business phone in E.164 format.",
      "type": "string",
      "minLength": 8
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄connect_tiendanube

[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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄upload_catalog(products)

[demo: deshabilitada] Bulk-creates products in the business catalog from a structured list (up to 50 items).

Input Schema

{
  "type": "object",
  "properties": {
    "products": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Product name."
          },
          "price": {
            "type": "number",
            "description": "Selling price in ARS."
          }
        },
        "required": [
          "name",
          "price"
        ]
      },
      "description": "List of products to create (1–50 items)."
    }
  },
  "required": [
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_sale_confirm(items, customerId)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Units to sell."
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      },
      "description": "Line items for the sale."
    },
    "customerId": {
      "description": "Optional customer ID (omit for anonymous sales).",
      "type": "string"
    }
  },
  "required": [
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_caja_status

Opens a visual widget showing the current shift state and action buttons. Read-only here.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_onboarding

Opens a graphical onboarding hub showing integration status and connect links. Read-only.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_business_overview(customerName, defaultTab)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "customerName": {
      "description": "Optional customer name to pre-search on the Cliente 360 tab.",
      "type": "string"
    },
    "defaultTab": {
      "description": "Optional fullscreen tab to open into.",
      "type": "string",
      "enum": [
        "cliente_360",
        "cierre_dia",
        "reposicion_stock",
        "dashboard_ventas"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒open_shipment_prep(items, originPostalCode, destinationPostalCode, declaredValue)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Units."
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      },
      "description": "Line items to prepare for shipment."
    },
    "originPostalCode": {
      "type": "string",
      "description": "Origin postal code (4 digits)."
    },
    "destinationPostalCode": {
      "type": "string",
      "description": "Destination postal code (4 digits)."
    },
    "declaredValue": {
      "description": "Declared value in ARS for insurance.",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "items",
    "originPostalCode",
    "destinationPostalCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools