# com.somosvelora/velora

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

- name: com.somosvelora/velora
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 89/100
- quality: 92/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.somosvelora%2Fvelora
- tools: https://api.protogrid.dev/v1/servers/com.somosvelora%2Fvelora/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "velora": {
      "type": "http",
      "url": "https://tools.somosvelora.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-128d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 92/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 50 of 50 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 8,872 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 50, about 8,872 tokens to load them all
- tool set hash: 8c669aa04bb2b47de67ab4b9bca88edd
- badge: [![protogrid quality](https://protogrid.dev/badge/com.somosvelora/velora.svg)](https://protogrid.dev/servers/com.somosvelora/velora)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://tools.somosvelora.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (50)

- `adjust_stock`: [demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail).
- `bulk_price_update`: [demo: deshabilitada] Mass price change for all products or a specified subset in this business.
- `caja_ciclo_caja`: [demo: deshabilitada] Opens or closes a cash register shift for the authenticated business.
- `caja_consultar_saldo`: Queries the current cash register balance for the authenticated business — the open session data or the last closed session. Read-only.
- `caja_registrar_movimiento`: [demo: deshabilitada] Records a cash movement tied to the OPEN caja shift: income, expense, withdrawal, tax, or payroll.
- `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.
- `connect_mercadopago`: [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_pedidosya`: [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_tiendanube`: [demo: deshabilitada] Connects Tienda Nube (Nuvemshop) using the BYOA OAuth-redirect model. Returns an authorization URL — no token ever passes through chat. Gated behind env config in production.
- `connect_whatsapp`: [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.
- `create_product`: [demo: deshabilitada] Creates a new product in the business catalog. Requires name and price.
- `create_purchase_request`: [demo: deshabilitada] Creates a procurement order (purchase request) to a supplier.
- `create_shipment`: [demo: deshabilitada] Creates a physical shipment via the chosen courier and returns a tracking number and label URL.
- `create_supplier`: [demo: deshabilitada] Creates a supplier for this business.
- `create_tracked_payment_link`: [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.
- `delete_customer`: [demo: deshabilitada] Deletes a customer from this business (blocked when the customer has sales or invoices).
- `delete_product`: [demo: deshabilitada] Deletes (or soft-archives, when it has sale records) a product from the catalog.
- `delete_supplier`: [demo: deshabilitada] Deletes a supplier from this business (with full audit trail).
- `edit_product`: [demo: deshabilitada] Updates a single product's fields (name, price, costPrice, or stockQuantity).
- `edit_supplier`: [demo: deshabilitada] Updates an existing supplier's fields.
- `emit_invoice`: [demo: deshabilitada] Emits an ARCA (formerly AFIP)-compliant electronic invoice (factura electrónica) for the authenticated business and returns the CAE authorization code.
- `emit_nota`: [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.
- `find_customer`: Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name.
- `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.
- `get_package_profile`: Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride.
- `get_payment_intent_status`: Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name.
- `list_suppliers`: Returns all suppliers for this business (up to 50, sorted by name).
- `open_business_overview`: 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_caja_status`: Opens a visual widget showing the current shift state and action buttons. Read-only here.
- `open_catalog_selector`: 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_cobro_status`: Opens the cobro status widget — a read-only view of ONE PaymentIntent's payment state. Accepts paymentIntentId OR customerName.
- `open_delivery_receipt`: Opens the comprobante + envío widget — a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.
- `open_onboarding`: Opens a graphical onboarding hub showing integration status and connect links. Read-only.
- `open_payment_link_wizard`: 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_pending_orders`: Opens the pending cobros dashboard — a read-only widget listing PaymentIntents awaiting payment. Side-effect-free.
- `open_sale_confirm`: 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_shipment_prep`: 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.
- `query_catalog`: 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_sales`: Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'.
- `quote_shipping`: Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending.
- `register_movement`: [demo: deshabilitada] Records a cash-register movement for the authenticated business ('purchase', 'income', 'salary', 'tax', 'adjustment').
- `register_sale`: [demo: deshabilitada] Records a sale for the authenticated business. Creates a full Sale with SaleItems, decrements inventory, creates a CashMovement and Invoice.
- `return_sale`: [demo: deshabilitada] Reverses the N most-recent sales within a time window. Restores inventory, removes CashMovement, SaleItem, Invoice, and Sale records. Destructive and irreversible.
- `send_whatsapp_template`: [demo: deshabilitada] Sends a pre-approved Meta WhatsApp template message. Window-independent — can be sent proactively, outside the 24-hour session window.
- `send_whatsapp_text`: [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).
- `stock_load`: [demo: deshabilitada] Records inbound stock for a product — restock or initial stock, with an audit trail.
- `track_shipment`: Tracks the current status and event history of a shipment by tracking number.
- `upload_catalog`: [demo: deshabilitada] Bulk-creates products in the business catalog from a structured list (up to 50 items).
- `upsert_customer`: [demo: deshabilitada] Creates a new customer or updates an existing one for the authenticated business.
- `validate_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.
