- Home
- MCP servers
- Splitwise
Splitwise
- python
0
GitHub Stars
python
Language
6 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
This MCP server lets you manage Splitwise expenses with atomic duplicate prevention, smart duplicate detection, and a fast local cache. It is designed for two-person scenarios and can track expenses back to source orders, making it ideal for roommates or couples who want reliable, zero-duplicate splits.
How to use
You run the Splitwise MCP server as a local process and connect your MCP-enabled client to it. The server exposes a set of tools that let you check for duplicates, reserve an expense atomically, create expenses, synchronize the local cache, query expenses from the cache, delete expenses, and find expenses by order ID. Use these tools in sequence when you are processing a new purchase so that no duplicates are created and all data stays traceable to its source.
Typical usage flow for an expense you are about to add:
- Check for duplicates with the check_duplicate tool using the expense description, amount, date, and group to see if a similar expense already exists.
- If no duplicate is found, reserve a slot for the expense with reserve_expense to prevent race conditions.
- Create the expense in Splitwise using create_expense with the same reservation and all required fields.
- Sync the local cache to ensure it reflects the latest data from Splitwise.
- Optionally query the cache for quick reads or find an expense by its order ID to verify traceability.
How to install
Prerequisites: Python 3.10 or newer, and an MCP-compatible client (such as Claude Code). You will also need a Splitwise API key to perform authenticated operations.
Install the server locally using the development setup so you can run and test against it.
Available tools
splitwise_check_duplicate
Check if an expense would be a duplicate based on description, amount, and date similarity.
splitwise_reserve_expense
Atomically reserve an expense slot to prevent race conditions. Must be called before creating an expense.
splitwise_create_expense
Create an expense in Splitwise and confirm the reservation.
splitwise_sync_cache
Sync the local cache with Splitwise API. Fetches recent expenses and updates the cache.
splitwise_get_expenses
Query expenses from the local cache for fast reads.
splitwise_delete_expense
Delete an expense from Splitwise and remove it from the cache.
splitwise_find_by_order_id
Find an expense by order ID for reliable duplicate detection.