Skip to main content
Glama
adinschmidt

splitwise-mcp

by adinschmidt

Check out my other MCP tools

splitwise-mcp

MCP server that exposes every endpoint from Splitwise's public self-serve API docs as MCP tools.

Current coverage from spec/paths/index.yaml: 27 API operations.

Authentication

Splitwise uses Bearer authentication for API calls. This server accepts any of these env vars:

  • SPLITWISE_API_KEY (recommended for personal use; easiest path)

  • SPLITWISE_ACCESS_TOKEN

  • SPLITWISE_OAUTH_ACCESS_TOKEN

  • SPLITWISE_BEARER_TOKEN

If none are set, tool calls fail with an auth error.

Which key/credential do you need?

  • Personal scripts/single account: create a Splitwise app and use its personal API key as a Bearer token.

  • Multi-user app: use OAuth 2.0 Authorization Code (client key + client secret) to get user access tokens, then pass the access token as Bearer.

  • OAuth 1.0 is not used by the current docs.

Related MCP server: Splitwise MCP Server

Run with Bunx

Bunx expects a package + executable. For path/GitHub sources, use -p and then the bin name (splitwise-mcp).

Published package (npm):

SPLITWISE_API_KEY=your_token bunx splitwise-mcp

Local path source:

SPLITWISE_API_KEY=your_token bunx -p /absolute/path/to/splitwise-mcp splitwise-mcp

GitHub source:

SPLITWISE_API_KEY=your_token bunx -p github:adinschmidt/splitwise-mcp splitwise-mcp

Note: bunx /path/to/repo is not supported by Bun 1.3.x. Use -p form above.

MCP Client Config Example

Using published npm package:

{
  "mcpServers": {
    "splitwise": {
      "command": "bunx",
      "args": ["splitwise-mcp"],
      "env": {
        "SPLITWISE_API_KEY": "your_splitwise_token"
      }
    }
  }
}

Using a local checkout:

{
  "mcpServers": {
    "splitwise": {
      "command": "bunx",
      "args": ["-p", "/absolute/path/to/splitwise-mcp", "splitwise-mcp"],
      "env": {
        "SPLITWISE_API_KEY": "your_splitwise_token"
      }
    }
  }
}

Tool Naming

Each API path is mapped to one tool name by path normalization.

Examples:

  • /get_current_user -> get_current_user

  • /get_user/{id} -> get_user_id

  • /delete_expense/{id} -> delete_expense_id

There is also a helper tool:

  • splitwise_list_operations: lists all registered Splitwise operations.

Request Shape for Tools

Every tool accepts:

  • Path/query parameters as top-level fields (for example id, limit, offset)

  • body for JSON request bodies (when the endpoint supports/needs a body)

  • For best results, pass body as an object. If you pass a string, use a JSON object string or URL-encoded form string.

Spec Sync

To refresh specs from Splitwise official docs repo:

bun run sync-spec

Then restart the MCP server.

Sources

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/adinschmidt/splitwise-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server