Splitwise MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | No | Gemini API Key (optional, needed for text_command feature) | |
| DEEPGRAM_API_KEY | No | Deepgram API Key (optional, needed for voice_command feature) | |
| SPLITWISE_API_KEY | Yes | Splitwise API Key (required for core features) | |
| SPLITWISE_CONSUMER_KEY | Yes | Splitwise Consumer Key (required for core features) | |
| SPLITWISE_CONSUMER_SECRET | Yes | Splitwise Consumer Secret (required for core features) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| voice_commandA | Process a voice command for Splitwise. Accepts base64-encoded audio (WAV or MP3 format), transcribes it using Deepgram, processes the intent using Gemini, and executes Splitwise actions. Args: audio_base64: Base64-encoded audio data (WAV or MP3). Returns: The result of the voice command (e.g., confirmation, clarification request, or error). |
| text_commandA | Process a text command for Splitwise. Interprets natural language text using Gemini and executes Splitwise actions. Use this when you already have text (e.g., from a chat message) instead of audio. Args: text: Natural language command (e.g., "Split 50 with Sumeet for dinner"). Returns: The result of the command (e.g., confirmation, clarification request, or error). |
| configure_splitwiseA | Configure the Splitwise client with API credentials. You must provide either (consumer_key AND consumer_secret) OR api_key. |
| login_with_tokenA | Log in using an existing OAuth2 Access Token. Useful for integrations where authentication is handled externally (e.g. ChatGPT). |
| list_friendsA | List all friends of the current user on Splitwise. Returns a formatted string list of friends. |
| add_expenseA | Add an expense to Splitwise, supporting unequal splits, groups, and precise control. Args:
amount: The total cost (e.g., "70", "10.50").
description: A brief description.
friend_names: Friends to split with. Can be empty if using |
| delete_expenseB | Delete an expense by its ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: authentication setup, login, adding/deleting expenses, listing friends, and text/voice command processing. No overlapping functionality.
Most tools follow a verb_noun pattern (add_expense, delete_expense, list_friends), but login_with_token and configure_splitwise are slightly different, and text_command/voice_command are adjective_noun. Minor inconsistency but still readable.
Seven tools cover essential Splitwise actions like authentication (configure, login), expense management (add, delete), friend listing, and natural language interfaces, which is well-scoped for the server's purpose.
Notable missing operations: no update or get/list expenses (only add/delete), no group management beyond expense addition, and no tool to retrieve expense details. The command tools may partially compensate but lack explicit coverage.