mcpField
X
xupersplit

xupersplit

リモート
split.xuper.fun金融データ41 週間前に更新
リポジトリ公式サイト

xupersplit について

xupersplitは、グループの共通費をアカウントなしで分担するサービスです。MCPサーバーからエージェントが支出を管理して精算額を確認でき、柔軟な分割方法や支払いリンクにも対応します。

主な機能

  1. 01アカウントなしで割り勘を作成
  2. 02均等・比率・金額指定で分割
  3. 03最小限の精算振込を計算
  4. 04satsを含む複数通貨に対応
  5. 05支払いリンクとQRコードを生成

活用シーン

  1. 01グループ旅行の費用を記録
  2. 02共同生活の請求を精算
  3. 03エージェントに割り勘作成と残額確認を依頼

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はい分担する全員の名前。2 人以上必要です。

詳細

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 QRコード   新しい費用:持分による分割で、2人分として数える人も設定

分割を作成して誰が誰に支払うかを確認 · 金額が入力済みのSwish QRコード · 持分による分割


AI エージェントで利用できます。 xupersplit はMCP サーバーでもあります。 アシスタントに1つのURLを指定するだけで、分割の作成、各自の支払額の追加、 誰が誰に支払うかの確認ができます。アカウントもAPIキーもインストールも不要です。

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

概要

すっきりとした、アカウント不要の費用分割ツールです。秘密のリンクが鍵です。 リンクを持っている人なら誰でも費用を追加して精算できます。ログインは不要です。 任意のメールサインインを利用すると、複数のデバイスで分割情報を引き継げます。 1つのプロンプトから始まったプロジェクトが、そこから成長しました。

特長

  • アカウントは不要です。 推測困難な分割リンク(122ビットのエントロピー)そのものが アクセス権となります。サインインは任意です。
  • 柔軟な分割 — 均等割り、重み付けした持分、または金額の指定に対応し、 最大剰余方式でセント単位の丸めを行います。
  • スマートな精算 — 「AがBに支払う」最小限の送金回数を計算します。 一部払い(「全額または一部を支払う」)に対応し、精算後は取り消し線が付きます。
  • 早すぎる精算を防止 — 分割を開いた人や、完了をマークした人を確認できます。 支払いダイアログでは、まだ意思表示していない人がいる場合に警告します。
  • 安全な分割 (サインイン時のみ任意) — 参加者をアカウントに紐付けます。 自分の支払い情報だけを編集し、自分の費用だけを入力できます。作成者は、 ログインが必要な人、閲覧できる人、参加方法を指定できます。
  • 複数通貨対応 — 保存時の為替レートを固定して、任意の通貨で費用を入力できます (Kittysplit方式)。分割ごとにメイン通貨を設定できます。satsにも対応し、 ビットコインだけで分割を完結させることもできます。
  • 8種類の支払い方法に対応し、そのうち複数はワンタップで実際に支払い情報を入力できます — 詳細はこちら。
  • MCP サーバー — AI エージェントはModel Context Protocolを通じて 分割を一通り操作できます。アカウントもAPIキーも不要です。
  • 6言語対応 — English、Svenska、Norsk、Dansk、Suomi、Íslenska (自動検出、切り替え可能)。
  • プライバシーを重視した設計 — 全員の精算後に支払い情報を消去できます。 6か月間利用のない分割は削除され、IPハッシュは1日以内に削除されます。 CSV/JSONエクスポート、包括的なGDPRポリシーにも対応しています。
  • ダーク/ライト/システムテーマ、Cookieを使わない分析、目立たないCookie通知。

支払い

xupersplit は各受取人の支払いハンドルを保存し、支払いネットワークがオープンで、契約不要のインターフェースを提供している場合は、残高の行からワンタップで実際に支払えるようにします。正確な金額があらかじめ入力された状態で支払いを開始できます。xupersplit が金銭を預かることは一切ありません。支払う人が自分のアプリで承認するリンク、請求書、トランザクションを作成するだけです。

