mcpField
X
xupersplit

xupersplit

远程服务
split.xuper.fun金融数据41 周前更新

关于 xupersplit

xupersplit 是面向分摊共同开支群组的免账户工具。其 MCP 服务可让 Agent 管理费用并查询欠款,网页应用还支持灵活分账和付款链接。

主要功能

  1. 01免账户创建分账
  2. 02按均分、份额或金额分摊
  3. 03计算最少结算转账
  4. 04支持多种货币及 sats
  5. 05生成付款链接和二维码

适用场景

  1. 01记录团体旅行开支
  2. 02结算共同居住账单
  3. 03让 Agent 创建分账并查询欠款

MCP 相关

MCP 服务提供创建和更新分账、记录费用与付款、查询欠款关系的工具。它通过 Streamable HTTP 接入,无需账户或 API 密钥。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://split.xuper.fun/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

11
参数类型必填说明
titlestring是分摊用途,例如 "Ski trip"。
currencyenum否货币代码。默认为 SEK。SEK | EUR | USD | NOK | DKK | ISK | GBP | CHF | PLN | THB | SATS
participantsarray是所有分摊参与者的姓名,至少两人。

详细介绍

xupersplit — 轻松拆分费用,省去麻烦

xupersplit

轻松拆分共同开支。 创建一个分账,分享链接,然后让每个人添加自己支付的费用——系统会自动计算余额和彼此欠款,还能直接在余额视图中一键付款。

split.xuper.fun · English · Svenska

CI  License: MIT  MCP registry  Live app

Next.js 16 · Supabase · Tailwind v4 · wagmi/viem


xupersplit 演示 — 创建分账、添加费用,然后通过链上 USDC 结清   付款对话框:Swish 二维码中已填入准确金额   新建费用:按份额拆分,其中一人计为双份

创建分账并查看彼此欠款 · 已填入金额的 Swish 二维码 · 按份额拆分


支持 AI Agent。 xupersplit 也是一个 MCP 服务—— 只需将一个 URL 提供给你的助手,它就能创建分账、添加每个人支付的费用,并告诉你彼此欠款。无需账户、API 密钥,也无需安装任何东西。

claude mcp add --transport http xupersplit https://split.xuper.fun/api/mcp

它是什么

一款简洁、无需账户的费用分摊工具。私密链接就是关键——任何拥有链接的人都可以添加费用并结清款项,无需登录。可选的电子邮件登录功能可以让你的分账在不同设备间同步。这是一个从一个提示词项目起步、逐步发展而来的产品。

功能

  • 无需账户。 无法猜测的分账链接(122 位熵)本身就是访问凭证。登录是可选的。
  • 灵活拆分——平均分摊、按权重分摊或指定金额,并通过最大余数法进行分位舍入。
  • 智能结算——以最少的“A 付给 B”转账结清,支持部分付款(“付清全部或部分”),结清后会显示删除线。
  • 别太早结算——查看谁打开过分账,以及谁已标记完成;如果有人尚未确认,付款对话框会发出提醒。
  • 安全分账(可选,登录后启用)——将参与者绑定到账户:你只能编辑自己的付款信息、录入自己的费用。创建者可以选择哪些人必须登录、哪些人可以查看,以及参与者如何加入。
  • 多币种——可使用任意币种录入费用,汇率会在保存时锁定(类似 Kittysplit);还可以为每个分账设置主币种。支持聪(sats)——你也可以用比特币结算整个分账。
  • 八种付款方式,其中好几种支持真正的一键预填——见下文。
  • MCP 服务——AI Agent 可以通过 Model Context Protocol 完成整个分账流程,无需账户和 API 密钥。
  • 六种语言——English、Svenska、Norsk、Dansk、Suomi、Íslenska(自动检测,可切换)。
  • 隐私保护设计——所有人结清后可清除付款信息;不活跃的分账会在 6 个月后清除;IP 哈希会在一天内删除;支持 CSV/JSON 导出,并提供完整的 GDPR 政策。
  • 深色 / 浅色 / 跟随系统主题、无 Cookie 分析,以及低调的 Cookie 提示。

付款

xupersplit 会存储每位收款人的付款账号,并在支付网络提供开放、无需协议的接口时,将余额行变成真正的一键付款——预填确切金额。资金不会经过 xupersplit;它只会生成付款人可以在自己的应用中审批的链接、发票或交易。

