Splitwise MCP Server
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., "@Splitwise MCP Serverlist my recent expenses"
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.
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 (filter by group, friend, date ranges; paginated) |
| Get one expense's full details by id |
| Add an expense — split equally or with custom per-user shares |
| Edit an existing expense |
| Delete an expense |
Related MCP server: splitwise-mcp
Credentials
Each user supplies their own Splitwise API key (and optional default group id). The server reads them per request, in this order:
HTTP request headers (multi-user / hosted) — preferred:
Header
Required
Purpose
X-Splitwise-Api-Keyyes
The caller's Splitwise API key (Bearer token)
X-Splitwise-Group-Idno
Default group id when a tool omits
group_idEnvironment 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.com → Your 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.
Push this folder to a GitHub repo (see "Git setup" below).
Go to fastmcp.cloud, sign in with GitHub, and create a project from your repo.
Set the entrypoint to:
server.py:mcp(FastMCP Cloud installs dependencies from
pyproject.tomlautomatically.)Authentication: so other people can connect, set the project's access to public / unauthenticated. The real credential is each user's
X-Splitwise-Api-Keyheader, so the server doesn't need its own login gate. (NoSPLITWISE_*env vars needed in the dashboard for the multi-user case.)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 depsClaude 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.pyClaude 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.pyGit 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_sharevalues must sum tocost, and so mustowed_share. You can identify a user byuser_id, or byemail/first_name/last_name.
Scope is intentionally limited to expenses — no friends/groups/categories management tools (yet).
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
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/AzeemWaqarRao/splitwise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server