方法支払い方法仕組み
Swish 🇸🇪QR コード+アプリへのディープリンク。金額は入力済み公開されている app.swish.nu リンク+QR エンドポイント。加盟店契約は不要
Lightning ⚡QR コード+lightning: リンク。正確な金額を埋め込みLNURL-pay(LUD-16):ライトニングアドレスから BOLT11 請求書を作成
Ethereum / USDC Ξ金額入力済みの USDC 送金をワンタップで実行WalletConnect(Reown AppKit):接続し、チェーンを選択して承認
Solana / USDC ◎金額入力済みの USDC SPL 送金をワンタップで実行WalletConnect(Reown AppKit):Phantom/Solflare を使用。受取人の ATA は自動作成
Ethereum / Solana アドレスアドレスの QR コード+コピー。ENS 名前解決に対応0x… / name.eth / base58。あらゆるウォレットで利用可能
Revolutクリック可能な revolut.me プロフィールリンク受取人のプロフィールを開いて支払い
Vipps · MobilePay · IBAN保存したハンドル+コピー ボタンオープンな P2P API がないため、支払う人は自分のアプリで支払いを完了

違いが生じるのはなぜですか? Swish は真にオープンな、金額入力済みのディープリンクと QR エンドポイントを提供しています。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 です。参加者は名前で指定し、金額は通常の小数で扱うため、エージェントが UUID やセント単位の値を扱う必要はありません。

サーバーは、ウェブアプリと同じ RPC および money.ts ヘルパーの上に構築された薄いレイヤーです。また、匿名ロールのみを使用します。これにより、セキュアな割り勘(利用にはサインイン済みの 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 がある場合にのみ有効になります。ID がない場合、EVM ダイアログは QR コードとコピーにスムーズにフォールバックします。
  • プライバシーと不正利用対策 — 決済完了時の支払い情報消去(オプトアウト)、非アクティブな分割の 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 — プロジェクトを作成します(EU リージョンを選ぶとデータをヨーロッパに保持できます)。次に、supabase link --project-ref <ref> && supabase db push を実行してスキーマを適用します(supabase/migrations/ 内のすべてのマイグレーションが実行されます)。Project URL と publishable (anon) key を取得します。メールによる任意のサインインを使う場合は、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)、ローカルメールボックス)を外部サービスなしで起動できます。アプリ自体がゲートウェイとして機能するため、ブラウザーは常に 1 つのオリジンとのみ通信します。

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 はフラグを 1 つ設定するだけで有効になります。ドメインをホストに向け、.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 の決済ボタンが有効になります。

完全なガイド(シークレットの再生成、ゲートウェイアーキテクチャ、Cloudflare DNS-01、設定リファレンス、トラブルシューティング)については、selfhost/README.md を参照してください。

テストと CI

Playwright のスモークテスト(npm run test:e2e)は、ローカルの本番ビルドに対してすべての PR で実行され、main へのマージを制御します。純粋な分割・均等化・精算のロジックは src/lib/money.ts にあります。

貢献

Issue や PR は歓迎します。サイトを使ったばかりの方からのバグ報告も歓迎です。まずは CONTRIBUTING.md をご覧ください。

分割リンクは決して投稿しないでください。 分割の URL はパスワードです。これを見た人は誰でも、その分割を閲覧・編集できます。また、Issue は公開され、インデックス化されます。問題の内容を説明するか、架空の名前を使って使い捨ての分割を作成してください。

現在、特に求めているのは、Vipps または MobilePay 向けの実際に機能する P2P ディープリンクです。これにより、Swish や Lightning と同様に金額を事前入力できます。また、追加の決済手段や、6 つのロケールにおける翻訳の修正も歓迎します。コードベースは小規模で、完全に型付けされています。

ライセンス

MIT — LICENSE をご覧ください。


xupersplit がグループ内の口論を減らすのに役立ったなら、ぜひ

ビールをおごる

愛とコーヒーとビールを込めて作りました

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。