xupersplit
by kanylbullen · remote · no sign-in to list tools · v1.0.1 · published by GitHub user kanylbullen
Split shared expenses in a group — no account needed. See who owes whom and settle up.
11 tools: 3 can delete or cancel things, 2 do something that can't be undone, 5 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http xupersplit https://split.xuper.fun/api/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Deletes or cancels 3Claude Code: deny
delete_entryRemove an expense or payment for good.No findings
Why it is in this group
- The name "delete_entry" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove an expense or payment for good. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
remove_participantRemove someone from a split.No findings
Why it is in this group
- The name "remove_participant" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove someone from a split. Only works if they aren't on any expense yet. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
set_payment_methodsSet how a participant wants to be paid back, so the split can show a QR code or pay link.No findings
Why it is in this group
- The name "set_payment_methods" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set how a participant wants to be paid back, so the split can show a QR code or pay link. Replaces their current list (pass an empty array to clear it). Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
Can't be undone 2Claude Code: ask
record_paymentRecord that one person paid another back, settling part or all of a debt.No findings
Why it is in this group
- The name "record_payment" says "payment": a word that usually means money moves, which cannot be taken back.
- The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Record that one person paid another back, settling part or all of a debt. Use get_split first to see who should pay whom. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_entryChange an existing expense or payment.No findings
Why it is in this group
- The name "update_entry" says "update": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Change an existing expense or payment. Only the fields you pass are changed. Entry ids come from get_split. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
Changes things 5Claude Code: ask
add_expenseRecord something one person paid for the group.No findings
Why it is in this group
- The name "add_expense" says "add": a word for a change.
Description, as the server wrote it Record something one person paid for the group. Split equally by default; pass split_between for a subset, or shares for an uneven split. One expense covers one set of people — a receipt whose items aren't all shared by everyone is several expenses, so call this once per group of items that the same people share, rather than splitting the total equally. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
add_participantAdd someone to an existing split.No findings
Why it is in this group
- The name "add_participant" says "add": a word for a change.
Description, as the server wrote it Add someone to an existing split. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_splitCreate a new xupersplit for sharing expenses in a group.No findings
Why it is in this group
- The name "create_split" says "create": a word for a change.
Description, as the server wrote it Create a new xupersplit for sharing expenses in a group. No account needed. Returns a secret link — give it to the user and tell them to share it with the group, since anyone holding the link can see and edit the split.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
rename_participantChange a participant's name.No findings
Why it is in this group
- The name "rename_participant" says "rename": a word for a change.
Description, as the server wrote it Change a participant's name. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_splitChange a split's title or currency.No findings
Why it is in this group
- The name "update_split" says "update": a word for a change.
Description, as the server wrote it Change a split's title or currency. The currency is locked once the split has expenses. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
Only reads 1Claude Code: allow
get_splitRead a split: participants, expenses, per-person balances and the shortest set of payments that settles everyone up.No findings
Why it is in this group
- The name "get_split" says "get": a word for reading.
Description, as the server wrote it Read a split: participants, expenses, per-person balances and the shortest set of payments that settles everyone up.
Annotations the server declares
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http xupersplit https://split.xuper.fun/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__xupersplit__get_split"
],
"ask": [
"mcp__xupersplit__create_split",
"mcp__xupersplit__add_expense",
"mcp__xupersplit__record_payment",
"mcp__xupersplit__update_entry",
"mcp__xupersplit__add_participant",
"mcp__xupersplit__rename_participant",
"mcp__xupersplit__update_split"
],
"deny": [
"mcp__xupersplit__delete_entry",
"mcp__xupersplit__remove_participant",
"mcp__xupersplit__set_payment_methods"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as xupersplit. Review it before you use it.
