Server definition
- Hash
- sha256:8eb8baf1572b7e7d6a492ec24f28bdb12adf0eb95220bdd88fc0233feede1d16
- What it is
- What a remote MCP server returned when asked what it offers: 22 tools
The blob, as servednamed by its sha256
{
"instructions": "DEMO MODE — public read-only subset of the Velora MCP toolkit. Every tool here is either real deterministic logic (validate_cuit) or a read against a fixed, fictional dataset ('Almacén Demo SRL'), labeled [DEMO] with _demo: true. No tool in this endpoint writes, charges, invoices, or sends a message. For the full tool surface (including the money/fiscal/messaging tools, which honestly refuse to execute here) use /api/mcp instead.",
"tools": [
{
"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": "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": "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": "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": "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:8eb8baf1572b7e7d6a492ec24f28bdb12adf0eb95220bdd88fc0233feede1d16 | sha256sum