方式使用体验原理
Swish 🇸🇪二维码 + 应用深度链接,预填金额公开的 app.swish.nu 链接 + 二维码端点——无需商户合同
Lightning ⚡二维码 + lightning: 链接,内含确切金额LNURL-pay(LUD-16):Lightning 地址 → BOLT11 发票
Ethereum / USDC Ξ一键预填 USDC 转账WalletConnect(Reown AppKit)——连接、选择链、审批
Solana / USDC ◎一键预填 USDC SPL 转账WalletConnect(Reown AppKit)——Phantom/Solflare,自动创建收款人 ATA
Ethereum / Solana 地址地址二维码 + 复制,解析 ENS0x… / name.eth / base58——适用于任何钱包
Revolut可点击的 revolut.me 个人资料链接打开收款人的个人资料进行付款
Vipps · MobilePay · IBAN已保存的付款账号 + 复制按钮没有开放的 P2P API——付款人需在自己的应用中完成付款

为什么会有区别? Swish 提供真正开放的预填深度链接和二维码端点;Lightning 的 LNURL,以及通过 WalletConnect 使用的 EVM/Solana,都是开放协议。Vipps 和 MobilePay(现为 Vipps MobilePay)只通过其商户 API 提供预填金额的付款流程——这需要商业协议,资金会转入公司,而非进行个人对个人付款。因此,对于这些方式,xupersplit 会如实显示付款账号和复制按钮。如果它们日后推出开放的 P2P 深度链接,接入只需做少量改动。欢迎提交 PR。🤞

加密货币交易不可撤销。 加密货币付款方式会显示额外警告;如果收款人的信息曾被修改,任何付款方式都会显示警告(附日期)——任何拥有链接的人都可以编辑这些信息。

MCP 服务

xupersplit 支持 Model Context Protocol,因此 AI 助手可以创建分摊、添加每个人支付的金额并报告谁欠谁——然后把链接交给你分享。和应用其他功能一样,无需账号:不必注册,也不需要 API 密钥。

claude mcp add --transport http xupersplit https://split.xuper.fun/api/mcp

也可以让任何 MCP 客户端连接到 https://split.xuper.fun/api/mcp(Streamable HTTP;仅支持 stdio 的客户端可通过 npx mcp-remote 桥接)。可自托管的实例也会在各自的 /api/mcp 提供相同端点。

它还可以作为自定义连接器用于网页版 Claude 和 ChatGPT——粘贴端点即可,无需身份验证。ChatGPT 需要先开启开发者模式,否则根本不会显示添加连接器的选项。分步说明见 /mcp。

11 个工具涵盖完整生命周期——create_split、get_split、add_expense、record_payment、update_entry、delete_entry、add_participant、rename_participant、remove_participant、set_payment_methods、update_split。参与者通过姓名指代,金额使用普通小数,因此 Agent 无需处理 uuid 或分。

服务端是同一组 RPC 和 Web 应用所用 money.ts 辅助函数的轻量封装,并且始终只持有匿名角色——因此 secure 分摊(需要已登录的 auth.uid())无法通过 MCP 访问。完整说明见 /mcp。

架构

  • 应用中不包含服务角色密钥。 所有数据访问都通过 security definer Postgres RPC(split_data、save_entry、 set_payment_methods,等等)进行,其中 URL 中的秘密分账密钥就是 访问凭证。所有表的 RLS 均默认拒绝访问,并且已撤销直接授权——客户端始终只持有公开的可发布密钥。架构及所有变更都保存在 supabase/migrations/ 中。
  • Next.js App Router + 服务端操作;客户端使用纯 React,不依赖状态库。使用 CSS 变量主题的 Tailwind v4。
  • 精简、无密钥的 API 路由代理开放支付网络,并且都限制为同源:/api/swish-qr、/api/ln-invoice(LNURL-pay)、/api/ens(viem)、/api/fx(法币 + BTC,支持备用提供方)。
  • WalletConnect 仅在配置项目 ID 时启用——未配置时,EVM 对话框会顺畅地回退到二维码 + 复制。
  • 隐私与滥用控制——结算时清除支付信息(可选择退出)、清理 6 个月未活动的分账、按 IP 哈希 + 全局限制创建频率,以及每日标记分账密钥枚举尝试的任务。

技术栈

Next.js 16 · React 19 · TypeScript · Tailwind CSS v4 · Supabase(Postgres、 Auth)· wagmi + viem + @solana/web3.js + Reown AppKit · Playwright · Vercel

在本地运行

npm install
cp .env.example .env.local   # add your own Supabase URL + anon key
npm run dev

.env.local:

NEXT_PUBLIC_SUPABASE_URL=https://<your-project>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<your publishable key>
# Optional — enables the WalletConnect USDC flow (free id from cloud.reown.com)
NEXT_PUBLIC_REOWN_PROJECT_ID=<your reown project id>

部署你自己的实例

可在 Supabase + Vercel 的免费套餐上自托管。

  1. Supabase — 创建一个项目(选择欧盟区域可将数据保留在欧洲),然后运行 supabase link --project-ref <ref> && supabase db push 应用架构(会运行 supabase/migrations/ 中的每个迁移)。 获取 项目 URL 和 可发布(anon)密钥。如需通过电子邮件登录,请配置 SMTP 和 …/auth/confirm 重定向。
  2. Vercel — 导入代码仓库,添加 NEXT_PUBLIC_SUPABASE_URL 和 NEXT_PUBLIC_SUPABASE_ANON_KEY(二者都可安全公开;安全性依赖 RLS
    • RPC)。如果需要 WalletConnect,也添加 NEXT_PUBLIC_REOWN_PROJECT_ID。 然后部署。
  3. 自定义域名(可选) — 在 Vercel 中添加域名,将 仅 DNS 的 CNAME 指向 cname.vercel-dns.com;如果使用电子邮件登录,还要将该域名的 …/auth/confirm 添加到 Supabase 重定向允许列表中。

使用 Docker 完全自托管

想要掌控整个技术栈?selfhost/ 会启动应用 及其自有后端——Postgres、身份验证(GoTrue)、REST/RPC 层(PostgREST)和本地邮箱——无需外部服务。应用本身充当网关,因此浏览器始终只与一个源通信。

cd selfhost
cp .env.example .env       # ⚠️ change the secrets — see the notes in the file
docker compose up -d --build
  • 应用:**http://localhost:3000**。使用 电子邮件 + 密码登录(立即生效,无需 SMTP),或使用魔法码;魔法码会发送到 Mailpit,地址为 **http://localhost:8025**。
  • 只需设置一个标志即可启用 HTTPS:将域名指向主机,在 .env 中设置 DOMAIN + ACME_EMAIL 和 SITE_URL=https://…,然后运行 docker compose --profile tls up -d --build——Caddy 会自动获取并续订 Let's Encrypt 证书。若在 NAT 后方,或需要通配符证书,可设置 CF_API_TOKEN(范围受限的 Cloudflare 令牌),让 Caddy 改用 DNS-01 挑战——无需开放 80 端口。
  • 首次启动时会自动应用 supabase/migrations/ 中的迁移。
  • .env.example 附带 公开演示用 JWT 密钥,开箱即用。对于任何面向互联网的部署,请更改 JWT_SECRET 和密码,并重新生成 ANON_KEY/SERVICE_ROLE_KEY(可使用任意 JWT 工具——用新密钥签署 {"role":"anon",...} / {"role":"service_role",...})。
  • 在 .env 中设置 APP_PORT / MAILPIT_PORT 可更改主机端口; REOWN_PROJECT_ID 可启用 WalletConnect 支付按钮。

完整指南请参阅 selfhost/README.md,其中包含密钥重新生成、网关架构、Cloudflare DNS-01、配置参考和故障排查。

测试与 CI

Playwright 冒烟测试(npm run test:e2e)会在每个 PR 中针对本地生产构建运行,并作为合并到 main 的门槛;纯粹的拆分/均摊/结算逻辑位于 src/lib/money.ts。

贡献

欢迎提交 Issue 和 PR,也欢迎刚使用过网站的用户报告 Bug。请从 CONTRIBUTING.md 开始。

切勿发布拆分链接。 拆分的 URL 就是它的密码——任何看到它的人都能读取和编辑该拆分,而 Issue 是公开的,且会被索引。请描述问题,或者创建一个使用虚假姓名的一次性拆分。

目前最需要的是:为 Vipps 或 MobilePay 添加真正开放的 P2P 深层链接,让金额能像 Swish 和 Lightning 一样预先填好;此外,还需要增加更多支付方式,并修复六种语言中的翻译问题。代码库规模小,且完全采用类型标注。

许可证

MIT — 请参阅 LICENSE。


如果 xupersplit 帮你们小组避免了一些争吵,可以请我们

请我喝杯啤酒

用爱、咖啡和啤酒打造

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。