Koskamo

Velora MCP

An agentic-commerce MCP toolkit providing 61 tools for autonomous sales, invoicing via AFIP, payments via MercadoPago, logistics tracking, catalog management, and messaging. It enables end-to-end commerce loops including fiscal compliance and agent-to-agent coordination.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Velora MCP logo, by VeloraVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Velora
MCP endpoint (Streamable HTTP)
https://tools.somosvelora.com/api/mcp
Vendor documentation

What its tools do

50 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

50 of 50 have a description · 50 of 50 declare behavior hints · 43 of 43 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to somosvelora.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Validate Argentine tax IDs (CUIT) via AFIP algorithms
  • Generate electronic invoices with real CAE codes
  • Create payment links and track status via MercadoPago
  • Manage product catalogs and stock levels

Source and maintenance

Vendor evidenceRegistry 1.0.1
Maintenance checked

Protocol and capabilities

Server
velora-mcp-demo 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
50 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

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

50 advertised

validate_cuit — Validate CUIT/CUIL
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

validate_cuit input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cuit"
  ],
  "properties": {
    "cuit": {
      "type": "string",
      "description": "CUIT/CUIL in any format (digits, hyphens, or spaces)."
    }
  }
}
validate_cuit annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fiscal_readiness — Get fiscal readiness
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_fiscal_readiness input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_fiscal_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
emit_invoice — Emit invoice (ARCA)
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

emit_invoice input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "customerCuit",
    "amountARS",
    "tipo"
  ],
  "properties": {
    "tipo": {
      "enum": [
        "A",
        "B",
        "C"
      ],
      "type": "string",
      "description": "A = IVA discriminado (B2B), B = consumidor final, C = monotributo."
    },
    "concept": {
      "type": "string",
      "description": "Items or concept description (optional)."
    },
    "amountARS": {
      "type": "number",
      "description": "Invoice total in Argentine pesos (ARS).",
      "exclusiveMinimum": 0
    },
    "requestId": {
      "type": "string",
      "description": "Optional idempotency nonce."
    },
    "customerCuit": {
      "type": "string",
      "description": "Customer CUIT/CUIL (11 digits, any format)."
    }
  }
}
emit_invoice annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
emit_nota — Emit credit/debit note (ARCA)
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

emit_nota input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "customerCuit",
    "amountARS",
    "tipo",
    "kind",
    "associatedInvoice"
  ],
  "properties": {
    "kind": {
      "enum": [
        "credito",
        "debito"
      ],
      "type": "string",
      "description": "credito = Nota Crédito, debito = Nota Débito."
    },
    "tipo": {
      "enum": [
        "A",
        "B",
        "C"
      ],
      "type": "string",
      "description": "Invoice type letter for this nota."
    },
    "concept": {
      "type": "string",
      "description": "Items or concept description (optional)."
    },
    "amountARS": {
      "type": "number",
      "description": "Note total in Argentine pesos (ARS).",
      "exclusiveMinimum": 0
    },
    "requestId": {
      "type": "string",
      "description": "Optional idempotency nonce."
    },
    "customerCuit": {
      "type": "string",
      "description": "Customer CUIT/CUIL (11 digits, any format)."
    },
    "associatedInvoice": {
      "type": "object",
      "required": [
        "tipo",
        "ptoVta",
        "nro"
      ],
      "properties": {
        "nro": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Sequential number of the original invoice.",
          "exclusiveMinimum": 0
        },
        "tipo": {
          "enum": [
            "1",
            "6",
            "11"
          ],
          "type": "string",
          "description": "WSFE tipoComprobante of the original factura: 1=A, 6=B, 11=C."
        },
        "ptoVta": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Punto de venta of the original invoice.",
          "exclusiveMinimum": 0
        }
      },
      "description": "Reference to the original invoice being credited or debited."
    }
  }
}
emit_nota annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
create_product — Create product
Advertised by the server during the last successful anonymous check.

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

create_product input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name",
    "price"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Product name."
    },
    "price": {
      "type": "number",
      "description": "Selling price in ARS.",
      "exclusiveMinimum": 0
    },
    "costPrice": {
      "type": "number",
      "description": "Purchase cost price in ARS (optional).",
      "exclusiveMinimum": 0
    },
    "weightGrams": {
      "type": "integer",
      "maximum": 9007199254740991,
      "description": "Weight in grams (optional).",
      "exclusiveMinimum": 0
    },
    "initialStock": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Initial stock quantity (default 0)."
    }
  }
}
create_product annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
edit_product — Edit product
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

