Splitwise integration for AI agents.
Splitwise integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Splitwise tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Splitwise actions, managed and audited.
Your user connects Splitwise once; your agent can then use the Splitwise API to read users, friends, groups, expenses, comments, notifications, currencies, and categories — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Splitwise access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Splitwise tools.
27 tools are generated from the published Splitwise catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 27 tools. All published catalog entries are included in this page's server-rendered HTML.
- Supported categories
- Returns a list of all categories Splitwise allows for expenses. There are parent categories that represent groups of categories with subcategories for more specific categorization. When creating expenses, you must use a subcategory, not a parent category. If you intend for an expense to be represented by the parent category and nothing more specific, please use the "Other" subcategory.
- other
- Get expense comments
- Get expense comments
- comments
- Supported currencies
- Returns a list of all currencies allowed by the system. These are mostly ISO 4217 codes, but we do sometimes use pending codes or unofficial, colloquial codes (like BTC instead of XBT for Bitcoin).
- other
- Get information about the current user
- Get information about the current user
- users
- Get expense information
- Get expense information
- expenses
- List the current user's expenses
- List the current user's expenses
- expenses
- Get details about a friend
- Get details about a friend
- friends
- List current user's friends
- **Note**: `group` objects only include group balances with that friend.
- friends
- Get information about a group
- Get information about a group
- groups
- List the current user's groups
- **Note**: Expenses that are not associated with a group are listed in a group with ID 0.
- groups
- Get notifications
- Return a list of recent activity on the users account with the most recent items first. `content` will be suitable for display in HTML and uses only the `<strong>`, `<strike>`, `<small>`, `<br>` and `<font color="#FFEE44">` tags. The `type` value indicates what the notification is about. Notification types may be added in the future without warning. Below is an incomplete list of notification types. | Type | Meaning | | ---- | ------- | | 0 | Expense added | | 1 | Expense updated | | 2 | Expense deleted | | 3 | Comment added | | 4 | Added to group | | 5 | Removed from group | | 6 | Group deleted | | 7 | Group settings changed | | 8 | Added as friend | | 9 | Removed as friend | | 10 | News (a URL should be included) | | 11 | Debt simplification | | 12 | Group undeleted | | 13 | Expense undeleted | | 14 | Group currency conversion | | 15 | Friend currency conversion | **Note**: While all parameters are optional, the server sets arbitrary (but large) limits on the number of notifications returned if you set a very old `updated_after` value or `limit` of `0` for a user with many notifications.
- notifications
- Get information about another user
- Get information about another user
- users
- Add a user to a group
- **Note**: 200 OK does not indicate a successful response. You must check the `success` value of the response.
- groups
- Create a comment
- Create a comment
- comments
- Create an expense
- Creates an expense. You may either split an expense equally (only with `group_id` provided), or supply a list of shares. When splitting equally, the authenticated user is assumed to be the payer. When providing a list of shares, each share must include `paid_share` and `owed_share`, and must be identified by one of the following: - `email`, `first_name`, and `last_name` - `user_id` **Note**: 200 OK does not indicate a successful response. The operation was successful only if `errors` is empty.
- expenses
- Add a friend
- Adds a friend. If the other user does not exist, you must supply `user_first_name`. If the other user exists, `user_first_name` and `user_last_name` will be ignored.
- friends
- Add friends
- Add multiple friends at once. For each user, if the other user does not exist, you must supply `users__{index}__first_name`. **Note**: user parameters must be flattened into the format `users__{index}__{property}`, where `property` is `first_name`, `last_name`, or `email`.
- friends
- Create a group
- Creates a new group. Adds the current user to the group by default. **Note**: group user parameters must be flattened into the format `users__{index}__{property}`, where `property` is `user_id`, `first_name`, `last_name`, or `email`. The user's email or ID must be provided.
- groups
- Delete a comment
- Deletes a comment. Returns the deleted comment.
- comments
- Delete an expense
- **Note**: 200 OK does not indicate a successful response. The operation was successful only if `success` is true.
- expenses
- Delete friendship
- Given a friend ID, break off the friendship between the current user and the specified user. **Note**: 200 OK does not indicate a successful response. You must check the `success` value of the response.
- friends
- Delete a group
- Delete an existing group. Destroys all associated records (expenses, etc.)
- groups
- Remove a user from a group
- Remove a user from a group. Does not succeed if the user has a non-zero balance. **Note:** 200 OK does not indicate a successful response. You must check the success value of the response.
- groups
- Restore an expense
- **Note**: 200 OK does not indicate a successful response. The operation was successful only if `success` is true.
- expenses
- Restore a group
- Restores a deleted group. **Note**: 200 OK does not indicate a successful response. You must check the `success` value of the response.
- groups
- Update an expense
- Updates an expense. Parameters are the same as in `create_expense`, but you only need to include parameters that are changing from the previous values. If any values is supplied for `users__{index}__{property}`, _all_ shares for the expense will be overwritten with the provided values. **Note**: 200 OK does not indicate a successful response. The operation was successful only if `errors` is empty.
- expenses
- Update a user
- Update a user
- users
Splitwise integration, answered
- How do AI agents use Splitwise through Open Connector?
- Your user connects Splitwise once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Splitwise tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Splitwise MCP server?
- Yes. Open Connector can serve Splitwise as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Splitwise actions with credentials injected server-side.
- Where do Splitwise credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Splitwise — keep the keys.
Open source, self-hostable, with Splitwise credentials that never leave your infrastructure. Run it from source today.