ExpensifyAI
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ExpensifyAIShow me my spending breakdown for this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ExpensifyAI
Talk to your Splitwise. Get CRED-grade spending analytics.
ExpensifyAI is a Model Context Protocol (MCP) server for Splitwise that lets any LLM client (Claude, etc.) manage shared expenses and produce deterministic, premium spending analytics — category breakdowns, monthly trends, per-member comparisons, and minimum-transaction settlement plans — rendered as a self-contained, offline HTML dashboard.
Built on top of the excellent tarunn2799/splitwise-mcp; extended with a deterministic analytics engine and a category-first dashboard.
(open
examples/demo-dashboard.html in a browser — generated from synthetic data, no account needed)
Analytics (what makes this ExpensifyAI)
Deterministic by construction — every number is computed in pure Python with
Decimalmath (no float drift, no LLM estimation). Same input → byte-identical output. Each report carries a reconciliation check: per-expense shares must sum to cost, or the mismatch is flagged.Category-first, à la CRED — an expandable "where it goes" view leads every report; tap a category to drill into its transactions.
Seven analytics modules — category breakdown · monthly trend · owed-vs-paid ("mine vs split") · per-member comparison + category×member matrix · transaction ledger · top transactions · settlement optimizer (minimum transactions to settle a group — no other Splitwise tool has this).
Premium offline dashboard — CRED-grade dark UI, hand-rolled inline-SVG charts, validated colorblind-safe palette, works with no network and no JS.
Two tools —
analyze_spending(target_type, target_id?, dates?, generate_dashboard?)andcompare_group_members(group_id, …).target_typeisme|group|friend.
Try it without an account:
python examples/generate_demo.py # writes examples/demo-dashboard.htmlRelated MCP server: Splitwise MCP Server
Features (MCP)
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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/udaysrinu/ExpensifyAI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server