Splitwise MCP Server

Splitwise MCP Server

A server that wraps the Splitwise API so Claude can read and manage expenses, including listing, creating, updating, and deleting expenses with support for equal and custom splits.

Category
访问服务器

README

Splitwise MCP Server

A small MCP server (built with FastMCP) that wraps the Splitwise API so Claude can read and manage your expenses directly.

Tools

Tool What it does
list_expenses List expenses (filter by group, friend, date ranges; paginated)
get_expense Get one expense's full details by id
create_expense Add an expense — split equally or with custom per-user shares
update_expense Edit an existing expense
delete_expense Delete an expense

Credentials

Each user supplies their own Splitwise API key (and optional default group id). The server reads them per request, in this order:

  1. HTTP request headers (multi-user / hosted) — preferred:
    Header Required Purpose
    X-Splitwise-Api-Key yes The caller's Splitwise API key (Bearer token)
    X-Splitwise-Group-Id no Default group id when a tool omits group_id
  2. Environment variables (single-user / local fallback) — SPLITWISE_API_KEY, SPLITWISE_GROUP_ID.

This means one hosted deployment can serve many people: each person plugs in their own key via their client config — no shared key, no per-user redeploy.

Get an API key at dev.splitwise.comYour apps → create an app → copy the API key. The group id is in the URL when you open a group on splitwise.com.


Deploy to FastMCP Cloud (hosted, multi-user)

FastMCP Cloud runs the server remotely and gives you one HTTPS URL that many people can use — each with their own key, passed as a header. You (the owner) don't need to put any Splitwise secret in the dashboard.

  1. Push this folder to a GitHub repo (see "Git setup" below).

  2. Go to fastmcp.cloud, sign in with GitHub, and create a project from your repo.

  3. Set the entrypoint to:

    server.py:mcp
    

    (FastMCP Cloud installs dependencies from pyproject.toml automatically.)

  4. Authentication: so other people can connect, set the project's access to public / unauthenticated. The real credential is each user's X-Splitwise-Api-Key header, so the server doesn't need its own login gate. (No SPLITWISE_* env vars needed in the dashboard for the multi-user case.)

  5. Deploy. You'll get a URL like https://your-project.fastmcp.app/mcp. Share it.

How each user adds the server to Claude

Every user runs this with their own key and group id:

Claude Code (CLI):

claude mcp add --transport http splitwise https://your-project.fastmcp.app/mcp \
  --header "X-Splitwise-Api-Key: THEIR_API_KEY" \
  --header "X-Splitwise-Group-Id: THEIR_GROUP_ID"

Other clients (JSON form):

{
  "mcpServers": {
    "splitwise": {
      "url": "https://your-project.fastmcp.app/mcp",
      "headers": {
        "X-Splitwise-Api-Key": "THEIR_API_KEY",
        "X-Splitwise-Group-Id": "THEIR_GROUP_ID"
      }
    }
  }
}

Note: header-based config works in clients that support custom MCP headers (e.g. Claude Code). The Claude Desktop "Add custom connector" UI currently only takes a URL (no custom headers), so Desktop users would need a client that supports headers — or you'd move to OAuth. For most setups, Claude Code is the way each user plugs in their key.


Run locally (stdio, optional)

You can also run it on your own machine without the cloud. Here the secrets DO go in the Claude config (since the process runs locally):

uv sync   # install deps

Claude Code (CLI):

claude mcp add splitwise \
  -e SPLITWISE_API_KEY=your_api_key_here \
  -e SPLITWISE_GROUP_ID=your_default_group_id \
  -- uv run --directory /Users/azeemwaqar/Desktop/home/work/splitwise_mcp server.py

Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "splitwise": {
      "command": "uv",
      "args": ["run", "--directory", "/Users/azeemwaqar/Desktop/home/work/splitwise_mcp", "server.py"],
      "env": {
        "SPLITWISE_API_KEY": "your_api_key_here",
        "SPLITWISE_GROUP_ID": "your_default_group_id"
      }
    }
  }
}

Inspect tools interactively:

uv run fastmcp dev server.py

Git setup (for FastMCP Cloud)

cd /Users/azeemwaqar/Desktop/home/work/splitwise_mcp
git init
git add .
git commit -m "Splitwise expense MCP server"
# create an empty repo on GitHub, then:
git remote add origin https://github.com/<you>/splitwise-mcp.git
git branch -M main
git push -u origin main

.env is git-ignored, so your key never gets committed.

Notes on splitting

  • Equal split (default): omit users; the cost splits evenly across the group.
  • Custom split: pass users, e.g. [{"user_id": 123, "paid_share": "25.00", "owed_share": "12.50"}, ...]. paid_share values must sum to cost, and so must owed_share. You can identify a user by user_id, or by email / first_name / last_name.

Scope is intentionally limited to expenses — no friends/groups/categories management tools (yet).

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选