Xupersplit
Server Details
Split shared expenses in a group — no account needed. See who owes whom and settle up.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- kanylbullen/xupersplit
- GitHub Stars
- 4
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 11 of 11 tools scored. Lowest: 3.6/5.
Most tools are clearly distinct by resource and action (expense vs participant vs split vs payment). Minor ambiguity exists between update_entry and record_payment, since both modify existing entries, though their purposes (re-editing vs settlement) are documented. add_expense and record_payment could overlap conceptually since both record money movement, but descriptions clarify each.
All 11 tools follow a clean verb_noun pattern: add_expense, add_participant, create_split, delete_entry, get_split, record_payment, remove_participant, rename_participant, set_payment_methods, update_entry, update_split. The convention is fully consistent with no mixed styles or vague verbs.
11 tools is well within the ideal 3-15 range, and each earns its place by mapping to a distinct lifecycle operation across splits, participants, entries, and payments. The count is appropriately scoped for an expense-splitting domain and matched to the feature set described.
The surface covers the core lifecycle well: create/read/update for splits, add/remove/rename participants, and add/delete/update entries plus payment recording and settlement. The main gap is the explicit write operations only work on simple/accountless splits while secure splits are read-only, but that's a documented constraint rather than a missing tool. A dedicated 'duplicate_split' or 'list_splits' would be nice but isn't critical for the modeled flow.
Available Tools
11 toolsadd_expenseAdd an expenseAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date as YYYY-MM-DD. Defaults to today. | |
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| amount | Yes | Amount in the split's currency, as a decimal (e.g. 249.50). | |
| shares | No | 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 | Yes | Who paid — a participant's name (or id) in this split. | |
| description | No | What it was, e.g. "Groceries". | |
| split_between | No | Names of the people sharing this cost, split equally. Defaults to everyone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, which already signal mutation. The description adds valuable context: the default equal-split behavior, options for subset or uneven splits, the 'one expense per set of people' constraint, and the secure-split restriction. It doesn't detail exact API behaviors like idempotency or return values, but the output schema covers return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, every one earns its place. The flagship sentence explains default behavior and options; the second resolves the multi-item receipt ambiguity; the third scopes to 'simple, accountless splits'; the fourth gives the secure-split exclusion. No filler or repetition of schema text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 params (full schema coverage) and rich output schema, the description is complete: it explains the decision rule for multi-expense receipts, the three split modes (equal/subset/uneven), the secure-split limitation, and the accountless scope. The main behavioral caveats are all disclosed given annotations and output schema already cover safety and return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Though schema coverage is 100%, the description adds substantial semantic clarity: it explains that split_between overrides the equal-split default, shares handles uneven splits (tied to the schema's amount/weight dual modes), and paid_by references a participant name. The description ties parameters into the core decision flow (default vs subset vs uneven), which the schema's individual descriptions don't fully convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Record something one person paid for the group') that clearly identifies the resource and action. It also differentiates from the sibling tool 'record_payment' by clarifying this is about expenses paid by one person for the group, and the multi-expense nuance (receipt with non-shared items = several expenses) strongly distinguishes its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly covers when to call once per group of items shared by the same people, explaining the split-vs-several-expenses decision rule. It also gives exclusions by stating secure splits are read-only and must be opened in a browser, which tells the agent when NOT to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_participantAdd a participantAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations present (destructiveHint=false, readOnlyHint=false), the description adds valuable context beyond them: the split-type constraint (simple vs secure), and the browser redirect behavior for secure splits. This clarifies a significant behavioral limitation that annotations alone could not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero waste. The description front-loads the core purpose, then adds the scoping constraint and the browser caveat. Every sentence earns its place with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return shape is already documented. The description effectively covers the key operational constraint (split type) and the alternative path for secure splits. For a 2-parameter, low-complexity tool, this is well-covered. The only minor gap is that it doesn't mention what happens on failure (e.g., split not found).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, meaning the split parameter is documented in the schema but the name parameter has no description. The description mentions 'Add someone' which implies the name field's role, but doesn't elaborate on the split parameter's acceptable formats beyond what the schema already states ('split key, or whole link'). Baseline 3 is appropriate since the schema handles much of the documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Add someone to an existing split') and clearly scopes functionality by distinguishing simple splits from secure splits, which are read-only here. It differentiates from siblings like remove_participant and rename_participant by naming the specific operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when the tool applies ('simple, accountless splits') and gives an explicit exclusion ('Secure splits... are read-only here and must be opened in a browser'). This provides strong context, though it doesn't name alternative tools for secure splits or mention other sibling alternatives in the same domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_splitCreate a splitAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | What the split is for, e.g. "Ski trip". | |
| currency | No | Currency code. Defaults to SEK. | |
| participants | Yes | Names of everyone splitting, at least two. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring non-readOnly and non-destructive (neutral), the description adds substantial behavioral context: no account needed, returns a secret link, and anyone holding the link can see and edit. This is meaningful transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero waste. It delivers purpose, usage instruction, and behavioral warning in a compact, front-loaded manner with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered. The description adequately addresses the creation flow, security implications, and authentication-free nature. It could slightly expand on what a 'xupersplit' is, but the context is sufficient for a creation tool with rich schema and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (title, currency, participants) are documented in the schema. The description adds no parameter-specific semantics, but the schema fully covers them, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new xupersplit for sharing expenses in a group, with a specific verb+resource. It includes a key distinguishing detail (returns a secret link) that differentiates it from sibling tools like update_split or get_split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains what to do with the returned link ('give it to the user and tell them to share it with the group') and conveys an important security caution about link holders. It doesn't explicitly name alternatives or when-not-to-use, but the creation intent is self-evident against siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_entryDelete an entryADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| entry_id | Yes | The entry's id, from get_split. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered by structured data. The description adds valuable context beyond annotations by explaining the limitation that secure splits are read-only here and must be opened in a browser, which is behavioral behavior not disclosed by annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry complete information with zero waste. The first sentence states the action and its scope; the second covers the exclusion and alternative. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a destructive action, accurate annotations (destructiveHint=true), full schema coverage, and an output schema present, the description covers the essential behavioral boundary (secure vs. simple splits) that the schema cannot express. It's complete enough for this moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (split and entry_id), with the split parameter even documenting the acceptable key-or-URL form. The description itself doesn't add parameter detail beyond the schema, but with full coverage the baseline of 3 is appropriate. The description implies the entry_id relates to removal but adds no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Remove an expense or payment') and clearly distinguishes its scope from siblings by explicitly noting it only works on simple, accountless splits and that secure splits are read-only here. This differentiates it well from update_entry, which would modify rather than delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (simple, accountless splits) and when NOT to use it (secure splits created by signed-in users), with an alternative action (open in a browser). This is strong exclusion guidance that directly aids tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_splitRead a splitARead-onlyInspect
Read a split: participants, expenses, per-person balances and the shortest set of payments that settles everyone up.
| Name | Required | Description | Default |
|---|---|---|---|
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint: true annotation already covers the safety profile (this is a read operation). The description adds value by disclosing what the read returns, including the computed per-person balances and the shortest settlement payment set—useful behavioral context beyond the bare annotation. There's no contradiction. It doesn't disclose things like whether the split must exist or error behavior, but for a read tool with the annotation present, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, zero waste. It front-loads the verb ('Read'), specifies the resource, and enumerates the returned data compactly. Every element earns its place, and no filler or redundant phrasing exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with readOnlyHint annotation and an output schema present, the description is largely complete. It enumerates what the response includes (participants, expenses, balances, settlement set). Since the output schema exists, the description needn't detail the return structure further. Slight room to mention whether the key/link works for both input forms or if the split must exist, but it's otherwise thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%—the single 'split' parameter is documented in the schema as the split key or full link. The description doesn't add parameter-specific meaning beyond what the schema provides, but it doesn't need to since there's exactly one parameter with full coverage. The baseline of 3 for high schema coverage applies correctly here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') with a clear resource ('a split') and enumerates what's returned: participants, expenses, per-person balances, and settlement payments. This clearly distinguishes it from the sibling tools, all of which are mutation-oriented (add_expense, update_split, delete_entry, etc.), so there's no ambiguity about this being the read operation. While it doesn't name a sibling explicitly, the contrast with the write-heavy siblings is obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as the retrieval tool for split details, and the sibling tools being all mutations makes the read-vs-write context clear. However, there's no explicit when-to-use or when-not-to-use guidance, nor mention of alternatives. It's a single-parameter, single-purpose tool, so heavy guidance isn't needed, but a note like 'use when you need to view balances or settlement calculations' would strengthen it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_paymentRecord a paymentAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Who received it — a participant's name (or id) in this split. | |
| date | No | Date as YYYY-MM-DD. Defaults to today. | |
| from | Yes | Who sent the money — a participant's name (or id) in this split. | |
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| amount | Yes | Amount in the split's currency, as a decimal (e.g. 249.50). | |
| description | No | How it was paid, e.g. "Swish, 3 March". Shown in the history. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the basic write/safety profile is covered. The description adds meaningful behavioral context: it works only on simple accountless splits, and secure splits are read-only (a key constraint). It does not elaborate on reversibility or other side effects, but for a payment-recording tool with annotations present, the added constraint context justifies a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero filler. It front-loads the core purpose, then the workflow hint, then the critical constraint. Every sentence earns its place with actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutate-tool with full schema coverage, an output schema, and rich annotations, the description covers the essential points: what it does, the prerequisite workflow, the split-type constraint, and when it isn't applicable. The return value is handled by the output schema. Complex enough with 6 parameters, but schema + description together are sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by conveying the payment direction semantics ('who sent the money' vs 'who received it') and by clarifying the split types each field applies to. However, most parameter meaning is already well-documented in the schema's per-field descriptions, so the description's marginal parameter contribution is modest — a 4 reflects the useful direction-of-payment framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource combination ('Record that one person paid another back, settling part or all of a debt') and clearly distinguishes from siblings by noting it works on simple, accountless splits while secure splits are read-only. It names a sibling ('get_split') to clarify workflow context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use get_split first to see who should pay whom' explains the prerequisite workflow. It also gives explicit exclusions — secure splits are read-only here and must be opened in a browser — which prevents misuse on the wrong split type. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_participantRemove a participantADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| participant | Yes | Who to remove — a participant's name (or id) in this split. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and the description strongly reinforces this with 'Remove someone' and warns it only works if they aren't on any expense yet. The description adds valuable context about the constraints (read-only secure splits, simple/accountless split limitation) that go beyond what annotations provide. It doesn't contradict annotations; it complements them with important behavioral specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all carrying meaningful information with no padding. The description is efficiently front-loaded with the core action ('Remove someone from a split') followed by constraints. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with destructiveHint and readOnlyHint=false, the description covers the key constraints: the prerequisite (not on any expense), the split type limitation (simple/accountless), and secure split behavior. The output schema exists to describe return values, and the 2 params are fully documented in the schema. This is a complete picture for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (split and participant), each with clear descriptions. The description reinforces which objects are involved and the constraints (removal is restricted), but the schema already documents the parameter semantics well. The description adds the eligibility nuance for the participant parameter by stating the 'not on any expense' condition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Remove someone from a split') and immediately differentiates from siblings by noting it works only on accountless, simple splits and that secure splits are read-only here. This distinguishes remove_participant from similar mutation tools like rename_participant and add_participant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'Only works if they aren't on any expense yet' states a runtime precondition, and 'Secure splits... are read-only here and must be opened in a browser' explicitly tells the agent when NOT to use this tool. This is explicit when/when-not guidance with clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_participantRename a participantAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The new name. | |
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| participant | Yes | Who to rename — a participant's name (or id) in this split. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false. The description adds crucial behavioral context: secure splits are read-only and will fail for this operation, and it clarifies the persistence model (name change on the split). This adds meaningful value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences that are front-loaded with the core purpose and immediately followed by the critical limitation about secure splits. Zero wasted words — every sentence carries operational meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward rename operation with full schema coverage and an output schema, the description is nearly complete. It covers the operational constraint (secure splits fail), which is the main risk. The only minor gap is not stating what happens to the returned data, though the output schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all three parameters have descriptions. The description adds context about the split parameter accepting either a key or a full link, and clarifies that participant can be a name or id. The description complements the schema well without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb+resource (change a participant's name) and explicitly distinguishes between split types — simple accountless splits vs secure read-only splits. This differentiates it from siblings like add_participant and remove_participant by establishing the rename operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when the tool works (simple, accountless splits) and specifically warns that secure splits must be opened in a browser. It doesn't explicitly name alternative tools but the constraints are well articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_payment_methodsSet payment detailsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| methods | Yes | ||
| participant | Yes | Whose details these are — a participant's name (or id) in this split. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true; description adds the key behavior that it replaces the entire current list (providing the empty-array-to-clear hint). It also discloses the secure-split read-only restriction, which is valuable operational context beyond annotations. Minor gap: doesn't mention whether changes are reversible or any confirmation/response behavior, but given existing annotations the bar is lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, all earning their place. Front-loads the purpose, adds the replacement behavior, then the scope restriction. Zero filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with destructiveHint, the description thoroughly covers purpose, scope limits, and the critical empty-array-to-clear behavior. It notes the tools applies only to simple splits, which is essential for an agent choosing among 11 siblings. Output schema exists, so return format needs no explanation. Minor gap: doesn't mention maxItems=8 limit but that's captured in schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already explains 'split', 'value', and 'participant' at 67% coverage. Description adds meaning beyond schema: clarifies methods array can be empty to clear, explains the replace-semantics, and connects methods to the broader purpose (QR code/pay link). The 'value' parameter's format is fully documented in schema, so little added here, but the array-replacement semantics is meaningful added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb+resource+effect: 'Set how a participant wants to be paid back' and explicitly notes the consequence ('so the split can show a QR code or pay link'). Differentiates from siblings by specifying it works only on simple, accountless splits and that it replaces the current list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use rationale (to enable QR code/pay link display), and clearly states exclusions: secure splits are read-only and must be opened in a browser. This effectively tells the agent when NOT to use this tool among sibling tools like record_payment or update_split.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_entryUpdate an entryAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | New recipient — payments only. | |
| date | No | Date as YYYY-MM-DD. Defaults to today. | |
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| amount | No | Amount in the split's currency, as a decimal (e.g. 249.50). | |
| shares | No | 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 | No | Move the entry to a different payer. | |
| entry_id | Yes | The entry's id, from get_split. | |
| description | No | ||
| split_between | No | Names of the people sharing this cost, split equally. Defaults to everyone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (not read-only, not destructive), the description adds meaningful behavioral context: it states the partial-update behavior ('Only the fields you pass are changed'), which is a key behavioral trait not captured by annotations. It also discloses the read-only restriction on secure splits. The only gap is not describing response output, but an output schema exists so this is not required. Credit given for the partial-update and scope behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences covering purpose, behavior, and exclusions without fluff. Front-loaded with the core action. Every sentence earns its place; no redundancy with schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation tool, the description covers the essentials: what it does, partial-update behavior, id sourcing, and the secure-split caveat. With an output schema present and 89% schema parameter coverage, the description adequately bridges the gaps. Could mention prerequisites like split ownership, but the secure-split caveat substantially covers the main restriction. Minor gap is not listing all editable fields, but schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 89% (high), so the schema itself documents parameters well. The description adds the partial-update semantics that clarify which parameters are optional overrides. It doesn't add per-parameter detail beyond what the schema provides (e.g., date format, shares semantics are already in schema). Baseline 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (change/update), the resource (existing expense or payment), and the scope (only fields passed are changed). It distinguishes from siblings by noting it works on simple, accountless splits, and explicitly frames it as the update counterpart to add_expense/record_payment and a companion to get_split. Strong purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: to modify an existing expense/payment. Provides critical exclusions: secure splits (created by signed-in user) are read-only here and must be opened in a browser, implying use of get_split or browser for those. Tells where ids come from (get_split). This is robust when/when-not guidance for a mutation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_splitRename a splitAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| split | Yes | The split key, or the whole https://split.xuper.fun/k/<key> link. | |
| title | No | ||
| currency | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| url | Yes | |
| title | Yes | |
| secure | Yes | |
| entries | Yes | |
| settled | Yes | |
| currency | Yes | |
| created_at | Yes | |
| settlement | Yes | |
| total_spent | Yes | |
| participants | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, but the description adds meaningful behavioral context: the currency lock once expenses exist, the read-only nature of secure splits, and the requirement to open those in a browser. These go beyond what the annotations convey and give the agent actionable constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all carrying meaningful information: what can be changed, the currency lock constraint, and the secure-split exclusion. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential constraints (currency lock, secure split exclusion) and the tool is straightforward with a clear output schema. It's reasonably complete for a mutation of title/currency, though it could note whether title is optional or what happens with partial updates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage (only the 'split' param is described), the description partially compensates by explaining that title and currency are the two changeable fields and noting the currency lock constraint. However, it doesn't elaborate on title constraints or currency format beyond the schema enum. Given the low coverage, it could add a bit more but the basics are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (change) and resource (a split's title or currency), and defines scope via the currency-locking constraint. It distinguishes from siblings by noting what kinds of splits it works on (simple, accountless) and which are excluded (secure splits).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when it works (simple, accountless splits) and when it doesn't (secure splits must be opened in a browser). The currency-locking note implicitly guides agents away from attempting currency changes after expenses exist. However, it doesn't name specific alternative sibling tools for the excluded cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceEnables conversational control of Splitwise accounts through Claude AI, allowing users to add expenses, check group balances, record settlements, and manage payment splits using natural language commands. Supports multiple currencies and flexible splitting methods including equal, exact, and percentage-based divisions.Last updated1MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that helps track expenses and calculate reimbursements for social events, making it easy to settle balances between friends.Last updated11Apache 2.0
- Alicense-qualityBmaintenanceEnables managing Splitwise expenses and generating premium spending analytics with category breakdowns, trends, and settlement optimization through natural language.Last updatedMIT
- Flicense-qualityCmaintenanceA remote, multi-user MCP server for splitting group expenses, enabling users to register, create groups, add members, log expenses, and view balances through MCP clients.Last updated