edit_product input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "productId"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "New product name (optional)."
    },
    "price": {
      "type": "number",
      "description": "New selling price in ARS (optional).",
      "exclusiveMinimum": 0
    },
    "costPrice": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ],
      "description": "New cost price, or null to clear (optional)."
    },
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the product to update."
    },
    "stockQuantity": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Set stock to this value (optional)."
    }
  }
}
edit_product annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
stock_load — Stock load
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

stock_load input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "itemName",
    "quantity"
  ],
  "properties": {
    "itemName": {
      "type": "string",
      "minLength": 1,
      "description": "Product name for resolution or auto-creation."
    },
    "quantity": {
      "type": "integer",
      "maximum": 9007199254740991,
      "description": "Units received.",
      "exclusiveMinimum": 0
    },
    "productId": {
      "type": "string",
      "description": "Existing product ID (optional if itemName resolves it)."
    },
    "unitPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Cost per unit in ARS."
    },
    "supplierId": {
      "type": "string",
      "description": "Existing supplier ID (optional)."
    },
    "supplierName": {
      "type": "string",
      "description": "Supplier name (optional)."
    },
    "autoCreateProduct": {
      "type": "boolean",
      "default": false,
      "description": "Auto-create product if not found."
    },
    "createPurchaseRequest": {
      "type": "boolean",
      "default": false,
      "description": "Also create a purchase request for this stock load."
    }
  }
}
stock_load annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
adjust_stock — Adjust stock
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

adjust_stock input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "productId",
    "mode",
    "quantity"
  ],
  "properties": {
    "mode": {
      "type": "string",
      "const": "set",
      "description": "Must be 'set'. Absolute-set is the only mode available via MCP."
    },
    "quantity": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "New absolute stock quantity."
    },
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "Product ID to update."
    }
  }
}
adjust_stock annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
delete_product — Delete product
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

delete_product input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "productId"
  ],
  "properties": {
    "productId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the product to delete."
    }
  }
}
delete_product annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
bulk_price_update — Bulk price update
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

bulk_price_update input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "amount",
    "mode",
    "direction"
  ],
  "properties": {
    "mode": {
      "enum": [
        "percent",
        "fixed"
      ],
      "type": "string",
      "description": "'percent' = percentage change; 'fixed' = absolute ARS change."
    },
    "amount": {
      "type": "number",
      "description": "Adjustment amount — percentage or fixed ARS value depending on mode.",
      "exclusiveMinimum": 0
    },
    "direction": {
      "enum": [
        "up",
        "down",
        "set"
      ],
      "type": "string",
      "description": "'up' raises, 'down' lowers, 'set' assigns an exact price."
    },
    "productIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Specific product IDs to update. Omit to update ALL products."
    }
  }
}
bulk_price_update annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
query_catalog — Query catalog
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

query_catalog input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "search": {
      "type": "string",
      "description": "Optional name filter (case-insensitive substring match)."
    }
  }
}
query_catalog annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_catalog_selector — Open catalog selector
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_catalog_selector input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "search": {
      "type": "string",
      "description": "Optional name filter (case-insensitive substring match)."
    }
  }
}
open_catalog_selector annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
register_sale — Register sale
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

register_sale input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "productId",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "maximum": 9007199254740991,
            "description": "Units sold (positive integer).",
            "exclusiveMinimum": 0
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "unitPrice": {
            "type": "number",
            "description": "Sale price per unit in ARS (optional; catalog price used when omitted).",
            "exclusiveMinimum": 0
          }
        }
      },
      "maxItems": 500,
      "minItems": 1,
      "description": "Line items for the sale."
    },
    "requestId": {
      "type": "string",
      "description": "Optional idempotency override."
    },
    "customerId": {
      "type": "string",
      "description": "Optional customer ID. Omit for anonymous sales."
    },
    "paymentMethod": {
      "enum": [
        "efectivo",
        "transferencia",
        "mp",
        "qr",
        "modo"
      ],
      "type": "string",
      "description": "Defaults to 'efectivo' when omitted."
    }
  }
}
register_sale annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
register_movement — Register cash movement
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

