Split shared expenses in a group β no account needed. See who owes whom and settle up.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Split shared expenses without the fuss. Create a split, share the link, and let everyone add what they paid β balances and who-owes-whom are worked out automatically, with one-tap payments straight from the balance view.
split.xuper.fun Β· English Β· Svenska
Next.js 16 Β· Supabase Β· Tailwind v4 Β· wagmi/viem
Β
Β
Create a split and see who owes whom Β· a Swish QR with the amount already in it Β· splitting by shares
Works with AI agents. xupersplit is an MCP server too β point your assistant at one URL and it can create the split, add what everyone paid and tell you who owes whom. No account, no API key, nothing to install.
A clean, accountless expense splitter. The secret link is the key β anyone with it can add expenses and settle up; no login required. Optional email sign-in just makes your splits follow you across devices. Built as a one-prompt project and grown from there.
xupersplit stores each recipient's payment handle(s) and, wherever a payment network exposes an open, agreement-free interface, turns the balance row into a real one-tap payment β prefilled with the exact amount. No money ever passes through xupersplit; it only builds the link/invoice/transaction the payer approves in their own app.
| Method | Experience | How |
|---|---|---|
| Swish πΈπͺ | QR + app deep link, amount prefilled | Public app.swish.nu link + QR endpoint β no merchant contract |
| Lightning β‘ | QR + lightning: link, exact amount baked in | LNURL-pay (LUD-16): a lightning address β BOLT11 invoice |
| Ethereum / USDC Ξ | One-tap prefilled USDC transfer | WalletConnect (Reown AppKit) β connect, pick chain, approve |
| Solana / USDC β | One-tap prefilled USDC SPL transfer | WalletConnect (Reown AppKit) β Phantom/Solflare, recipient ATA auto-created |
| Ethereum / Solana address | Address QR + copy, ENS resolved | 0xβ¦ / name.eth / base58 β for any wallet |
| Revolut | Clickable revolut.me profile link | Opens the recipient's profile to pay |
| Vipps Β· MobilePay Β· IBAN | Stored handle + copy button | No open P2P API β the payer finishes in their own app |
Why the difference? Swish exposes a genuinely open prefilled deep link and QR endpoint; Lightning's LNURL and EVM/Solana over WalletConnect are open protocols. Vipps and MobilePay (now Vipps MobilePay) only offer amount-prefilled flows through their merchant APIs β a business agreement that routes money to a company, not person-to-person β so for those xupersplit does the honest thing and shows the handle with a copy button. If they ever ship an open P2P deep link, wiring it in is a small change. PRs welcome. π€
Crypto is irreversible. Crypto methods show extra warnings, and any method warns (with a date) if the recipient's details were ever changed from what was first entered β anyone with the link can edit them.
xupersplit speaks Model Context Protocol, so an AI assistant can create a split, add what everyone paid and report who owes whom β then hand you the link to share. Accountless like the rest of the app: no sign-up, no API key.
Or point any MCP client at https://split.xuper.fun/api/mcp (Streamable HTTP;
stdio-only clients can bridge via npx mcp-remote). Self-hosted instances get
the same endpoint at their own /api/mcp.
It also works as a custom connector in Claude and ChatGPT on the web β paste the endpoint, no authentication. ChatGPT needs developer mode switched on first, or the option to add one isn't there at all. Step-by-step at /mcp.
Eleven tools cover the whole lifecycle β create_split, get_split,
add_expense, record_payment, update_entry, delete_entry,
add_participant, rename_participant, remove_participant,
set_payment_methods, update_split. People are referred to by name and
amounts are plain decimals, so an agent never handles uuids or cents.
The server is a thin layer over the same RPCs and money.ts helpers the web app
uses, and it only ever holds the anonymous role β which is what keeps secure
splits (they need a signed-in auth.uid()) unreachable over MCP. Full details
at /mcp.
security definer Postgres RPCs (split_data, save_entry,
set_payment_methods, β¦) where the secret split key in the URL is the
capability. RLS is deny-all on every table and direct grants are revoked β the
client only ever holds the public publishable key. Schema and every change
live in supabase/migrations/./api/swish-qr, /api/ln-invoice (LNURL-pay),
/api/ens (viem), /api/fx (fiat + BTC, with provider fallback).Next.js 16 Β· React 19 Β· TypeScript Β· Tailwind CSS v4 Β· Supabase (Postgres, Auth) Β· wagmi + viem + @solana/web3.js + Reown AppKit Β· Playwright Β· Vercel
.env.local:
Self-hostable on the free tiers of Supabase + Vercel.
supabase link --project-ref <ref> && supabase db push
(runs every migration in supabase/migrations/).
Grab the Project URL and publishable (anon) key. For optional email
sign-in, configure SMTP and the β¦/auth/confirm redirect.NEXT_PUBLIC_SUPABASE_URL and
NEXT_PUBLIC_SUPABASE_ANON_KEY (both safe to expose; security relies on RLS
NEXT_PUBLIC_REOWN_PROJECT_ID too if you want WalletConnect.
Deploy.cname.vercel-dns.com, and add the domain's β¦/auth/confirm to the
Supabase redirect allowlist if using email sign-in.No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/xupersplit)<a href="https://allmcps.com/mcp/xupersplit"><img src="https://allmcps.com/api/badge/xupersplit?style=directory" alt="Xupersplit on AllMCPs" /></a>