Server definition
- Hash
- sha256:72b741e241d23cbc04cacb1609d4457b87b6b6de986f990c48177402c4db7920
- What it is
- What a remote MCP server returned when asked what it offers: 50 tools
The blob, as servednamed by its sha256
{
"instructions": "DEMO MODE — this is a free, public, always-on demo of the Velora MCP toolkit, not the production server (which is paused). Pure tools (validate_cuit) run real logic. Read tools return a fixed, fictional dataset ('Almacén Demo SRL'), always labeled [DEMO] with _demo: true in structuredContent — never confuse this for real business data. Tools with a real side effect in production (fiscal emission, payments, WhatsApp sends, database writes) refuse to execute here and return isError: true with an honest explanation instead of a fabricated result — the schema and contract shown are the real production ones. See https://github.com/crossi-dev/velora-mcp-demo for source.",
"tools": [
{
"description": "[demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"const": "set",
"description": "Must be 'set'. Absolute-set is the only mode available via MCP.",
"type": "string"
},
"productId": {
"description": "Product ID to update.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "New absolute stock quantity.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"productId",
"mode",
"quantity"
],
"type": "object"
},
"name": "adjust_stock",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Mass price change for all products or a specified subset in this business.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"amount": {
"description": "Adjustment amount — percentage or fixed ARS value depending on mode.",
"exclusiveMinimum": 0,
"type": "number"
},
"direction": {
"description": "'up' raises, 'down' lowers, 'set' assigns an exact price.",
"enum": [
"up",
"down",
"set"
],
"type": "string"
},
"mode": {
"description": "'percent' = percentage change; 'fixed' = absolute ARS change.",
"enum": [
"percent",
"fixed"
],
"type": "string"
},
"productIds": {
"description": "Specific product IDs to update. Omit to update ALL products.",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
}
},
"required": [
"amount",
"mode",
"direction"
],
"type": "object"
},
"name": "bulk_price_update",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Opens or closes a cash register shift for the authenticated business.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"action": {
"description": "'abrir' to open a shift, 'cerrar' to close it.",
"enum": [
"abrir",
"cerrar"
],
"type": "string"
},
"monto": {
"description": "Opening float (abrir) or physically counted cash (cerrar) in ARS.",
"minimum": 0,
"type": "number"
},
"nota": {
"description": "Optional operator note.",
"maxLength": 500,
"type": "string"
}
},
"required": [
"action",
"monto"
],
"type": "object"
},
"name": "caja_ciclo_caja",
"outputSchema": null
},
{
"description": "Queries the current cash register balance for the authenticated business — the open session data or the last closed session. Read-only.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "caja_consultar_saldo",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Records a cash movement tied to the OPEN caja shift: income, expense, withdrawal, tax, or payroll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"descripcion": {
"description": "Movement description.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"monto": {
"description": "Positive amount in ARS.",
"exclusiveMinimum": 0,
"type": "number"
},
"tipo": {
"description": "Movement type.",
"enum": [
"ingreso",
"gasto",
"retiro",
"sangria",
"sangría",
"impuesto",
"sueldo"
],
"type": "string"
}
},
"required": [
"tipo",
"monto",
"descripcion"
],
"type": "object"
},
"name": "caja_registrar_movimiento",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"accessToken": {
"description": "Optional MercadoPago production access token.",
"minLength": 20,
"pattern": "^APP_USR-.*",
"type": "string"
}
},
"type": "object"
},
"name": "connect_mercadopago",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Connects PedidosYa for this business using the BYOA secure-form model. Primary: returns a secure link. Fallback: accepts an API token directly.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"apiToken": {
"description": "Optional PedidosYa API token.",
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "connect_pedidosya",
"outputSchema": null
},
{
"description": "[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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "connect_tiendanube",
"outputSchema": null
},
{
"description": "[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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"phone": {
"description": "Optional WhatsApp Business phone in E.164 format.",
"minLength": 8,
"type": "string"
}
},
"type": "object"
},
"name": "connect_whatsapp",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "connection_status",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Creates a new product in the business catalog. Requires name and price.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"costPrice": {
"description": "Purchase cost price in ARS (optional).",
"exclusiveMinimum": 0,
"type": "number"
},
"initialStock": {
"default": 0,
"description": "Initial stock quantity (default 0).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"name": {
"description": "Product name.",
"minLength": 1,
"type": "string"
},
"price": {
"description": "Selling price in ARS.",
"exclusiveMinimum": 0,
"type": "number"
},
"weightGrams": {
"description": "Weight in grams (optional).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"name",
"price"
],
"type": "object"
},
"name": "create_product",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Creates a procurement order (purchase request) to a supplier.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"itemName": {
"description": "Name of the item being ordered.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Quantity to order.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"supplierId": {
"description": "Existing supplier ID (optional if supplierName is provided).",
"type": "string"
},
"supplierName": {
"description": "Supplier name (optional if supplierId is provided).",
"type": "string"
},
"unitPrice": {
"description": "Unit price per item in ARS.",
"minimum": 0,
"type": "number"
}
},
"required": [
"itemName",
"quantity",
"unitPrice"
],
"type": "object"
},
"name": "create_purchase_request",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Creates a physical shipment via the chosen courier and returns a tracking number and label URL.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerAddress": {
"description": "Recipient street name.",
"type": "string"
},
"customerAddressNumber": {
"description": "Recipient street number (required by OCA).",
"type": "string"
},
"customerCity": {
"description": "Recipient city (optional).",
"type": "string"
},
"customerDni": {
"description": "Recipient DNI (required by Andreani in production).",
"type": "string"
},
"customerLastName": {
"description": "Recipient last name (optional).",
"type": "string"
},
"customerName": {
"description": "Recipient first name.",
"type": "string"
},
"customerPhone": {
"description": "Recipient phone number (optional).",
"type": "string"
},
"customerPostalCode": {
"description": "Recipient postal code.",
"type": "string"
},
"customerProvince": {
"description": "Recipient province (required by OCA).",
"type": "string"
},
"provider": {
"description": "Courier slug from quote_shipping ('andreani', 'oca').",
"type": "string"
},
"saleId": {
"description": "Velora Sale ID.",
"type": "string"
},
"service": {
"description": "Courier-specific service key (defaults to 'domicilio').",
"type": "string"
},
"weightGrams": {
"description": "Total shipment weight in grams.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"provider",
"saleId",
"customerName",
"customerAddress",
"customerPostalCode",
"weightGrams"
],
"type": "object"
},
"name": "create_shipment",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Creates a supplier for this business.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contactName": {
"description": "Contact person name (optional).",
"type": "string"
},
"email": {
"description": "Supplier email address (optional).",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"leadTimeDays": {
"description": "Default lead time in days (optional).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"name": {
"description": "Supplier name (must be unique within this business).",
"minLength": 1,
"type": "string"
},
"phone": {
"description": "Supplier phone number (optional).",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_supplier",
"outputSchema": null
},
{
"description": "[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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerId": {
"description": "Customer ID.",
"minLength": 1,
"type": "string"
},
"description": {
"description": "Cobro description shown on the MP preference.",
"minLength": 1,
"type": "string"
},
"expiresInDays": {
"description": "Link lifetime in days (1–30, default 3).",
"maximum": 30,
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"description": "Stable UUID generated by the wizard.",
"minLength": 1,
"type": "string"
},
"items": {
"description": "Line items.",
"items": {
"properties": {
"productId": {
"description": "Product ID.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Units.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPriceOverride": {
"description": "Optional negotiated unit price.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"customerId",
"items",
"description",
"idempotencyKey"
],
"type": "object"
},
"name": "create_tracked_payment_link",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Deletes a customer from this business (blocked when the customer has sales or invoices).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerId": {
"description": "ID of the customer to delete.",
"minLength": 1,
"type": "string"
}
},
"required": [
"customerId"
],
"type": "object"
},
"name": "delete_customer",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Deletes (or soft-archives, when it has sale records) a product from the catalog.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"productId": {
"description": "ID of the product to delete.",
"minLength": 1,
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"name": "delete_product",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Deletes a supplier from this business (with full audit trail).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"supplierId": {
"description": "ID of the supplier to delete.",
"minLength": 1,
"type": "string"
}
},
"required": [
"supplierId"
],
"type": "object"
},
"name": "delete_supplier",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Updates a single product's fields (name, price, costPrice, or stockQuantity).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"costPrice": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "New cost price, or null to clear (optional)."
},
"name": {
"description": "New product name (optional).",
"minLength": 1,
"type": "string"
},
"price": {
"description": "New selling price in ARS (optional).",
"exclusiveMinimum": 0,
"type": "number"
},
"productId": {
"description": "ID of the product to update.",
"minLength": 1,
"type": "string"
},
"stockQuantity": {
"description": "Set stock to this value (optional).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"productId"
],
"type": "object"
},
"name": "edit_product",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Updates an existing supplier's fields.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contactName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "New contact person name, or null to clear."
},
"email": {
"anyOf": [
{
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
{
"type": "null"
}
],
"description": "New email, or null to clear."
},
"leadTimeDays": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"type": "null"
}
],
"description": "New lead time in days, or null to clear."
},
"name": {
"description": "New supplier name (optional).",
"minLength": 1,
"type": "string"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "New phone number, or null to clear."
},
"supplierId": {
"description": "ID of the supplier to update.",
"minLength": 1,
"type": "string"
}
},
"required": [
"supplierId"
],
"type": "object"
},
"name": "edit_supplier",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Emits an ARCA (formerly AFIP)-compliant electronic invoice (factura electrónica) for the authenticated business and returns the CAE authorization code.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"amountARS": {
"description": "Invoice total in Argentine pesos (ARS).",
"exclusiveMinimum": 0,
"type": "number"
},
"concept": {
"description": "Items or concept description (optional).",
"type": "string"
},
"customerCuit": {
"description": "Customer CUIT/CUIL (11 digits, any format).",
"type": "string"
},
"requestId": {
"description": "Optional idempotency nonce.",
"type": "string"
},
"tipo": {
"description": "A = IVA discriminado (B2B), B = consumidor final, C = monotributo.",
"enum": [
"A",
"B",
"C"
],
"type": "string"
}
},
"required": [
"customerCuit",
"amountARS",
"tipo"
],
"type": "object"
},
"name": "emit_invoice",
"outputSchema": null
},
{
"description": "[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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"amountARS": {
"description": "Note total in Argentine pesos (ARS).",
"exclusiveMinimum": 0,
"type": "number"
},
"associatedInvoice": {
"description": "Reference to the original invoice being credited or debited.",
"properties": {
"nro": {
"description": "Sequential number of the original invoice.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"ptoVta": {
"description": "Punto de venta of the original invoice.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"tipo": {
"description": "WSFE tipoComprobante of the original factura: 1=A, 6=B, 11=C.",
"enum": [
"1",
"6",
"11"
],
"type": "string"
}
},
"required": [
"tipo",
"ptoVta",
"nro"
],
"type": "object"
},
"concept": {
"description": "Items or concept description (optional).",
"type": "string"
},
"customerCuit": {
"description": "Customer CUIT/CUIL (11 digits, any format).",
"type": "string"
},
"kind": {
"description": "credito = Nota Crédito, debito = Nota Débito.",
"enum": [
"credito",
"debito"
],
"type": "string"
},
"requestId": {
"description": "Optional idempotency nonce.",
"type": "string"
},
"tipo": {
"description": "Invoice type letter for this nota.",
"enum": [
"A",
"B",
"C"
],
"type": "string"
}
},
"required": [
"customerCuit",
"amountARS",
"tipo",
"kind",
"associatedInvoice"
],
"type": "object"
},
"name": "emit_nota",
"outputSchema": null
},
{
"description": "Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"description": "Customer name substring to search (case-insensitive).",
"type": "string"
},
"phone": {
"description": "Customer phone number or partial number to search.",
"type": "string"
}
},
"type": "object"
},
"name": "find_customer",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_fiscal_readiness",
"outputSchema": null
},
{
"description": "Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"productIds": {
"description": "Array of Velora Product IDs (assumes qty=1 per id).",
"items": {
"type": "string"
},
"type": "array"
},
"saleId": {
"description": "Velora Sale ID (takes priority over productIds).",
"type": "string"
},
"weightGramsOverride": {
"description": "Explicit weight override in grams.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "get_package_profile",
"outputSchema": null
},
{
"description": "Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"description": "Customer name (fuzzy match).",
"type": "string"
},
"paymentIntentId": {
"description": "Velora PaymentIntent id. Optional when customerName is provided.",
"type": "string"
}
},
"type": "object"
},
"name": "get_payment_intent_status",
"outputSchema": null
},
{
"description": "Returns all suppliers for this business (up to 50, sorted by name).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"description": "Optional name substring to filter suppliers.",
"type": "string"
}
},
"type": "object"
},
"name": "list_suppliers",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"description": "Optional customer name to pre-search on the Cliente 360 tab.",
"type": "string"
},
"defaultTab": {
"description": "Optional fullscreen tab to open into.",
"enum": [
"cliente_360",
"cierre_dia",
"reposicion_stock",
"dashboard_ventas"
],
"type": "string"
}
},
"type": "object"
},
"name": "open_business_overview",
"outputSchema": null
},
{
"description": "Opens a visual widget showing the current shift state and action buttons. Read-only here.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "open_caja_status",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"description": "Optional name filter (case-insensitive substring match).",
"type": "string"
}
},
"type": "object"
},
"name": "open_catalog_selector",
"outputSchema": null
},
{
"description": "Opens the cobro status widget — a read-only view of ONE PaymentIntent's payment state. Accepts paymentIntentId OR customerName.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"description": "Customer name (optional when paymentIntentId is provided).",
"type": "string"
},
"paymentIntentId": {
"description": "Velora PaymentIntent id (optional when customerName is provided).",
"type": "string"
}
},
"type": "object"
},
"name": "open_cobro_status",
"outputSchema": null
},
{
"description": "Opens the comprobante + envío widget — a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerName": {
"description": "Customer name (optional).",
"type": "string"
},
"paymentIntentId": {
"description": "Velora PaymentIntent id (optional).",
"type": "string"
},
"saleId": {
"description": "Velora Sale id (optional).",
"type": "string"
}
},
"type": "object"
},
"name": "open_delivery_receipt",
"outputSchema": null
},
{
"description": "Opens a graphical onboarding hub showing integration status and connect links. Read-only.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "open_onboarding",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerId": {
"description": "Customer ID (optional).",
"minLength": 1,
"type": "string"
},
"description": {
"description": "Cobro description (e.g. '3 alfajores').",
"minLength": 1,
"type": "string"
},
"items": {
"description": "Line items (productId + quantity).",
"items": {
"properties": {
"productId": {
"description": "Product ID.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Units.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPriceOverride": {
"description": "Optional negotiated unit price.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"description",
"items"
],
"type": "object"
},
"name": "open_payment_link_wizard",
"outputSchema": null
},
{
"description": "Opens the pending cobros dashboard — a read-only widget listing PaymentIntents awaiting payment. Side-effect-free.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "open_pending_orders",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerId": {
"description": "Optional customer ID (omit for anonymous sales).",
"type": "string"
},
"items": {
"description": "Line items for the sale.",
"items": {
"properties": {
"productId": {
"description": "Product ID.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Units to sell.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
},
"name": "open_sale_confirm",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"declaredValue": {
"description": "Declared value in ARS for insurance.",
"minimum": 0,
"type": "number"
},
"destinationPostalCode": {
"description": "Destination postal code (4 digits).",
"type": "string"
},
"items": {
"description": "Line items to prepare for shipment.",
"items": {
"properties": {
"productId": {
"description": "Product ID.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Units.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"originPostalCode": {
"description": "Origin postal code (4 digits).",
"type": "string"
}
},
"required": [
"items",
"originPostalCode",
"destinationPostalCode"
],
"type": "object"
},
"name": "open_shipment_prep",
"outputSchema": null
},
{
"description": "Lists active products in the business catalog. Returns products sorted by name, each with id, name, price (ARS), costPrice, sku, stock quantity, and weightGrams.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"description": "Optional name filter (case-insensitive substring match).",
"type": "string"
}
},
"type": "object"
},
"name": "query_catalog",
"outputSchema": null
},
{
"description": "Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_name": {
"description": "Customer name or fragment. Only for historial_cliente.",
"minLength": 1,
"type": "string"
},
"from": {
"description": "Start date YYYY-MM-DD. Requires 'to'.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"limit": {
"default": 10,
"description": "Max results (default 10, max 50).",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"metrica": {
"description": "Metric to query.",
"enum": [
"ventas_periodo",
"margen",
"ranking_productos",
"por_empleado",
"historial_cliente"
],
"type": "string"
},
"preset": {
"description": "Preset date range. Mutually exclusive with from/to.",
"enum": [
"hoy",
"semana",
"mes"
],
"type": "string"
},
"to": {
"description": "End date YYYY-MM-DD. Requires 'from'.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"metrica"
],
"type": "object"
},
"name": "query_sales",
"outputSchema": null
},
{
"description": "Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"declaredValue": {
"description": "Declared value in ARS for insurance.",
"minimum": 0,
"type": "number"
},
"destinationPostalCode": {
"description": "Destination postal code (4 digits).",
"type": "string"
},
"originPostalCode": {
"description": "Origin postal code (4 digits).",
"type": "string"
},
"weightGrams": {
"description": "Total shipment weight in grams.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"originPostalCode",
"destinationPostalCode",
"weightGrams"
],
"type": "object"
},
"name": "quote_shipping",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Records a cash-register movement for the authenticated business ('purchase', 'income', 'salary', 'tax', 'adjustment').",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"amount": {
"description": "Amount in ARS (always positive).",
"exclusiveMinimum": 0,
"type": "number"
},
"date": {
"description": "ISO 8601 date/datetime. Defaults to now.",
"type": "string"
},
"description": {
"description": "Description (e.g. 'Pago proveedor Distribuidora ABC').",
"minLength": 1,
"type": "string"
},
"type": {
"description": "Movement type.",
"enum": [
"purchase",
"tax",
"salary",
"adjustment",
"income",
"sale"
],
"type": "string"
}
},
"required": [
"type",
"description",
"amount"
],
"type": "object"
},
"name": "register_movement",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Records a sale for the authenticated business. Creates a full Sale with SaleItems, decrements inventory, creates a CashMovement and Invoice.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customerId": {
"description": "Optional customer ID. Omit for anonymous sales.",
"type": "string"
},
"items": {
"description": "Line items for the sale.",
"items": {
"properties": {
"productId": {
"description": "Product ID.",
"minLength": 1,
"type": "string"
},
"quantity": {
"description": "Units sold (positive integer).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPrice": {
"description": "Sale price per unit in ARS (optional; catalog price used when omitted).",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
},
"paymentMethod": {
"description": "Defaults to 'efectivo' when omitted.",
"enum": [
"efectivo",
"transferencia",
"mp",
"qr",
"modo"
],
"type": "string"
},
"requestId": {
"description": "Optional idempotency override.",
"type": "string"
}
},
"required": [
"items"
],
"type": "object"
},
"name": "register_sale",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Reverses the N most-recent sales within a time window. Restores inventory, removes CashMovement, SaleItem, Invoice, and Sale records. Destructive and irreversible.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"confirm": {
"const": true,
"description": "Must be explicitly true to confirm reversing sales.",
"type": "boolean"
},
"count": {
"default": 1,
"description": "Number of recent sales to reverse (max 10).",
"exclusiveMinimum": 0,
"maximum": 10,
"type": "integer"
},
"cutoffHours": {
"default": 24,
"description": "Only consider sales within the last N hours (max 48).",
"exclusiveMinimum": 0,
"maximum": 48,
"type": "number"
}
},
"required": [
"confirm"
],
"type": "object"
},
"name": "return_sale",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Sends a pre-approved Meta WhatsApp template message. Window-independent — can be sent proactively, outside the 24-hour session window.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"components": {
"description": "Template variable substitutions (omit for templates with no placeholders).",
"items": {
"properties": {
"parameters": {
"description": "Ordered text substitutions.",
"items": {
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text",
"type": "string"
}
},
"required": [
"type",
"text"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "Component section to populate.",
"enum": [
"body",
"header",
"button"
],
"type": "string"
}
},
"required": [
"type",
"parameters"
],
"type": "object"
},
"type": "array"
},
"languageCode": {
"description": "BCP-47 language code (defaults to 'es_AR').",
"type": "string"
},
"templateName": {
"description": "Exact template name as registered in Meta Business Manager.",
"type": "string"
},
"to": {
"description": "Recipient phone number (local AR or E.164).",
"minLength": 1,
"type": "string"
}
},
"required": [
"to",
"templateName"
],
"type": "object"
},
"name": "send_whatsapp_template",
"outputSchema": null
},
{
"description": "[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).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mediaUrl": {
"description": "Optional public URL of a media file to attach.",
"format": "uri",
"type": "string"
},
"text": {
"description": "Message text body.",
"minLength": 1,
"type": "string"
},
"to": {
"description": "Recipient phone number (local AR or E.164).",
"minLength": 1,
"type": "string"
}
},
"required": [
"to",
"text"
],
"type": "object"
},
"name": "send_whatsapp_text",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Records inbound stock for a product — restock or initial stock, with an audit trail.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"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"
},
"itemName": {
"description": "Product name for resolution or auto-creation.",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "Existing product ID (optional if itemName resolves it).",
"type": "string"
},
"quantity": {
"description": "Units received.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"supplierId": {
"description": "Existing supplier ID (optional).",
"type": "string"
},
"supplierName": {
"description": "Supplier name (optional).",
"type": "string"
},
"unitPrice": {
"description": "Cost per unit in ARS.",
"minimum": 0,
"type": "number"
}
},
"required": [
"itemName",
"quantity"
],
"type": "object"
},
"name": "stock_load",
"outputSchema": null
},
{
"description": "Tracks the current status and event history of a shipment by tracking number.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"provider": {
"description": "Courier that created the shipment ('andreani', 'oca').",
"type": "string"
},
"trackingNumber": {
"description": "Tracking number returned by the courier at shipment creation time.",
"type": "string"
}
},
"required": [
"trackingNumber",
"provider"
],
"type": "object"
},
"name": "track_shipment",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Bulk-creates products in the business catalog from a structured list (up to 50 items).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"products": {
"description": "List of products to create (1–50 items).",
"items": {
"properties": {
"name": {
"description": "Product name.",
"type": "string"
},
"price": {
"description": "Selling price in ARS.",
"type": "number"
}
},
"required": [
"name",
"price"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
}
},
"required": [
"products"
],
"type": "object"
},
"name": "upload_catalog",
"outputSchema": null
},
{
"description": "[demo: deshabilitada] Creates a new customer or updates an existing one for the authenticated business.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address": {
"description": "Customer street address (optional).",
"type": "string"
},
"city": {
"description": "Customer city or locality (optional).",
"type": "string"
},
"customerId": {
"description": "When provided, updates the customer with this id.",
"type": "string"
},
"email": {
"description": "Customer email address (optional).",
"type": "string"
},
"name": {
"description": "Customer display name.",
"type": "string"
},
"phone": {
"description": "Customer phone number.",
"type": "string"
},
"postalCode": {
"description": "Customer postal code (optional).",
"type": "string"
}
},
"type": "object"
},
"name": "upsert_customer",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cuit": {
"description": "CUIT/CUIL in any format (digits, hyphens, or spaces).",
"type": "string"
}
},
"required": [
"cuit"
],
"type": "object"
},
"name": "validate_cuit",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:72b741e241d23cbc04cacb1609d4457b87b6b6de986f990c48177402c4db7920 | sha256sum