Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Brazilian card acquiring API — merchants, cards-on-file, 3DS, PIX, banking, pricing.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
RINNE_API_KEY, RINNE_SANDBOX, RINNE_EMAIL, RINNE_PASSWORD, RINNE_COMPANY_IDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"rinne": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-rinne"
],
"env": {
"RINNE_API_KEY": "your-value",
"RINNE_SANDBOX": "your-value",
"RINNE_EMAIL": "your-value",
"RINNE_PASSWORD": "your-value",
"RINNE_COMPANY_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add rinne --env RINNE_API_KEY=your-value --env RINNE_SANDBOX=your-value --env RINNE_EMAIL=your-value --env RINNE_PASSWORD=your-value --env RINNE_COMPANY_ID=your-value -- npx -y @codespar/mcp-rinneFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"rinne": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-rinne"
],
"env": {
"RINNE_API_KEY": "your-value",
"RINNE_SANDBOX": "your-value",
"RINNE_EMAIL": "your-value",
"RINNE_PASSWORD": "your-value",
"RINNE_COMPANY_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"rinne": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@codespar/mcp-rinne"
],
"env": {
"RINNE_API_KEY": "your-value",
"RINNE_SANDBOX": "your-value",
"RINNE_EMAIL": "your-value",
"RINNE_PASSWORD": "your-value",
"RINNE_COMPANY_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
RINNE_SANDBOX envRINNE_EMAIL envRINNE_COMPANY_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account codespar, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: RINNE_API_KEY, RINNE_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for Rinne — Brazilian card acquiring, PIX, banking, and payment infrastructure, covering the full API surface
Rinne is a Brazilian payment infrastructure API. It runs a B2B2B model: your Organization manages any number of Merchants, each merchant onboards via KYC and connects to a payment provider (Rinne itself, Cappta, Celcoin, ...) through an Affiliation, and everything downstream flows through that affiliation — card and PIX transactions, cards-on-file, 3D Secure, cashouts/payouts, ledger, and pricing.
This MCP server wraps the entire Rinne REST API — not just card acquiring — so AI agents can manage merchants, run transactions, move money, and administer access in sandbox or production.
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": { "rinne": { "command": "npx", "args": ["-y", "@codespar/mcp-rinne"], "env": { "RINNE_API_KEY": "your-api-key", "RINNE_SANDBOX": "true" } } } }
claude mcp add rinne -- npx @codespar/mcp-rinne
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": { "rinne": { "command": "npx", "args": ["-y", "@codespar/mcp-rinne"], "env": { "RINNE_API_KEY": "your-api-key", "RINNE_SANDBOX": "true" } } } }
| Tool | Purpose |
|---|---|
get_company | Get the authenticated company (org or merchant, depending on key scope) |
update_company | Update the authenticated company |
| Tool | Purpose |
|---|---|
create_merchant | Create a merchant under your organization (KYC) |
list_merchants | List merchants |
get_merchant | Get merchant details by ID |
update_merchant | Update a merchant |
| Tool | Purpose |
|---|---|
create_affiliation | Create a merchant account with a payment provider (Rinne, Cappta, Celcoin, ...) |
register_affiliation | Register a gateway-mode affiliation using existing provider credentials |
list_affiliations | List affiliations, org-wide or for one merchant |
get_affiliation | Get a specific affiliation |
| Tool | Purpose |
|---|---|
store_card | Save a card for reuse in future transactions |
list_cards | List stored cards |
get_card | Get a stored card by ID |
delete_card | Delete a stored card |
| Tool | Purpose |
|---|---|
create_3ds_session | Create a 3DS authentication session ahead of a transaction |
| Tool | Purpose |
|---|---|
create_transaction | Create a card (raw, stored, or Apple Pay/Google Pay) or PIX transaction |
authenticate_transaction | Complete 3DS for a transaction awaiting authentication |
get_transaction | Get transaction details and status, including refunds |
list_transactions | List transactions, org-wide or for one merchant |
cancel_transaction | Cancel a pending transaction (e.g. unpaid bolepix) |
refund_transaction | Refund a transaction, fully or partially |
cancel_refund | Cancel a refund that hasn't settled yet |
get_transaction_receipt | Get a transaction's receipt (base64 PDF) |
simulate_pay_transaction | Sandbox only — mark a transaction as paid |
| Tool | Purpose |
|---|---|
create_pix_collection_key | Create a PIX key the merchant uses to *receive* payments |
list_pix_collection_keys | List the merchant's PIX collection keys |
| Tool | Purpose |
|---|---|
list_ledger_entries | List ledger entries for the authenticated company |
get_ledger_entry | Get a single ledger entry |
| Tool | Purpose |
|---|---|
create_bank_account | Register an external bank account (payout destination) |
update_bank_account | Set a bank account as primary |
register_cashout_pix_key | Register an external PIX key as a *payout* destination |
get_balance | Get the current balance |
topup_balance | Sandbox only — simulate funding the balance |
get_statement | Get a merchant's balance statement for a date range |
create_internal_transfer | Transfer funds between your org's own bank accounts |
list_judicial_blockages | List court-ordered account freezes affecting balances |
| Tool | Purpose |
|---|---|
create_cashout | Create a payout to a bank account or PIX key |
list_cashouts | List cashouts |
get_cashout | Get a single cashout |
get_cashout_receipt | Get a cashout's receipt |
| Tool | Purpose |
|---|---|
list_fee_policies | List fee policies (what you charge merchants) |
create_fee_policy | Create a fee policy |
replace_fee_policy | Replace a fee policy in full |
update_fee_policy | Partially update a fee policy |
list_cost_policies | List cost policies (what providers charge you) |
list_mccs | List Merchant Category Codes |
| Tool | Purpose |
|---|---|
get_webhook_dashboard_url | Get the URL to configure webhook endpoints/events |
| Tool | Purpose |
|---|---|
get_health | Check API health status |
| Tool | Purpose |
|---|---|
create_api_key | Create an API key (shown once) |
list_api_keys | List API keys (prefix + last 4 only) |
revoke_api_key | Revoke an API key |
create_role | Create a custom role |
list_roles | List roles |
list_permissions | List all available permissions |
get_current_session | Whoami for the JWT session |
| Tool | Purpose |
|---|---|
create_user | Create a user (merchant scope: x-api-key; org scope: JWT) |
list_users | List users |
update_user | Update a user's name/roles — JWT, org only |
suspend_user | Suspend a user — JWT, org only |
activate_user | Reactivate a user — JWT, org only |
| Tool | Purpose |
|---|---|
lookup_zipcode | Look up a Brazilian address by CEP |
| Tool | Purpose |
|---|---|
get_sandbox_guide | Return test cards, the amount-based decline rule, and which tools need JWT |
Rinne does not accept a raw card number or CVV over this API. Every number/cvv field (and, for Apple Pay/Google Pay, network_token/cryptogram) must already be an encrypted token ("ev:...") produced by the rinne-js Card/Wallet Element running in a browser — a raw PAN/CVV is rejected with 400 VALIDATION_ERROR, and there is no server-side encryption path.
In practice, this server is the second half of a checkout: run a rinne-js flow (see rinne-js docs) to collect and encrypt the card client-side, then hand the resulting token to store_card or create_transaction here to finish the operation. Alternatively, use card_id on create_transaction to charge a card already saved via store_card.
Every resource that operates on transactions, cards, 3DS sessions, affiliations, or banking accepts an optional merchant_id:
/v1/merchants/{merchant_id}/...), for an organization managing multiple merchants.refund_transaction, get_statement, and create_pix_collection_key/list_pix_collection_keys always require merchant_id — they only exist at the merchant level.
Rinne has two distinct PIX-key resources with similarly-named endpoints:
/v1/merchants/{id}/pix/keys) — a key the merchant uses to *receive* PIX payments, tied to a provider affiliation (provider, key_type)./v1/merchants/{id}/pix-keys or /v1/companies/me/pix-keys) — an *external* key registered as a *payout* destination for cashouts (key, primary).Most of the API uses x-api-key, but Rinne's access-management surface deliberately rejects it — a leaked API key must not be able to create other keys, roles, or users. Those tools need a JWT session instead:
| Auth | Used by |
|---|---|
x-api-key (RINNE_API_KEY) | Everything else — merchants, affiliations, cards, 3DS, transactions, PIX, banking, cashouts, pricing, webhooks, merchant-scoped users |
JWT (RINNE_EMAIL + RINNE_PASSWORD) | create_api_key, list_api_keys, revoke_api_key, create_role, list_roles, list_permissions, get_current_session, lookup_zipcode, and org-scoped create_user/list_users/update_user/suspend_user/activate_user |
This server logs in lazily on the first JWT-gated tool call and caches the token, re-logging-in once on a 401. If RINNE_COMPANY_ID is set, it selects that company right after login (for accounts with access to multiple companies). If RINNE_EMAIL/RINNE_PASSWORD aren't set, JWT-gated tools return a clear error instead of failing silently — the rest of the server works fine without them.
Defaults to sandbox (https://api-sandbox.rinne.com.br/core). Set RINNE_SANDBOX=false for production (https://api.rinne.com.br/core).
Call get_sandbox_guide for the full JSON, or see below:
| Card number | Brand | 3DS |
|---|---|---|
5155901222280001 | Mastercard | No |
4012001037141112 | Visa | No |
4242424242424242 | Visa | Challenge |
The last two digits of the amount (in cents) determine the result — not the card number:
| Last 2 digits | Result |
|---|---|
00 | Approved |
51 | Refused — insufficient funds |
05 | Refused — do not honor |
54 | Refused — expired card |
Example: amount: 1051 → REFUSED with code 51.
Use simulate_pay_transaction (sandbox only) to mark a WAITING_PAYMENT PIX transaction as paid.
Reference: Rinne testing guide
| Variable | Required | Description |
|---|---|---|
RINNE_API_KEY | Yes | API key, sent as x-api-key |
RINNE_SANDBOX | No | Defaults to sandbox; set to "false" for production |
RINNE_EMAIL | No | Login identifier for JWT-gated tools |
RINNE_PASSWORD | No | Login password, paired with RINNE_EMAIL |
RINNE_COMPANY_ID | No | Company to select after login, for multi-company accounts |
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.
MIT