← Back to search

io.github.chrischall/splitwise-mcp

chrischall Scanned 23d ago

Splitwise expense and group management for Claude — shared expenses, settle up, friends

B
88.3 / 100

Versions

2.0.2latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 25

sw_get_notifications
annotations: verified low

Get recent Splitwise activity notifications for the current user.

expense_id number
readOnlyHint true destructiveHint true
sw_get_categories
annotations: verified low

Get the hierarchical list of Splitwise expense categories. Use the returned id as category_id when creating expenses.

expense_id number
readOnlyHint true destructiveHint true
sw_get_currencies
annotations: verified low

Get all Splitwise-supported currency codes and units. Use the currency_code value when creating expenses in non-default currencies.

expense_id number
readOnlyHint true destructiveHint true
sw_get_comments
annotations: verified low

Get all comments on a Splitwise expense.

expense_id number
readOnlyHint true destructiveHint true
sw_create_comment
annotations: verified low

Add a comment to a Splitwise expense (visible to other participants). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it posts.

content string expense_id number
destructiveHint true
sw_delete_comment
annotations: verified low

Delete a comment by id. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it deletes.

id number
destructiveHint true
sw_get_current_user
annotations: verified low

Get the authenticated Splitwise user's profile (id, first_name, last_name, email). Use the returned id when building custom expense splits.

id number
readOnlyHint true
sw_get_user
annotations: verified low

Get another Splitwise user's profile by id.

id number
readOnlyHint true
sw_update_user
annotations: none low

Update the current user's profile fields. id must be the current user's id.

id number email string locale string password string last_name string first_name string default_currency string
sw_list_groups
annotations: verified low

List all Splitwise groups the current user belongs to. Returns id, name, and members for each group. Use this to resolve a group name to its id.

id number
readOnlyHint true destructiveHint true
sw_get_group
annotations: verified low

Get details of a single Splitwise group including all members and balances.

id number
readOnlyHint true destructiveHint true
sw_create_group
annotations: verified low

Create a new Splitwise group.

name string group_type enum simplify_by_default boolean
destructiveHint true
sw_add_user_to_group
annotations: verified low

Add a user to a Splitwise group. Provide user_id (preferred, use sw_list_friends to resolve a name) or first_name + last_name + email to invite by email.

email string user_id number group_id number last_name string first_name string
destructiveHint true
sw_remove_user_from_group
annotations: verified low

Remove a user from a Splitwise group. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it removes the user.

user_id number group_id number
destructiveHint true
sw_delete_group
annotations: verified low

Soft-delete a Splitwise group. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it deletes.

id number
destructiveHint true
sw_undelete_group
annotations: none low

Restore a soft-deleted Splitwise group.

id number
sw_list_friends
annotations: verified low

List all Splitwise friends with their id, first_name, last_name, and email. Use this to resolve a friend's name to a user_id before adding them to a group or building a custom expense split.

user_email string user_last_name string user_first_name string
readOnlyHint true destructiveHint true
sw_create_friend
annotations: verified low

Add a Splitwise friend by email (sends them an invite). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it adds the friend.

user_email string user_last_name string user_first_name string
destructiveHint true
sw_delete_friend
annotations: verified low

Remove a Splitwise friendship by user id. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it removes the friendship.

id number
destructiveHint true
sw_list_expenses
annotations: verified low

List or search Splitwise expenses. All filters are optional. Use group_id to filter by group, dated_after/dated_before for date ranges.

limit number offset number group_id number friend_id number dated_after string dated_before string updated_after string updated_before string
readOnlyHint true
sw_get_expense
annotations: verified low

Get full details of a single Splitwise expense by id.

id number
readOnlyHint true
sw_create_expense
annotations: none low

Create a Splitwise expense. Use split_equally:true to split evenly among group members, or provide a users array for custom per-person splits (paid_share and owed_share as decimal strings like "25.00"). cost must be a decimal string. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it creates the expense.

cost string date string users array details string group_id number category_id number description string currency_code string split_equally boolean
sw_update_expense
annotations: verified low

