MCP server/ai-tools

Junto MCP Server

The payment protocol for people and agents.

vrllrv/junto-mcp ↗by vrllrvupdated
1

Add it to Claude Code

claude mcp add -e "WOOVI_APP_ID=${WOOVI_APP_ID}" junto-mcp -- npx -y junto-mcp
Required:WOOVI_APP_ID+ 5 optional
2

Make your agent remember this setup

junto-mcp's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Universal payment toolkit for multiple rails and providers
  • Built-in guardrails including daily and per-transaction spending limits
  • Human-in-the-loop confirmation for high-value transactions
  • JSONL audit trail for every action taken
  • Multi-provider routing based on currency and country

Tools 7

paySend money to a destination (Pix key, email, IBAN, etc.)
chargeCreate a payment request / invoice / QR code
statusCheck payment status by correlation ID
refundReverse a completed transaction
balanceCheck available funds on a provider
providersList configured providers and their capabilities
limitsShow spending limits and today's usage

Environment Variables

WOOVI_APP_IDrequiredAPI identifier for Woovi provider
JUNTO_DAILY_LIMITMax total spend per day in cents
JUNTO_PER_TX_MAXMax single transaction amount in cents
JUNTO_CONFIRM_ABOVEThreshold in cents to trigger human-in-the-loop confirmation
JUNTO_ALLOWED_PROVIDERSComma-separated allowlist of payment providers
JUNTO_ALLOWED_DESTINATIONSComma-separated allowlist of destination types

Try it

Check my current balance across all payment providers.
Create a payment request for 50.00 for a coffee consultation.
Send 25.00 to [email protected] using my configured Pix provider.
What are my current daily spending limits and how much have I used today?
Check the status of the payment with correlation ID 12345.
Original README from vrllrv/junto-mcp

Junto

The payment protocol for people and agents.

Send and receive money through any AI assistant. Any payment rail. Built-in guardrails.

Named after Benjamin Franklin's Junto — a society of tradesmen who built civic infrastructure together. Different providers, same table, mutual benefit.


Why

AI assistants are starting to move real money — paying invoices, splitting bills, sending transfers. But every payment provider has a different API, different auth, different settlement times. Nobody should have to teach their assistant how Pix works vs Stripe vs Wise.

Junto fixes that with one MCP server that:

  • Exposes a universal payment toolkit to any MCP-compatible client (Claude, Cursor, custom agents)
  • Routes to the right provider based on currency, country, and rail
  • Enforces spending limits so agents can't go rogue
  • Supports human-in-the-loop confirmation for high-value transactions
  • Logs every action for audit and accountability

Tools

Tool Description
pay Send money to a destination (Pix key, email, IBAN, etc.)
charge Create a payment request / invoice / QR code
status Check payment status by correlation ID
refund Reverse a completed transaction
balance Check available funds on a provider
providers List configured providers and their capabilities
limits Show spending limits and today's usage

Quick Start

npm install -g junto-mcp

Set your provider API key:

export WOOVI_APP_ID="your-woovi-app-id"

Run as CLI (human mode):

junto pay 25.00 [email protected]
junto charge 10.00 "Coffee"
junto balance

Run as MCP server (for AI clients):

junto --mcp

Portuguese / Portugues

Junto auto-detects your system language, or set manually:

JUNTO_LANG=pt-BR junto ajuda
junto pagar 25.00 [email protected]
junto cobrar 10.00 "Cafe"
junto saldo

See CLI.md for the full command reference in both languages.

Add to Claude Desktop or Cursor

{
  "mcpServers": {
    "junto": {
      "command": "npx",
      "args": ["-y", "junto-mcp"],
      "env": {
        "WOOVI_APP_ID": "your-woovi-app-id"
      }
    }
  }
}

That's it. Your AI assistant now has payment tools.

Guardrails

All amounts are in cents (smallest currency unit).

Setting Env Var Default Meaning
Daily limit JUNTO_DAILY_LIMIT 50000 (R$500) Max total spend per day
Per-tx max JUNTO_PER_TX_MAX 20000 (R$200) Max single transaction
Confirm above JUNTO_CONFIRM_ABOVE 5000 (R$50) Ask human before sending
Allowed providers JUNTO_ALLOWED_PROVIDERS (all) Comma-separated allowlist
Allowed destinations JUNTO_ALLOWED_DESTINATIONS (all) Comma-separated type allowlist

When an agent tries to send above the JUNTO_CONFIRM_ABOVE threshold, the server pauses and returns a confirmation prompt. The agent must relay this to the user and get approval before proceeding.

⚠️ Confirmation required

  Amount:      BRL 150.00
  To:          [email protected]
  Reason:      Amount (15000 cents) exceeds confirmation threshold (5000 cents)

Please confirm with the user before proceeding.

Architecture

┌─────────────────────────────────────┐
│  MCP Client (Claude, Cursor, etc.)  │
└──────────────┬──────────────────────┘
               │ MCP Protocol (stdio)
┌──────────────▼──────────────────────┐
│           junto-mcp                 │
│                                     │
│  ┌───────────┐  ┌────────────────┐  │
│  │  Router    │  │  Guardrails    │  │
│  │  (picks    │  │  (spend caps,  │  │
│  │  provider) │  │  HITL confirm, │  │
│  │           │  │  audit log)    │  │
│  └─────┬─────┘  └────────────────┘  │
│        │                            │
│  ┌─────▼─────────────────────────┐  │
│  │  Provider Adapters            │  │
│  │  ┌────────┐ ┌──────┐ ┌────┐  │  │
│  │  │ Woovi  │ │Stripe│ │Wise│  │  │
│  │  └────────┘ └──────┘ └────┘  │  │
│  └───────────────────────────────┘  │
│                                     │
│  ┌───────────────────────────────┐  │
│  │  Audit Ledger (JSONL)         │  │
│  └───────────────────────────────┘  │
└─────────────────────────────────────┘

Providers

Provider Region Rails Status
Woovi/OpenPix Brazil Pix 🟢 Live (tested with real Pix transactions)
Ebanx Brazil + LATAM Pix payouts, Boleto, Cards 🟡 Next
Belvo Brazil Open Finance (all banks) 🟡 Next
Stripe Global Cards, ACH, SEPA 🟡 Next
Wise Global Bank transfers 🔴 Planned
Mercado Pago LATAM Pix, Cards 🔴 Planned
PayPal Global Email-based 🔴 Planned

Why Woovi/Pix first?

  • Pix settles instantly (perfect for demos and real use)
  • Brazil's Central Bank mandates open APIs for payments
  • 180M+ Pix users, 8

Frequently Asked Questions

What are the key features of Junto?

Universal payment toolkit for multiple rails and providers. Built-in guardrails including daily and per-transaction spending limits. Human-in-the-loop confirmation for high-value transactions. JSONL audit trail for every action taken. Multi-provider routing based on currency and country.

What can I use Junto for?

Automating invoice payments for freelance work. Splitting bills between team members via AI agents. Managing business expenses with strict spending caps. Integrating instant Pix payments into AI-driven customer support workflows.

How do I install Junto?

Install Junto by running: npm install -g junto-mcp

What MCP clients work with Junto?

Junto works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep Junto docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest