About mcp-kushki
mcp-kushki is an MCP server for Kushki, a PSP operating in Mexico, Colombia, Chile, Peru and Ecuador. It exposes card charges, preauthorization, PSE/SPEI bank transfers, cash vouchers and subscriptions through one REST API. It suits developers and agents handling LATAM payments.
Key features
- 01Card tokenization and one-step charges
- 02Two-step preauthorization with partial capture
- 03PSE and SPEI bank transfer collection
- 04Cash voucher payments
- 05Recurring card subscriptions with cancellation
Use cases
- 01Letting an agent tokenize a test card and charge it
- 02Collecting COP payments with IVA tax breakdown
- 03Creating or cancelling recurring charges for a subscription service
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-kushkiKUSHKI_PUBLIC_MERCHANT_IDSecretKushki public merchant id (card/transfer tokenization)KUSHKI_PRIVATE_MERCHANT_IDSecretKushki private merchant id (charges, captures, voids, subscriptions)KUSHKI_ENVEnvironment: 'sandbox' (api-uat) or 'production'. Defaults to 'sandbox'.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
10Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| card | object | Yes | Card data |
| card.cvv | string | Yes | Security code |
| card.name | string | Yes | Cardholder name |
| card.number | string | Yes | Card number (PAN) |
| card.expiryYear | string | Yes | YY |
| card.expiryMonth | string | Yes | MM |
| currency | string | Yes | MXN | COP | CLP | PEN | USD |
| totalAmount | number | Yes | Total amount the token will charge |
Details
From the project README@codespar/mcp-kushki
MCP server for Kushki — the omnichannel PSP spanning Mexico, Colombia, Chile, Peru and Ecuador: card tokenization + one-step/two-step charges, bank transfer-in (PSE / SPEI), cash networks and subscriptions, all on one REST API.
Quick Start
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"kushki": {
"command": "npx",
"args": ["-y", "@codespar/mcp-kushki"],
"env": {
"KUSHKI_PUBLIC_MERCHANT_ID": "your-public-merchant-id",
"KUSHKI_PRIVATE_MERCHANT_ID": "your-private-merchant-id",
"KUSHKI_ENV": "sandbox"
}
}
}
}
Claude Code
claude mcp add kushki --env KUSHKI_PUBLIC_MERCHANT_ID=... --env KUSHKI_PRIVATE_MERCHANT_ID=... -- npx -y @codespar/mcp-kushki
Cursor / VS Code
Add the same block to .cursor/mcp.json or .vscode/mcp.json.
Tools (10)
| Tool | Endpoint | What it does |
|---|---|---|
tokenize_card | POST /card/v1/tokens | Raw card → single-use token (public id) |
create_charge | POST /card/v1/charges | One-step card charge |
create_preauthorization | POST /card/v1/preAuthorization | Hold funds (two-step, step 1) |
capture_preauthorization | POST /card/v1/capture | Capture a preauth (step 2, partial OK) |
void_charge | DELETE /card/v1/charges/{ticket} | Void (same-day) or refund (settled) |
create_transfer_token | POST /transfer/v1/tokens | Token for PSE (CO) / SPEI (MX) transfer-in |
create_transfer_charge | POST /transfer/v1/init | Start the bank transfer; returns redirect URL |
create_cash_charge | POST /cash/v1/charges | Cash voucher for OXXO-style networks |
create_subscription | POST /card/v1/subscriptions | Recurring card charge on a periodicity |
cancel_subscription | DELETE /card/v1/subscriptions/{id} | Stop future charges |
Authentication
Two merchant ids with distinct powers:
| Variable | Required | Description |
|---|---|---|
KUSHKI_PUBLIC_MERCHANT_ID | yes | Tokenization only — safe for client-side use |
KUSHKI_PRIVATE_MERCHANT_ID | yes | Money movement — server-side only |
KUSHKI_ENV | no | sandbox (api-uat, default) or production |
Amounts use Kushki's per-country tax shape: { subtotalIva, subtotalIva0, iva, currency } — currencies MXN, COP, CLP, PEN, USD.
Example
"Tokenize this test card and charge COP 85,000 with 19% IVA."
The agent calls tokenize_card, then create_charge with { subtotalIva: 85000, subtotalIva0: 0, iva: 16150, currency: "COP" }.
Enterprise
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
Managed tier
This open-source server calls Kushki's API directly with your credentials. CodeSpar's managed tier routes one interface across every LATAM provider with automatic failover, governance, audit and a credential vault: codespar.dev/agents.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.