
velora
Hosted Argentine commerce MCP: real AFIP invoicing, MercadoPago, logistics, catalog & WhatsApp.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Hosted Argentine commerce MCP: real AFIP invoicing, MercadoPago, logistics, catalog & WhatsApp.
How to connect
How to connect velora to Claude
The server address to paste into Claude settings:
https://tools.somosvelora.com/api/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect velora to ChatGPT
The server address to paste into ChatGPT settings:
https://tools.somosvelora.com/api/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect velora to Cursor
The server address to paste into Cursor settings:
https://tools.somosvelora.com/api/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (50)
Raw names from tools/list. Only developers need these.
| 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. |
| 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. |
| 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. |
| create_product | [demo: deshabilitada] Creates a new product in the business catalog. Requires name and price. |
| edit_product | [demo: deshabilitada] Updates a single product's fields (name, price, costPrice, or stockQuantity). |
| stock_load | [demo: deshabilitada] Records inbound stock for a product — restock or initial stock, with an audit trail. |
| adjust_stock | [demo: deshabilitada] Sets the absolute stock quantity for a product (inventory sync, no audit trail). |
| delete_product | [demo: deshabilitada] Deletes (or soft-archives, when it has sale records) a product from the catalog. |
| bulk_price_update | [demo: deshabilitada] Mass price change for all products or a specified subset in this business. |
| 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. |
| 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). |
| register_sale | [demo: deshabilitada] Records a sale for the authenticated business. Creates a full Sale with SaleItems, decrements inventory, creates a CashMovement and Invoice. |
| register_movement | [demo: deshabilitada] Records a cash-register movement for the authenticated business ('purchase', 'income', 'salary', 'tax', 'adjustment'). |
| 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. |
| find_customer | Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name. |
| upsert_customer | [demo: deshabilitada] Creates a new customer or updates an existing one for the authenticated business. |
| delete_customer | [demo: deshabilitada] Deletes a customer from this business (blocked when the customer has sales or invoices). |
| quote_shipping | Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending. |
| create_shipment | [demo: deshabilitada] Creates a physical shipment via the chosen courier and returns a tracking number and label URL. |
| track_shipment | Tracks the current status and event history of a shipment by tracking number. |
| get_package_profile | Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride. |
| 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). |
| 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. |
| 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. |
| 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_ciclo_caja | [demo: deshabilitada] Opens or closes a cash register shift for the authenticated business. |
| caja_registrar_movimiento | [demo: deshabilitada] Records a cash movement tied to the OPEN caja shift: income, expense, withdrawal, tax, or payroll. |
| get_payment_intent_status | Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name. |
| 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_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. |
| 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. |
| list_suppliers | Returns all suppliers for this business (up to 50, sorted by name). |
| create_supplier | [demo: deshabilitada] Creates a supplier for this business. |
| create_purchase_request | [demo: deshabilitada] Creates a procurement order (purchase request) to a supplier. |
| edit_supplier | [demo: deshabilitada] Updates an existing supplier's fields. |
| delete_supplier | [demo: deshabilitada] Deletes a supplier from this business (with full audit trail). |
| query_sales | Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'. |
| 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_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. |
| 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. |
| upload_catalog | [demo: deshabilitada] Bulk-creates products in the business catalog from a structured list (up to 50 items). |
| 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_caja_status | Opens a visual widget showing the current shift state and action buttons. Read-only here. |
| open_onboarding | Opens a graphical onboarding hub showing integration status and connect links. Read-only. |
| 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_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. |