Skip to main content
Glama
chrischall

splitwise-mcp

by chrischall

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPLITWISE_API_KEYYesAPI key from splitwise.com/apps/register

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
sw_get_current_userA

Get the authenticated Splitwise user's profile. Use the returned id when building custom expense splits. The compact default returns id, name (first_name + last_name joined), email and registration_status; pass view:'full' for Splitwise's raw record, which keeps first_name and last_name separate — the form sw_update_user takes.

sw_get_userA

Get another Splitwise user's profile by id. Same shape as sw_get_current_user: the compact default merges first_name/last_name into name, and view:'full' keeps them separate.

sw_update_userB

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

sw_healthcheckA

Resolves the credential the way real tools do, then makes one authenticated request to secure.splitwise.com. Reports which source supplied the credential, whether secure.splitwise.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a secure.splitwise.com-side problem'. Call this when a real tool fails and you want to know which hop broke. Read-only; never returns the credential itself.

sw_list_groupsA

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.

sw_get_groupA

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

sw_create_groupC

Create a new Splitwise group.

sw_add_user_to_groupA

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.

sw_remove_user_from_groupA

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.

sw_delete_groupA

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

sw_undelete_groupA

Restore a soft-deleted Splitwise group.

sw_list_friendsA

List all Splitwise friends. Use this to resolve a friend's name to a user_id before adding them to a group or building a custom expense split. The compact default returns id, name (first_name + last_name joined), email, registration_status and any non-empty balance per friend; pass view:'full' for Splitwise's raw records, which keep first_name and last_name separate.

sw_create_friendA

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.

sw_delete_friendA

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.

sw_list_expensesA

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

sw_get_expenseA

Get full details of a single Splitwise expense by id.

sw_create_expenseA

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.

sw_update_expenseA

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.

sw_delete_expenseA

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.

sw_undelete_expenseA

Restore a soft-deleted Splitwise expense.

sw_get_receiptA

Download the receipt image or PDF attached to a Splitwise expense. The receipt URLs returned by sw_get_expense need the server's credentials — fetching them directly returns 401 — so use this tool instead. Set inline:true to get the bytes back in the result (images AND PDFs), or extract_text:true to get a PDF's text without the binary at all — both work when the caller can't see this server's filesystem. It also writes the file and returns the path, unless write:false or the filesystem is read-only.

sw_get_notificationsA

Get recent Splitwise activity notifications for the current user.

sw_get_categoriesA

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

sw_get_currenciesA

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

sw_get_commentsA

Get all comments on a Splitwise expense.

sw_create_commentA

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.

sw_delete_commentA

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/splitwise-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server