register_movement input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type",
    "description",
    "amount"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "ISO 8601 date/datetime. Defaults to now."
    },
    "type": {
      "enum": [
        "purchase",
        "tax",
        "salary",
        "adjustment",
        "income",
        "sale"
      ],
      "type": "string",
      "description": "Movement type."
    },
    "amount": {
      "type": "number",
      "description": "Amount in ARS (always positive).",
      "exclusiveMinimum": 0
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Description (e.g. 'Pago proveedor Distribuidora ABC')."
    }
  }
}
register_movement annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
return_sale — Return sale
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

return_sale input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "confirm"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "default": 1,
      "maximum": 10,
      "description": "Number of recent sales to reverse (max 10).",
      "exclusiveMinimum": 0
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be explicitly true to confirm reversing sales."
    },
    "cutoffHours": {
      "type": "number",
      "default": 24,
      "maximum": 48,
      "description": "Only consider sales within the last N hours (max 48).",
      "exclusiveMinimum": 0
    }
  }
}
return_sale annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
find_customer — Find customer
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_customer input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "name": {
      "type": "string",
      "description": "Customer name substring to search (case-insensitive)."
    },
    "phone": {
      "type": "string",
      "description": "Customer phone number or partial number to search."
    }
  }
}
find_customer annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
upsert_customer — Upsert customer
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

upsert_customer input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "city": {
      "type": "string",
      "description": "Customer city or locality (optional)."
    },
    "name": {
      "type": "string",
      "description": "Customer display name."
    },
    "email": {
      "type": "string",
      "description": "Customer email address (optional)."
    },
    "phone": {
      "type": "string",
      "description": "Customer phone number."
    },
    "address": {
      "type": "string",
      "description": "Customer street address (optional)."
    },
    "customerId": {
      "type": "string",
      "description": "When provided, updates the customer with this id."
    },
    "postalCode": {
      "type": "string",
      "description": "Customer postal code (optional)."
    }
  }
}
upsert_customer annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
delete_customer — Delete customer
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

delete_customer input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "customerId"
  ],
  "properties": {
    "customerId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the customer to delete."
    }
  }
}
delete_customer annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
quote_shipping — Quote shipping
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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

quote_shipping input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "originPostalCode",
    "destinationPostalCode",
    "weightGrams"
  ],
  "properties": {
    "weightGrams": {
      "type": "number",
      "description": "Total shipment weight in grams.",
      "exclusiveMinimum": 0
    },
    "declaredValue": {
      "type": "number",
      "minimum": 0,
      "description": "Declared value in ARS for insurance."
    },
    "originPostalCode": {
      "type": "string",
      "description": "Origin postal code (4 digits)."
    },
    "destinationPostalCode": {
      "type": "string",
      "description": "Destination postal code (4 digits)."
    }
  }
}
quote_shipping annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
create_shipment — Create shipment
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

create_shipment input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "provider",
    "saleId",
    "customerName",
    "customerAddress",
    "customerPostalCode",
    "weightGrams"
  ],
  "properties": {
    "saleId": {
      "type": "string",
      "description": "Velora Sale ID."
    },
    "service": {
      "type": "string",
      "description": "Courier-specific service key (defaults to 'domicilio')."
    },
    "provider": {
      "type": "string",
      "description": "Courier slug from quote_shipping ('andreani', 'oca')."
    },
    "customerDni": {
      "type": "string",
      "description": "Recipient DNI (required by Andreani in production)."
    },
    "weightGrams": {
      "type": "number",
      "description": "Total shipment weight in grams.",
      "exclusiveMinimum": 0
    },
    "customerCity": {
      "type": "string",
      "description": "Recipient city (optional)."
    },
    "customerName": {
      "type": "string",
      "description": "Recipient first name."
    },
    "customerPhone": {
      "type": "string",
      "description": "Recipient phone number (optional)."
    },
    "customerAddress": {
      "type": "string",
      "description": "Recipient street name."
    },
    "customerLastName": {
      "type": "string",
      "description": "Recipient last name (optional)."
    },
    "customerProvince": {
      "type": "string",
      "description": "Recipient province (required by OCA)."
    },
    "customerPostalCode": {
      "type": "string",
      "description": "Recipient postal code."
    },
    "customerAddressNumber": {
      "type": "string",
      "description": "Recipient street number (required by OCA)."
    }
  }
}
create_shipment annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
track_shipment — Track shipment
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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