Edit an existing Splitwise expense. Provide expense_id and any fields to change. For custom split updates, the full users array must be provided (the API replaces the entire split). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it updates the expense.

cost string date string users array details string expense_id number category_id number description string currency_code string split_equally boolean
destructiveHint true
sw_delete_expense
annotations: verified low

Soft-delete a Splitwise expense by id. Returns {success: true} on success. Use sw_undelete_expense to restore. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it deletes.

id number
destructiveHint true
sw_undelete_expense
annotations: none low

Restore a soft-deleted Splitwise expense.

id number

Permissions 1

env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 59

info
Tool 'sw_get_notifications' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_categories' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_currencies' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_comments' annotations are consistent annotation_checker · 80%
info
Tool 'sw_create_comment' annotations are consistent annotation_checker · 80%
info
Tool 'sw_delete_comment' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_current_user' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_user' annotations are consistent annotation_checker · 80%
low
Tool 'sw_update_user' has no annotations annotation_checker · 100%
info
Tool 'sw_list_groups' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_group' annotations are consistent annotation_checker · 80%
info
Tool 'sw_create_group' annotations are consistent annotation_checker · 80%
info
Tool 'sw_add_user_to_group' annotations are consistent annotation_checker · 80%
info
Tool 'sw_remove_user_from_group' annotations are consistent annotation_checker · 80%
info
Tool 'sw_delete_group' annotations are consistent annotation_checker · 80%
low
Tool 'sw_undelete_group' has no annotations annotation_checker · 100%
info
Tool 'sw_list_friends' annotations are consistent annotation_checker · 80%
info
Tool 'sw_create_friend' annotations are consistent annotation_checker · 80%
info
Tool 'sw_delete_friend' annotations are consistent annotation_checker · 80%
info
Tool 'sw_list_expenses' annotations are consistent annotation_checker · 80%
info
Tool 'sw_get_expense' annotations are consistent annotation_checker · 80%
low
Tool 'sw_create_expense' has no annotations annotation_checker · 100%
info
Tool 'sw_update_expense' annotations are consistent annotation_checker · 80%
info
Tool 'sw_delete_expense' annotations are consistent annotation_checker · 80%
low
Tool 'sw_undelete_expense' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: esbuild@0.28.0 (GHSA-g7r4-m6w7-qqqr) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: sw_get_notifications manifest_parser · 85%
info
Tool: sw_get_categories manifest_parser · 85%
info
Tool: sw_get_currencies manifest_parser · 85%
info
Tool: sw_get_comments manifest_parser · 85%
info
Tool: sw_create_comment manifest_parser · 85%
info
Tool: sw_delete_comment manifest_parser · 85%
info
Tool: sw_get_current_user manifest_parser · 85%
info
Tool: sw_get_user manifest_parser · 85%
info
Tool: sw_update_user manifest_parser · 85%
info
Tool: sw_list_groups manifest_parser · 85%
info
Tool: sw_get_group manifest_parser · 85%
info
Tool: sw_create_group manifest_parser · 85%
info
Tool: sw_add_user_to_group manifest_parser · 85%
info
Tool: sw_remove_user_from_group manifest_parser · 85%
info
Tool: sw_delete_group manifest_parser · 85%
info
Tool: sw_undelete_group manifest_parser · 85%
info
Tool: sw_list_friends manifest_parser · 85%
info
Tool: sw_create_friend manifest_parser · 85%
info
Tool: sw_delete_friend manifest_parser · 85%
info
Tool: sw_list_expenses manifest_parser · 85%
info
Tool: sw_get_expense manifest_parser · 85%
info
Tool: sw_create_expense manifest_parser · 85%
info
Tool: sw_update_expense manifest_parser · 85%
info
Tool: sw_delete_expense manifest_parser · 85%
info
Tool: sw_undelete_expense manifest_parser · 85%
info
Required env vars (1) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 240 components sbom_generator · 100%
high
Hardcoded Password found in chrischall-splitwise-mcp-7e9caa0/src/tools/user.ts secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%