splitwise-mcp
Splitwise MCP Server
A Model Context Protocol (MCP) server for Splitwise, enabling AI agents to manage expenses, groups, and friends with natural language.
Features
Full API Access: Manage expenses, groups, friends, and comments.
Natural Language Resolution: Fuzzy matching for names ("John" -> "John Smith") and groups.
Dual Auth: Supports both OAuth 2.0 (recommended) and API Keys.
Smart Caching: Optimizes performance for static data like categories and currencies.
Installation
# From PyPI (when published)
pip install splitwise-mcp-server
# From Source
git clone https://github.com/tarunn2799/splitwise-mcp-server
cd splitwise-mcp-server
pip install -e .Configuration
See SETUP.md for detailed authentication and configuration instructions.
Quick Config
Run the included setup script:
python -m splitwise_mcp_server.oauth_setupUse the keys provided there, and add all three to your mcp.json:
{
"mcpServers": {
"splitwise": {
"command": "python",
"args": ["-m", "splitwise_mcp_server"],
"env": {
"SPLITWISE_OAUTH_ACCESS_TOKEN": "your_token_here"
}
}
}
}Get your Auth Keys You can get your Consumer Key and Secret by registering an app at https://secure.splitwise.com/apps.
IMPORTANT: Using a Virtual Environment? If you installed the package in a
venvor Conda environment, you must use the absolute path to the python executable in your config."command": "/absolute/path/to/venv/bin/python"See SETUP.md for details.
Usage
The server enables natural language interactions with your Splitwise data.
Examples:
"What's my current balance?"
"Split a $50 dinner with Sarah."
"Use the receipt I uploaded to split the dinner between Manav and me."
"Show me expenses from last month."
"Create a group called 'Ski Trip' with Mike."
Tools
See TOOLS.md for detailed documentation.
User Tools
get-current-user: Get authenticated user informationget-user: Get information about a specific user
Expense Tools
create-expense: Create a new expense with splitsget-expenses: List expenses with optional filtersget-expense: Get detailed expense informationupdate-expense: Update an existing expensedelete-expense: Delete an expense
Group Tools
get-groups: List all groupsget-group: Get detailed group informationcreate-group: Create a new groupdelete-group: Delete a groupadd-user-to-group: Add a user to a groupremove-user-from-group: Remove a user from a group
Friend Tools
get-friends: List all friendsget-friend: Get detailed friend information
Resolution Tools
resolve-friend: Fuzzy match friend names to user IDsresolve-group: Fuzzy match group names to group IDsresolve-category: Fuzzy match category names to category IDs
Comment Tools
create-comment: Add a comment to an expenseget-comments: Get all comments for an expensedelete-comment: Delete a comment
Utility Tools
get-categories: Get all expense categoriesget-currencies: Get all supported currencies
Arithmetic Tools
add: Add multiple numberssubtract: Subtract numbersmultiply: Multiply numbersdivide: Divide numbersmodulo: Calculate remainder
Development
# Setup
git clone https://github.com/tarunn2799/splitwise-mcp-server
cd splitwise-mcp-server
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
# Test
pytestLicense
MIT License. See LICENSE for details.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tarunn2799/splitwise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server