track_shipment input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "trackingNumber",
    "provider"
  ],
  "properties": {
    "provider": {
      "type": "string",
      "description": "Courier that created the shipment ('andreani', 'oca')."
    },
    "trackingNumber": {
      "type": "string",
      "description": "Tracking number returned by the courier at shipment creation time."
    }
  }
}
track_shipment annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_package_profile — Get package profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_package_profile input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "saleId": {
      "type": "string",
      "description": "Velora Sale ID (takes priority over productIds)."
    },
    "productIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of Velora Product IDs (assumes qty=1 per id)."
    },
    "weightGramsOverride": {
      "type": "number",
      "description": "Explicit weight override in grams.",
      "exclusiveMinimum": 0
    }
  }
}
get_package_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
send_whatsapp_text — Send WhatsApp text
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

send_whatsapp_text input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "to",
    "text"
  ],
  "properties": {
    "to": {
      "type": "string",
      "minLength": 1,
      "description": "Recipient phone number (local AR or E.164)."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Message text body."
    },
    "mediaUrl": {
      "type": "string",
      "format": "uri",
      "description": "Optional public URL of a media file to attach."
    }
  }
}
send_whatsapp_text annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
send_whatsapp_template — Send WhatsApp template
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

send_whatsapp_template input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "to",
    "templateName"
  ],
  "properties": {
    "to": {
      "type": "string",
      "minLength": 1,
      "description": "Recipient phone number (local AR or E.164)."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "parameters"
        ],
        "properties": {
          "type": {
            "enum": [
              "body",
              "header",
              "button"
            ],
            "type": "string",
            "description": "Component section to populate."
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "type",
                "text"
              ],
              "properties": {
                "text": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "const": "text"
                }
              }
            },
            "description": "Ordered text substitutions."
          }
        }
      },
      "description": "Template variable substitutions (omit for templates with no placeholders)."
    },
    "languageCode": {
      "type": "string",
      "description": "BCP-47 language code (defaults to 'es_AR')."
    },
    "templateName": {
      "type": "string",
      "description": "Exact template name as registered in Meta Business Manager."
    }
  }
}
send_whatsapp_template annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
connection_status — Connection status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

connection_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
connection_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
caja_consultar_saldo — Consult cash balance
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

caja_consultar_saldo input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
caja_consultar_saldo annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
caja_ciclo_caja — Open or close cash shift
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

caja_ciclo_caja input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "action",
    "monto"
  ],
  "properties": {
    "nota": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional operator note."
    },
    "monto": {
      "type": "number",
      "minimum": 0,
      "description": "Opening float (abrir) or physically counted cash (cerrar) in ARS."
    },
    "action": {
      "enum": [
        "abrir",
        "cerrar"
      ],
      "type": "string",
      "description": "'abrir' to open a shift, 'cerrar' to close it."
    }
  }
}
caja_ciclo_caja annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
caja_registrar_movimiento — Register cash movement (caja)
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

caja_registrar_movimiento input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "tipo",
    "monto",
    "descripcion"
  ],
  "properties": {
    "tipo": {
      "enum": [
        "ingreso",
        "gasto",
        "retiro",
        "sangria",
        "sangría",
        "impuesto",
        "sueldo"
      ],
      "type": "string",
      "description": "Movement type."
    },
    "monto": {
      "type": "number",
      "description": "Positive amount in ARS.",
      "exclusiveMinimum": 0
    },
    "descripcion": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "Movement description."
    }
  }
}
caja_registrar_movimiento annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
get_payment_intent_status — Get payment intent status
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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

get_payment_intent_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "customerName": {
      "type": "string",
      "description": "Customer name (fuzzy match)."
    },
    "paymentIntentId": {
      "type": "string",
      "description": "Velora PaymentIntent id. Optional when customerName is provided."
    }
  }
}
get_payment_intent_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
open_payment_link_wizard — Open payment link wizard
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_payment_link_wizard input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "description",
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "productId",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "maximum": 9007199254740991,
            "description": "Units.",
            "exclusiveMinimum": 0
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "unitPriceOverride": {
            "type": "number",
            "description": "Optional negotiated unit price.",
            "exclusiveMinimum": 0
          }
        }
      },
      "minItems": 1,
      "description": "Line items (productId + quantity)."
    },
    "customerId": {
      "type": "string",
      "minLength": 1,
      "description": "Customer ID (optional)."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Cobro description (e.g. '3 alfajores')."
    }
  }
}
open_payment_link_wizard annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_pending_orders — Open pending orders
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_pending_orders input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
open_pending_orders annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_cobro_status — Open cobro status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_cobro_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "customerName": {
      "type": "string",
      "description": "Customer name (optional when paymentIntentId is provided)."
    },
    "paymentIntentId": {
      "type": "string",
      "description": "Velora PaymentIntent id (optional when customerName is provided)."
    }
  }
}
open_cobro_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_delivery_receipt — Open delivery receipt
Advertised by the server during the last successful anonymous check.
Advertised read-only

Opens the comprobante + envío widget — a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.

open_delivery_receipt input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "saleId": {
      "type": "string",
      "description": "Velora Sale id (optional)."
    },
    "customerName": {
      "type": "string",
      "description": "Customer name (optional)."
    },
    "paymentIntentId": {
      "type": "string",
      "description": "Velora PaymentIntent id (optional)."
    }
  }
}
open_delivery_receipt annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_tracked_payment_link — Create tracked payment link
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

create_tracked_payment_link input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "customerId",
    "items",
    "description",
    "idempotencyKey"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "productId",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "maximum": 9007199254740991,
            "description": "Units.",
            "exclusiveMinimum": 0
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          },
          "unitPriceOverride": {
            "type": "number",
            "description": "Optional negotiated unit price.",
            "exclusiveMinimum": 0
          }
        }
      },
      "minItems": 1,
      "description": "Line items."
    },
    "customerId": {
      "type": "string",
      "minLength": 1,
      "description": "Customer ID."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "Cobro description shown on the MP preference."
    },
    "expiresInDays": {
      "type": "integer",
      "maximum": 30,
      "minimum": 1,
      "description": "Link lifetime in days (1–30, default 3)."
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "description": "Stable UUID generated by the wizard."
    }
  }
}
create_tracked_payment_link annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
list_suppliers — List suppliers
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

list_suppliers input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "search": {
      "type": "string",
      "description": "Optional name substring to filter suppliers."
    }
  }
}
list_suppliers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_supplier — Create supplier
Advertised by the server during the last successful anonymous check.

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

create_supplier input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Supplier name (must be unique within this business)."
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Supplier email address (optional)."
    },
    "phone": {
      "type": "string",
      "description": "Supplier phone number (optional)."
    },
    "contactName": {
      "type": "string",
      "description": "Contact person name (optional)."
    },
    "leadTimeDays": {
      "type": "integer",
      "maximum": 9007199254740991,
      "description": "Default lead time in days (optional).",
      "exclusiveMinimum": 0
    }
  }
}
create_supplier annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_purchase_request — Create purchase request
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

create_purchase_request input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "itemName",
    "quantity",
    "unitPrice"
  ],
  "properties": {
    "itemName": {
      "type": "string",
      "minLength": 1,
      "description": "Name of the item being ordered."
    },
    "quantity": {
      "type": "integer",
      "maximum": 9007199254740991,
      "description": "Quantity to order.",
      "exclusiveMinimum": 0
    },
    "unitPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Unit price per item in ARS."
    },
    "supplierId": {
      "type": "string",
      "description": "Existing supplier ID (optional if supplierName is provided)."
    },
    "supplierName": {
      "type": "string",
      "description": "Supplier name (optional if supplierId is provided)."
    }
  }
}
create_purchase_request annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
edit_supplier — Edit supplier
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

edit_supplier input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "supplierId"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "New supplier name (optional)."
    },
    "email": {
      "anyOf": [
        {
          "type": "string",
          "format": "email",
          "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
        },
        {
          "type": "null"
        }
      ],
      "description": "New email, or null to clear."
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "New phone number, or null to clear."
    },
    "supplierId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the supplier to update."
    },
    "contactName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "New contact person name, or null to clear."
    },
    "leadTimeDays": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ],
      "description": "New lead time in days, or null to clear."
    }
  }
}
edit_supplier annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
delete_supplier — Delete supplier
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

delete_supplier input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "supplierId"
  ],
  "properties": {
    "supplierId": {
      "type": "string",
      "minLength": 1,
      "description": "ID of the supplier to delete."
    }
  }
}
delete_supplier annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
query_sales — Query sales
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

query_sales input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "metrica"
  ],
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date YYYY-MM-DD. Requires 'from'."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date YYYY-MM-DD. Requires 'to'."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "Max results (default 10, max 50)."
    },
    "preset": {
      "enum": [
        "hoy",
        "semana",
        "mes"
      ],
      "type": "string",
      "description": "Preset date range. Mutually exclusive with from/to."
    },
    "metrica": {
      "enum": [
        "ventas_periodo",
        "margen",
        "ranking_productos",
        "por_empleado",
        "historial_cliente"
      ],
      "type": "string",
      "description": "Metric to query."
    },
    "customer_name": {
      "type": "string",
      "minLength": 1,
      "description": "Customer name or fragment. Only for historial_cliente."
    }
  }
}
query_sales annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
connect_mercadopago — Connect MercadoPago
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

connect_mercadopago input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "accessToken": {
      "type": "string",
      "pattern": "^APP_USR-.*",
      "minLength": 20,
      "description": "Optional MercadoPago production access token."
    }
  }
}
connect_mercadopago annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
connect_pedidosya — Connect PedidosYa
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

connect_pedidosya input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "apiToken": {
      "type": "string",
      "minLength": 1,
      "description": "Optional PedidosYa API token."
    }
  }
}
connect_pedidosya annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
connect_whatsapp — Connect WhatsApp
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

connect_whatsapp input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "phone": {
      "type": "string",
      "minLength": 8,
      "description": "Optional WhatsApp Business phone in E.164 format."
    }
  }
}
connect_whatsapp annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
connect_tiendanube — Connect Tienda Nube
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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

connect_tiendanube input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
connect_tiendanube annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
upload_catalog — Upload catalog
Advertised by the server during the last successful anonymous check.
Advertised destructive

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

upload_catalog input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "products"
  ],
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "price"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Product name."
          },
          "price": {
            "type": "number",
            "description": "Selling price in ARS."
          }
        }
      },
      "maxItems": 50,
      "minItems": 1,
      "description": "List of products to create (1–50 items)."
    }
  }
}
upload_catalog annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
open_sale_confirm — Open sale confirmation
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

open_sale_confirm input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "productId",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "maximum": 9007199254740991,
            "description": "Units to sell.",
            "exclusiveMinimum": 0
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Product ID."
          }
        }
      },
      "maxItems": 500,
      "minItems": 1,
      "description": "Line items for the sale."
    },
    "customerId": {
      "type": "string",
      "description": "Optional customer ID (omit for anonymous sales)."
    }
  }
}
open_sale_confirm annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_caja_status — Open caja status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_caja_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
open_caja_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_onboarding — Open onboarding hub
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

open_onboarding input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
open_onboarding annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_business_overview — Open business overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

open_business_overview input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "defaultTab": {
      "enum": [
        "cliente_360",
        "cierre_dia",
        "reposicion_stock",
        "dashboard_ventas"
      ],
      "type": "string",
      "description": "Optional fullscreen tab to open into."
    },
    "customerName": {
      "type": "string",
      "description": "Optional customer name to pre-search on the Cliente 360 tab."
    }
  }
}
open_business_overview annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_shipment_prep — Open shipment prep
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

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

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
610 ms
95th percentile latency
610 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 610 ms · metadata changed · 50 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http velora-mcp https://tools.somosvelora.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add velora-mcp --url https://tools.somosvelora.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable velora-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "velora-mcp": {
      "url": "https://tools.somosvelora.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "velora-mcp": {
      "type": "streamableHttp",
      "url": "https://tools.somosvelora.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start velora-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "velora-mcp": {
      "type": "http",
      "url": "https://tools.somosvelora.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http velora-mcp https://tools.somosvelora.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://tools.somosvelora.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "velora-mcp": {
      "serverUrl": "https://tools.somosvelora.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Velora MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Velora MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing