splitwise-mcp

splitwise-mcp

Enables natural language management of Splitwise expenses, groups, and friends via the Model Context Protocol, with dual authentication and fuzzy name resolution.

Category
Visit Server

README

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_setup

Use 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 venv or 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 information
  • get-user: Get information about a specific user

Expense Tools

  • create-expense: Create a new expense with splits
  • get-expenses: List expenses with optional filters
  • get-expense: Get detailed expense information
  • update-expense: Update an existing expense
  • delete-expense: Delete an expense

Group Tools

  • get-groups: List all groups
  • get-group: Get detailed group information
  • create-group: Create a new group
  • delete-group: Delete a group
  • add-user-to-group: Add a user to a group
  • remove-user-from-group: Remove a user from a group

Friend Tools

  • get-friends: List all friends
  • get-friend: Get detailed friend information

Resolution Tools

  • resolve-friend: Fuzzy match friend names to user IDs
  • resolve-group: Fuzzy match group names to group IDs
  • resolve-category: Fuzzy match category names to category IDs

Comment Tools

  • create-comment: Add a comment to an expense
  • get-comments: Get all comments for an expense
  • delete-comment: Delete a comment

Utility Tools

  • get-categories: Get all expense categories
  • get-currencies: Get all supported currencies

Arithmetic Tools

  • add: Add multiple numbers
  • subtract: Subtract numbers
  • multiply: Multiply numbers
  • divide: Divide numbers
  • modulo: 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
pytest

License

MIT License. See LICENSE for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured