Velora LATAM Tools
Argentina CUIT/CUIL validation and AFIP fiscal QR generation. Pure, no-auth MCP tools.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen query_sales
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"latam-tools": {
"url": "https://tools.somosvelora.com/api/mcp/public"
}
}
}Puntos de conexión remotos
https://tools.somosvelora.com/api/mcp/publicstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (22)
🟢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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"description": "Optional name filter (case-insensitive substring match).",
"type": "string"
}
},
"$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.
Esquema de entrada
{
"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"
}🟢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.
Esquema de entrada
{
"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"
}🟢track_shipment(trackingNumber, provider)
Tracks the current status and event history of a shipment by tracking number.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}🟢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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}🟢list_suppliers(search)
Returns all suppliers for this business (up to 50, sorted by name).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"description": "Optional name substring to filter suppliers.",
"type": "string"
}
},
"$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'.
Esquema de entrada
{
"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"
}🟢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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia