Skip to main content
Glama
splitwise-mcp

splitwise-mcp

by prakhar083

Create expense

create_expense

Log a shared expense in Splitwise for a group or friends, set who paid, and split the cost equally, by exact amounts, or by percentages with cent-exact shares.

Instructions

Adds an expense to Splitwise. Choose a group (or omit it for an expense between you and friends), who paid (default: you), and how to split: equally, by exact amounts, or by percentages. People can be given by name or id. Amounts are computed in whole cents, so the shares always add up exactly to the cost. If a name is ambiguous the tool returns the candidates instead of guessing: ask the user which one.

Input Schema

NameRequiredDescriptionDefault
costYesTotal cost, e.g. "86.40".
dateNoWhen it happened. Defaults to now.
groupNoGroup to add the expense to. Omit for a non-group expense with friends.
notesNoOptional longer notes, stored as the expense details.
splitNoHow to divide the cost. "equal": among participants; leftover cents go to the first participants listed. "exact": explicit amounts per person. "percentage": percent per person; rounding goes to the largest remainders. Defaults to an equal split among all group members.
paid_byNoWho paid the whole cost. Defaults to "me".
descriptionYesWhat the expense was for, e.g. "Dinner at Nopa".
currency_codeNoISO 4217 code. Defaults to the user's default currency.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-read-only, non-idempotent, non-destructive write, so the safety profile is covered. The description adds genuinely useful behavior the annotations cannot express: rounding is deterministic in whole cents so shares sum exactly, and ambiguous names return candidate matches instead of guessing, with an instruction to ask the user. It omits auth/permission requirements and whether other members are notified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, front-loaded with the action, then the three main choices, then behavioral caveats. Nothing is padded, though the split-mode enumeration partially restates the schema's own enum descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-parameter write tool with a nested split union schema and no output schema, the description covers what matters most: defaults, the group-vs-non-group branch, and the candidate-list return on ambiguous names. Currency and date defaults are left to the schema, which is acceptable given full schema coverage, but a note on whether repeated calls create duplicates would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 and the description does not have to compensate. It reinforces the group-omission case, the paid_by default, and the three split modes, but the detailed semantics (percent must total 100, exact shares must equal cost, leftover-cent allocation) already live in the schema, so the added value is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb and resource ("Adds an expense to Splitwise"), which is enough to distinguish this from update_expense or delete_expense. It never names those siblings explicitly, so the differentiation rests on the verb alone rather than on stated contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It resolves the main decision points an agent faces: include a group or omit it for a friend-to-friend expense, who paid (defaults to you), and which of three split modes to use. It stops short of saying when to prefer this over alternatives such as settle_up or update_expense, so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.