Velora

com.somosveloraPublished by somosvelora.comOfficial publisherv1.0.1Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableFinanceCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for running an Argentine business: AFIP/ARCA invoicing, MercadoPago payments, shipping, catalog, cash register and WhatsApp.

What you can do
  • Validate Argentine fiscal data: CUIT/CUIL check digits, invoice readiness and fiscal helpers
  • Issue ARCA electronic invoices and credit/debit notes, and check fiscal readiness
  • Manage catalog and stock: create, edit, delete products, load or adjust stock, bulk price updates
  • Record sales, returns, cash-register shifts and movements, and query sales metrics
  • Quote, create and track shipments, and compute package weights
  • Find and upsert customers, manage suppliers and purchase requests
When to use it
Useful when an assistant has to operate the day-to-day commerce of an Argentine business — invoicing, sales, stock, shipping, payments and customer messaging — through one authenticated endpoint instead of separate integrations. The pure validation helpers are also handy on their own for checking CUIT or CUIL numbers.
Requirements
A remote streamable HTTP endpoint; no local package. Credentials are sent as headers X-API-Key and X-Business-Id, or via OAuth 2.1. Access is requested from the provider. Payments, logistics and WhatsApp need per-tenant credential onboarding. The README says the hosted endpoint is currently offline and returns 404.
Before you install
Many tools are marked demo-disabled and will not act until onboarding is complete. Some actions move real money or are irreversible: creating a tracked MercadoPago payment link, emitting invoices with a real CAE, and returning sales, which deletes records. Other tools write, change or delete catalog, customer, supplier and cash-register data. WhatsApp sends go to real customers. Credentials are passed as headers, and business data is sent to the hosted provider and to third parties such as…

Installation

In SourceWeft

  1. Open Velora in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.somosvelora%2Fvelora/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

This repo contains the public manifest/docs for a hosted service — the full implementation runs in production as part of Velora.

Velora — Argentine Commerce MCP

⚠️ The hosted endpoint is temporarily offline. The service it fronts is paused, so tools.somosvelora.com returns 404 right now — the manifest and the tool contracts below are still accurate, but the URLs will not answer until it is back up. Nothing here is abandoned; the docs are kept honest on purpose.

A hosted, multi-capability commerce toolkit for Argentina — real AFIP invoicing, MercadoPago, logistics, catalog and WhatsApp behind one authenticated endpoint.

Velora is a hosted Model Context Protocol server that gives AI agents tools to operate commerce in Argentina: fiscal invoicing (AFIP/ARCA), payments (MercadoPago), logistics (Andreani / PedidosYa), catalog, cash register, and WhatsApp messaging — authenticated and tenant-isolated.

Other AFIP MCP servers exist (some emit invoices, some only search the docs). Velora's angle is the bundle: fiscal is one of several commerce rails — payments, logistics, catalog, messaging — exposed through a single hosted, authenticated endpoint, so an agent runs a whole Argentine business, not just invoicing.

Endpoint

https://tools.somosvelora.com/api/mcp

Transport: streamable HTTP. Auth: API key (per-tenant HMAC) or OAuth 2.1 (WorkOS bearer). Any MCP client — Claude, OpenAI, Gemini, Cursor, or your own agent — consumes the same endpoint.

Free during early access. No usage cost while we onboard the first builders — the fiscal and pure tools run no LLM on our side, so it stays cheap to keep open.

Connect

Point any MCP client that supports a remote streamable HTTP server at the endpoint, with your credentials as headers:

jsonc
{  "mcpServers": {    "velora": {      "type": "http",      "url": "https://tools.somosvelora.com/api/mcp",      "headers": {        "X-API-Key": "<your-key>",        "X-Business-Id": "<your-business-id>"      }    }  }}

The exact config key (type/transport) varies by client — use your client's remote/HTTP MCP server format. Request access at somosvelora.com.

The pure fiscal helpers (validate_cuit, split_iva, and the rest) are also available without authentication at https://tools.somosvelora.com/api/mcp/public.

Tool packs

PackWhat it does
Fiscal (AFIP/ARCA)emit_invoice (real CAE — Factura A/B/C + Consumidor Final), consultar_comprobante / consultar_padron (invoice + taxpayer lookup), get_fiscal_readiness. emit_nota (NC/ND): sandbox only today — real credit/debit-note emission is in progress.
Pure (always on)validate_cuit, validate_cuil, validate_cbu, build_afip_qr, format_ars, to_afip_date, split_iva, describe_invoice_type, parse_ar_amount
PaymentsMercadoPago links, tracked payments, payment-intent status
Logisticsquote / create / track shipments (Andreani, PedidosYa)
Catalog & Stockcreate / edit / delete products, stock load, bulk price update
Sales & Cashregister sales, returns, cash-register movements and balance
Customers & Suppliersfind / upsert customers, supplier management
MessagingWhatsApp text & template sends
Reportsquery_sales — sales analytics
Connectionconnection_status — per-integration setup state (call this first)

Maturity / what's live. emit_invoice (Factura A/B/C + Consumidor Final), the lookup tools, and the Pure tools are production-verified against real AFIP. emit_nota (NC/ND) currently emits in sandbox only — real credit/debit-note emission is not yet wired (it returns sandbox: true, never a fake CAE). Payments, Logistics and Messaging are real tools that require per-tenant credential onboarding (connect MercadoPago / Andreani / WhatsApp) — until a tenant connects them they return demo data or fail gracefully, so don't wire them into a production flow before onboarding. emit_invoice issues a real CAE only once ARCA onboarding is complete (check with get_fiscal_readiness); otherwise it returns a clearly-flagged sandbox response (sandbox: true), never a fake CAE presented as real.

Full machine-readable catalog — list every tool with a tools/list call against the public endpoint (no auth):

bash
curl -s https://tools.somosvelora.com/api/mcp/public \  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Why a managed layer

AFIP's web services (WSAA + WSFE) are notoriously painful: attached PKCS#7 CMS signing, weak-DH TLS handshakes, per-CUIT certificate and token management, and a stream of new resolutions (e.g. RG 5616). Velora absorbs all of it behind clean, agent-native tool calls so you don't reimplement the fiscal stack — the same reason developers reach for managed layers over government tax APIs elsewhere in LATAM.

Status

  • ✅ Real AFIP invoicing verified in production (live CAE issuance for an onboarded tenant).
  • ✅ MercadoPago payments and the pure validation/formatting tools are live.
  • 🔧 Logistics & messaging require per-tenant credential onboarding (see Maturity above).

Links


This repository is the public manifest and documentation for the Velora MCP server. The server itself is hosted; this repo carries the server.json registry manifest and connection docs.

Built by directing Claude Code — scoped, generated, and verified at runtime. The method is the point — the same one behind 2 fixes merged into Mastra (26k★ TS AI-agent framework): #19604, #19610.

Source: README.md at commit 81d18b5

Tools

50

validate_cuit

Validate CUIT/CUIL

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.

Parameterscuitrequired

get_fiscal_readiness

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.

Takes no parameters.

emit_invoice

Emit invoice (ARCA)

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

ParameterstiporequiredconceptamountARSrequiredrequestIdcustomerCuitrequired

emit_nota

Emit credit/debit note (ARCA)

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

ParameterskindrequiredtiporequiredconceptamountARSrequiredrequestIdcustomerCuitrequiredassociatedInvoicerequired

create_product

Create product

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

ParametersnamerequiredpricerequiredcostPriceweightGramsinitialStock

edit_product

Edit product

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

ParametersnamepricecostPriceproductIdrequiredstockQuantity

stock_load

Stock load

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

ParametersitemNamerequiredquantityrequiredproductIdunitPricesupplierIdsupplierNameautoCreateProductcreatePurchaseRequest

adjust_stock

Adjust stock

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

ParametersmoderequiredquantityrequiredproductIdrequired

delete_product

Delete product

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

ParametersproductIdrequired

bulk_price_update

Bulk price update

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

ParametersmoderequiredamountrequireddirectionrequiredproductIds

query_catalog

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.

Parameterssearch

open_catalog_selector

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

Parameterssearch

register_sale

Register sale

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

ParametersitemsrequiredrequestIdcustomerIdpaymentMethod

register_movement

Register cash movement

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

Parametersdatetyperequiredamountrequireddescriptionrequired

return_sale

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.

ParameterscountconfirmrequiredcutoffHours

find_customer

Find customer

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

Parametersnamephone

upsert_customer

Upsert customer

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

ParameterscitynameemailphoneaddresscustomerIdpostalCode

delete_customer

Delete customer

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

ParameterscustomerIdrequired

quote_shipping

Quote shipping

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

ParametersweightGramsrequireddeclaredValueoriginPostalCoderequireddestinationPostalCoderequired

create_shipment

Create shipment

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

ParameterssaleIdrequiredserviceproviderrequiredcustomerDniweightGramsrequiredcustomerCitycustomerNamerequiredcustomerPhonecustomerAddressrequiredcustomerLastNamecustomerProvincecustomerPostalCoderequired+1 more

track_shipment

Track shipment

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

ParametersproviderrequiredtrackingNumberrequired

get_package_profile

Get package profile

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

ParameterssaleIdproductIdsweightGramsOverride

send_whatsapp_text

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

ParameterstorequiredtextrequiredmediaUrl

send_whatsapp_template

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.

ParameterstorequiredcomponentslanguageCodetemplateNamerequired

connection_status

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.

Takes no parameters.

caja_consultar_saldo

Consult cash balance

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

Takes no parameters.

caja_ciclo_caja

Open or close cash shift

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

Parametersnotamontorequiredactionrequired

caja_registrar_movimiento

Register cash movement (caja)

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

Parameterstiporequiredmontorequireddescripcionrequired

get_payment_intent_status

Get payment intent status

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

ParameterscustomerNamepaymentIntentId

open_pending_orders

Open pending orders

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

Takes no parameters.

open_cobro_status

Open cobro status

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

ParameterscustomerNamepaymentIntentId

open_delivery_receipt

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.

ParameterssaleIdcustomerNamepaymentIntentId

list_suppliers

List suppliers

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

Parameterssearch

create_supplier

Create supplier

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

ParametersnamerequiredemailphonecontactNameleadTimeDays

create_purchase_request

Create purchase request

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

ParametersitemNamerequiredquantityrequiredunitPricerequiredsupplierIdsupplierName

edit_supplier

Edit supplier

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

ParametersnameemailphonesupplierIdrequiredcontactNameleadTimeDays

delete_supplier

Delete supplier

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

ParameterssupplierIdrequired

query_sales

Query sales

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

Parameterstofromlimitpresetmetricarequiredcustomer_name

connect_mercadopago

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.

ParametersaccessToken

connect_pedidosya

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.

ParametersapiToken

connect_whatsapp

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.

Parametersphone

connect_tiendanube

Connect Tienda Nube

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

Takes no parameters.

upload_catalog

Upload catalog

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

Parametersproductsrequired

open_sale_confirm

Open sale confirmation

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.

ParametersitemsrequiredcustomerId

open_caja_status

Open caja status

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

Takes no parameters.

open_onboarding

Open onboarding hub

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

Takes no parameters.

open_business_overview

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.

ParametersdefaultTabcustomerName

open_shipment_prep

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.

ParametersitemsrequireddeclaredValueoriginPostalCoderequireddestinationPostalCoderequired

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Somosvelora integrations