Payments in natural language
Users ask the AI to send money. The SDK detects the right rail, verifies identity, and executes the payment — all within a single conversation.
Multi-rail payment coverage
Each rail exposes standardized MCP tools that AI assistants discover automatically — no custom integration per country.
Real-time interbank transfers via Banco de Mexico. CLABE validation, instant settlement, full refund support.
- 18-digit CLABE validation
- Instant settlement (24/7)
- RFC/CURP support
- Refund and reversal flows
ACH Colombia electronic payments. NIT and CC validation, multi-bank routing, full audit trail.
- NIT / CC validation
- Multi-bank routing via ACH Colombia
- Real-time status polling
- Webhook callbacks
Instant payments via Banco Central do Brasil. CPF, CNPJ, email, phone, and EVP key support.
- CPF / CNPJ / email / phone / EVP keys
- Sub-second settlement
- QR code generation
- DICT key lookup
Configurable mock adapter for testing and demos. Simulate any payment scenario without real bank integration.
- Configurable latency simulation
- Error scenario injection
- Unlimited mock volume
- Sandbox-only (no live funds)
2FA inside the conversation
No pop-ups, no redirects. When a payment requires verification, the AI asks the user directly — within the same chat thread.
- 1
User initiates payment
The user asks the AI assistant to send money in natural language.
- 2
SDK triggers Twilio Verify
mcp2p sends an OTP via SMS or WhatsApp to the user's registered number.
- 3
AI prompts for code
The AI asks for the 6-digit verification code within the same chat thread.
- 4
Code verified server-side
The SDK validates the OTP against Twilio — never exposed to the AI model.
- 5
Payment executes
On successful verification, the payment is submitted and a confirmation is returned.
Up and running in minutes
A single TypeScript SDK wraps all rails, 2FA, and licensing. MCP tools are auto-registered — your AI assistant discovers them without extra configuration.
- TypeScript-first with strict types
- Zod validation on all inputs and outputs
- Auto-registers MCP tools per licensed rail
- Built-in error classification and retries
- Works with Claude, GPT-4, and any MCP-compatible model
import { createMcp2pServer } from "@mcp2p/sdk";
const server = createMcp2pServer({
licenseKey: process.env.MCP2P_LICENSE_KEY,
rails: ["spei", "pse", "pix"],
twoFactor: {
provider: "twilio",
channel: "sms",
},
});
server.start();Enterprise-grade license control
Four independent validation gates prevent unauthorized usage at every layer — from build time to individual transactions.
SDK refuses to compile if the license is invalid or expired.
Every server start validates the license against the license server.
Each MCP tool call checks which rails and features are permitted.
Transaction counts are tracked; limits are enforced per billing period.
Developer dashboard
Everything you need to manage licenses, monitor usage, and audit every payment — from a single control plane.
Create, rotate, and revoke license keys per environment or tenant.
Real-time transaction counts, rail breakdown, and trend charts.
Immutable, tamper-evident log of every payment attempt and outcome.
Separate sandbox and production environments with independent keys.
Ready to make payments conversational?
See how mcp2p can power AI-native payments for your bank.