Back to Directory/Automation & Workflow

io.github.ar-agents/mcp

Argentine business automation: Mercado Pago, AFIP/ARCA, WhatsApp, banking, shipping (7 packages).

Automation & WorkflowTypeScriptv0.4.11

ar-agents

Open infrastructure for Argentina's sociedades de IA (AI corporations). 37 npm packages · 243 typed tools · 6 RFCs · a forensic audit log. Built in Argentina.

CI OpenSSF Scorecard Socket Security license npm npm downloads bundle size types npm provenance ar-agents on Glama

The stack covers what an AI-operated Argentine company needs to exist and operate: identity (AFIP/ARCA), payments, invoicing, banking, government filings, communications, and a forensic audit log. The deepest package, @ar-agents/mercadopago, exposes 89 typed tools across the agent-relevant Mercado Pago API surface for the Vercel AI SDK 6 Experimental_Agent, one of the 33 packages in the @ar-agents/* stack:

Payments · Subscriptions · Checkout Pro · Marketplace OAuth · Order Management · Customers · Cards · Cuotas · QR · 3DS · Point devices · Stores+POS · Account/Balance/Settlements · Webhooks · Disputes · Lookups · Bank Accounts

Edge Runtime. Vercel KV adapters for state, OAuth, idempotency, and audit. OpenTelemetry instrumentation. Deterministic idempotency by default. Programmatic HITL on irreversible operations.

pnpm add @ar-agents/mercadopago ai zod

Deploy with Vercel

Deploys apps/mp-hello, a runnable agent on Vercel with Edge Runtime API routes, MP webhook handler, and Upstash-backed subscription state. Around 2 minutes from click to live.

Governance layer for AR sociedades-IA

Since Argentina announced a sociedad-IA regime (Sturzenegger, 28-abr-2026), this repo additionally hosts a complete open-source governance scaffolding for AI-only Argentine corporations:

  • 6 RFCs (001–006) — civil liability (3-layer) / discovery / cross- jurisdictional reciprocity / operational-log wire format / Ed25519 asymmetric extension / hash-chained ledger + external anchoring. All CC-BY-4.0. Documents the legislation can cite by reference.
  • 2 frozen test-vectors files — 7 RFC-004 HMAC vectors + 3 RFC-005 Ed25519 vectors. Byte-exact deterministic signatures. Reference impl passes all 10 (103 vitest tests in 6 files).
  • Public certifier at ar-agents.ar/certifier — paste any URL, score 0-100 against RFC-002 + RFC-004 + RFC-005 in seconds. Programmatic API at /api/certifier?url=.... Reference impl self-scores 100/100 Rating A. Cookbook recipes 26 (single-shot) + 27 (monitoring) + 28 (operator readiness).
  • Live time-series at /api/conformance-history — 365-entry capped KV-backed history per URL, daily Vercel cron auto-population.
  • Public well-known endpoints — /.well-known/agents.json (RFC-002), /.well-known/sociedad-ia/verify-key?challenge= (RFC-004 § 5 challenge-response), /.well-known/sociedad-ia/keys (RFC-005 § 4 Ed25519 public key publication).
  • Bilingual narrative pages — /legislacion (Spanish for AR legislators) + /en/legislation (English for international press / comparative-law scholars).
  • One-page regulator brief at /auditor — print-friendly, 7-minute read, every claim links to evidence.
  • Public registry at /registro — self-listed implementations with live cert-badges per entry.
  • Glossary, outreach templates, BibTeX refs, visual timeline — see /glossary, /share, /refs, /timeline.

For an outsider arriving cold: start at the auditor's brief or the legislative synthesis. Citation file: CITATION.cff.

import { Experimental_Agent as Agent, stepCountIs } from "ai";
import {
  MercadoPagoClient,
  mercadoPagoTools,
  InMemoryStateAdapter,
} from "@ar-agents/mercadopago";

const mp = new MercadoPagoClient({
  accessToken: process.env.MP_ACCESS_TOKEN!, // TEST- for sandbox, APP_USR- for prod
});

const agent = new Agent({
  model: "anthropic/claude-sonnet-4-6",
  tools: mercadoPagoTools(mp, {
    state: new InMemoryStateAdapter(), // swap for VercelKVStateAdapter in prod
    backUrl: "https://yoursite.com/subscription/done",
  }),
  stopWhen: stepCountIs(8),
});

const { text } = await agent.generate({
  prompt: "Creá una subscription mensual de $1000 ARS para customer@example.com.",
});

Full reference, cookbook (9 recipes including OpenTelemetry wiring), and migration guide vs the official mercadopago SDK live in packages/mercadopago/.

How it compares

@ar-agents/mercadopagomercadopago (official)Stripe Agent Toolkit
Vercel AI SDK 6 tool schemas✓no✓ (Stripe)
Argentine-specific (cuotas, ARCA, AR phone)✓partialno
Tool count89thin REST client26 (Stripe)
Webhooks: HMAC + dedup + replay window✓client only✓
Edge Runtime + Vercel KV adapters✓Node-onlyoptional
OpenTelemetry instrumentation✓nono
Deterministic idempotency by default✓nono
Programmatic HITL on irreversible ops✓nono
MercadoPago coveragefullfulln/a

Both official SDKs are excellent at what they do (generic REST clients for their respective APIs). @ar-agents/mercadopago is opinionated for the agent-operating-an-Argentine-business case, and composes with mercadopago under the hood when needed. See MIGRATION.md.

Architecture

flowchart LR
  subgraph user_app["Your Next.js / Edge / Workers app"]
    direction TB
    agent["Vercel AI SDK 6<br/>Experimental_Agent"]
  end

  subgraph ar_agents["@ar-agents/* (this monorepo)"]
    direction TB
    mp["mercadopago<br/>89 tools"]
    id["identity<br/>CUIT + AFIP padrón"]
    fac["facturacion<br/>factura electrónica"]
    wa["whatsapp<br/>Business Cloud"]
    bk["banking<br/>CBU + BCRA"]
    sh["shipping<br/>Andreani / OCA / Correo"]
    att["identity-attest<br/>HMAC-signed orchestrator"]
    mcp["mcp<br/>bundles all 7 over MCP"]
  end

  subgraph adapters["Pluggable state (subpath)"]
    direction TB
    kv["@ar-agents/mercadopago/vercel-kv<br/>state · OAuth · idempotency · audit · ratelimit"]
    otel["@ar-agents/mercadopago/otel<br/>OpenTelemetry instrumentation"]
  end

  subgraph external["External APIs"]
    direction TB
    mpapi["api.mercadopago.com"]
    afip["AFIP/ARCA WSAA + WSFE"]
    meta["Meta WhatsApp Cloud API"]
    bcra["BCRA Central de Deudores"]
    carriers["Andreani · OCA · Correo Argentino"]
  end

  agent -- tool calls --> mp & id & fac & wa & bk & sh & att
  mp -.subpath.-> kv & otel
  mp --> mpapi
  id --> afip
  fac --> afip
  wa --> meta
  bk --> bcra
  sh --> carriers
  mcp -.bundles.-> mp & id & fac & wa & bk & sh & att

The agent picks tools from natural-language prompts. Each package is an independent npm release; there are no cross-package runtime dependencies beyond the optional adapter subpaths, so you only ship the surface you use.

Other AR primitives in this monorepo

Same approach, applied to the rest of the stack an Argentine business needs:

PackageToolsWhat it does
@ar-agents/identity2CUIT/CUIL validation + AFIP/ARCA padrón lookup (constancia con monotributo + condición IVA). WSAA SOAP via subpath.
@ar-agents/identity-attest5Verification orchestrator (WhatsApp OTP, email magic-link, Auth0, Magic.link, MP Identity), returns HMAC-signed attestation with trustLevel.
@ar-agents/whatsapp6WhatsApp Business Cloud API. Webhook + HMAC. AR phone normalizer. scopedTo mode binds outbound tools to a single sender.
@ar-agents/facturacion10AFIP/ARCA factura electrónica (WSFE). Factura A/B/C, NC/ND, FCE MiPyMEs. Local pre-flight validator.
@ar-agents/banking5CBU/CVU validation + bank/PSP lookup + BCRA Central de Deudores.
@ar-agents/shipping6Andreani (full) + OCA + Correo Argentino. Provincia + CPA helpers.
@ar-agents/mcpwraps allModel Context Protocol server. Drop the toolkit into Claude Desktop, Cursor, any MCP host.

Each package ships a README.md for humans and an AGENTS.md for LLMs reading the docs at runtime, following the agents.md format (tool-selection rules, result schemas, error patterns).

Live demos

AppURLShows
Landinghttps://ar-agents.arToolkit overview
cuit-hellohttps://cuit-hello.ar-agents.arCUIT validation + ARCA padrón (real AFIP cert)
whatsapp-hellohttps://whatsapp-hello.ar-agents.arBilling assistant: MP composed with identity, identity-attest, whatsapp
mp-hellodev-onlyMP Subscriptions full flow (pnpm dev, port 3013)

Develop

pnpm install
pnpm test         # 719 tests across 8 packages
pnpm typecheck
pnpm build
pnpm dev          # mp-hello on http://localhost:3013

Requires Node 20+ and pnpm 10+. CI runs build, typecheck, coverage, manifest-drift, publint, arethetypeswrong, and size-limit on every push.

Repo layout

ar-agents/
├── apps/
│   ├── landing/                 # ar-agents.ar
│   ├── cuit-hello/              # cuit-hello.ar-agents.ar (port 3014)
│   ├── whatsapp-hello/          # whatsapp-hello.ar-agents.ar
│   └── mp-hello/                # dev-only (port 3013)
├── packages/
│   ├── mercadopago/             # 89 tools: subscriptions, payments, OAuth, QR, 3DS, point, ...
│   ├── identity/                # CUIT validate + ARCA padrón
│   ├── identity-attest/         # verification orchestrator
│   ├── whatsapp/                # WhatsApp Cloud
│   ├── facturacion/             # AFIP factura electrónica
│   ├── banking/                 # CBU/CVU + BCRA
│   ├── shipping/                # Andreani / OCA / Correo
│   └── mcp/                     # MCP server wrapping all
├── .github/workflows/           # ci.yml, release.yml
├── package.json                 # workspace root
└── pnpm-workspace.yaml

Stability

All packages are pre-1.0. Public API may evolve in 0.x; we follow semver, so minor bumps may include breaking changes and patch bumps never do. Pinning a minor in production is safe.

License

MIT. Built by Nazareno Clemente.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @ar-agents/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-ar-agents-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ar-agents/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@ar-agents/mcpnpm

Compatible MCP Clients

io.github.ar-agents/mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More