accueil / serveurs / Dev & Code / io.github.kanylbullen/xupersplit
io.github.kanylbullen/xupersplit
serveur MCP (Model Context Protocol) · xupersplit 1.0.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.kanylbullen/xupersplit est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.kanylbullen/xupersplit » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- add_expense≈ 1023 tokens
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.
Paramètres, retour & exemple (7)
Paramètresdate· string · optionnel
Date as YYYY-MM-DD. Defaults to today.split· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.amount· number · requis
Amount in the split's currency, as a decimal (e.g. 249.50).shares· array · optionnel
Uneven split. Either an exact `amount` per person (must add up to the total) or a relative `weight` per person (e.g. weight 2 for a couple). Don't combine with split_between.paid_by· string · requis
Who paid — a participant's name (or id) in this split. A card receipt rarely names the payer, so ask unless you know: guess wrong and every balance points the wrong way. If the user counts themselves among the participants, assume it was them and say that you assumed it — what you must not do is pick a payer silently.description· string · optionnel
What it was, e.g. "Groceries".split_between· array · optionnel
Names of the people sharing this cost, split equally. Defaults to everyone.
Exemple d'appel{"name": "add_expense", "arguments": {"split": "texte", "amount": 1, "paid_by": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - add_participant≈ 635 tokens
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.
Paramètres, retour & exemple (2)
Paramètresname· string · requissplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.
Exemple d'appel{"name": "add_participant", "arguments": {"name": "texte", "split": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - create_split≈ 718 tokens
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.
Paramètres, retour & exemple (3)
Paramètrestitle· string · requis
What the split is for, e.g. "Ski trip".currency· string · optionnel · SEK | EUR | USD | NOK | DKK | ISK | GBP | CHF
Currency code. Defaults to SEK.participants· array · requis
Names of everyone splitting, at least two.
Exemple d'appel{"name": "create_split", "arguments": {"title": "texte", "participants": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - delete_entry≈ 646 tokens
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.
Paramètres, retour & exemple (2)
Paramètressplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.entry_id· string · requis
The entry's id, from get_split.
Exemple d'appel{"name": "delete_entry", "arguments": {"split": "texte", "entry_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - get_split≈ 600 tokens
Read a split: participants, expenses, per-person balances and the shortest set of payments that settles everyone up.
Paramètres, retour & exemple (1)
Paramètressplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.
Exemple d'appel{"name": "get_split", "arguments": {"split": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - record_payment≈ 787 tokens
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.
Paramètres, retour & exemple (6)
Paramètresto· string · requis
Who received it — a participant's name (or id) in this split.date· string · optionnel
Date as YYYY-MM-DD. Defaults to today.from· string · requis
Who sent the money — a participant's name (or id) in this split.split· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.amount· number · requis
Amount in the split's currency, as a decimal (e.g. 249.50).description· string · optionnel
How it was paid, e.g. "Swish, 3 March". Shown in the history.
Exemple d'appel{"name": "record_payment", "arguments": {"to": "texte", "from": "texte", "split": "texte", "amount": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - remove_participant≈ 666 tokens
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.
Paramètres, retour & exemple (2)
Paramètressplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.participant· string · requis
Who to remove — a participant's name (or id) in this split.
Exemple d'appel{"name": "remove_participant", "arguments": {"split": "texte", "participant": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - rename_participant≈ 676 tokens
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.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
The new name.split· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.participant· string · requis
Who to rename — a participant's name (or id) in this split.
Exemple d'appel{"name": "rename_participant", "arguments": {"name": "texte", "split": "texte", "participant": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - set_payment_methods≈ 790 tokens
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.
Paramètres, retour & exemple (3)
Paramètressplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.methods· array · requisparticipant· string · requis
Whose details these are — a participant's name (or id) in this split.
Exemple d'appel{"name": "set_payment_methods", "arguments": {"split": "texte", "methods": [], "participant": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - update_entry≈ 915 tokens
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.
Paramètres, retour & exemple (9)
Paramètresto· string · optionnel
New recipient — payments only.date· string · optionnel
Date as YYYY-MM-DD. Defaults to today.split· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.amount· number · optionnel
Amount in the split's currency, as a decimal (e.g. 249.50).shares· array · optionnel
Uneven split. Either an exact `amount` per person (must add up to the total) or a relative `weight` per person (e.g. weight 2 for a couple). Don't combine with split_between.paid_by· string · optionnel
Move the entry to a different payer.entry_id· string · requis
The entry's id, from get_split.description· string · optionnelsplit_between· array · optionnel
Names of the people sharing this cost, split equally. Defaults to everyone.
Exemple d'appel{"name": "update_entry", "arguments": {"split": "texte", "entry_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}} - update_split≈ 676 tokens
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.
Paramètres, retour & exemple (3)
Paramètressplit· string · requis
The split key, or the whole https://split.xuper.fun/k/<key> link.title· string · optionnelcurrency· string · optionnel · SEK | EUR | USD | NOK | DKK | ISK | GBP | CHF
Exemple d'appel{"name": "update_split", "arguments": {"split": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"key": "texte", "url": "texte", "title": "texte", "secure": true, "entries": [], "settled": true, "currency": "texte", "created_at": "texte", "settlement": [], "total_spent": 1, "participants": []}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».