splitwise-mcp 2.1.6 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "metadata": {
9
9
  "description": "MCP server for Splitwise — natural-language expense and group management via the Splitwise API",
10
- "version": "2.1.6"
10
+ "version": "2.2.1"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "Splitwise",
16
16
  "source": "./",
17
17
  "description": "MCP server for Splitwise — manage expenses, groups, and friends via natural language",
18
- "version": "2.1.6",
18
+ "version": "2.2.1",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "splitwise-mcp",
3
3
  "displayName": "Splitwise",
4
- "version": "2.1.6",
4
+ "version": "2.2.1",
5
5
  "description": "MCP server for Splitwise — natural-language expense and group management via the Splitwise API",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/.mcp.json CHANGED
@@ -2,9 +2,12 @@
2
2
  "mcpServers": {
3
3
  "splitwise": {
4
4
  "command": "node",
5
- "args": ["${CLAUDE_PLUGIN_ROOT}/dist/index.js"],
5
+ "args": [
6
+ "${CLAUDE_PLUGIN_ROOT}/dist/index.js"
7
+ ],
6
8
  "env": {
7
- "SPLITWISE_API_KEY": "${SPLITWISE_API_KEY}"
9
+ "SPLITWISE_API_KEY": "${SPLITWISE_API_KEY}",
10
+ "SPLITWISE_OUTPUT_DIR": "${SPLITWISE_OUTPUT_DIR}"
8
11
  }
9
12
  }
10
13
  }
package/README.md CHANGED
@@ -20,6 +20,7 @@ Ask Claude things like:
20
20
  - *"Add Meredith to the household group"*
21
21
  - *"Show me recent expenses"*
22
22
  - *"Delete that duplicate expense"*
23
+ - *"Download the receipt from that hotel expense"*
23
24
 
24
25
  ## Requirements
25
26
 
@@ -112,10 +113,11 @@ Add to Claude Desktop config:
112
113
  | Env var | Required | Notes |
113
114
  |---------|----------|-------|
114
115
  | `SPLITWISE_API_KEY` | Yes | API key from [splitwise.com/apps/register](https://secure.splitwise.com/apps/register) |
116
+ | `SPLITWISE_OUTPUT_DIR` | No | Where `sw_get_receipt` writes downloaded receipts. Defaults to the current working directory. |
115
117
 
116
118
  ## Available tools
117
119
 
118
- 20 tools across 5 domains. All tools are prefixed `sw_`.
120
+ 26 tools across 6 domains. All tools are prefixed `sw_`.
119
121
 
120
122
  ### User
121
123
 
@@ -123,6 +125,7 @@ Add to Claude Desktop config:
123
125
  |------|-------------|
124
126
  | `sw_get_current_user` | Get the authenticated user's profile |
125
127
  | `sw_get_user` | Get another user's profile by ID |
128
+ | `sw_update_user` | Update the current user's profile fields |
126
129
 
127
130
  ### Groups
128
131
 
@@ -158,6 +161,12 @@ Add to Claude Desktop config:
158
161
  | `sw_create_comment` | Add a comment to an expense |
159
162
  | `sw_delete_comment` | Delete a comment |
160
163
 
164
+ ### Receipts
165
+
166
+ | Tool | What it does |
167
+ |------|-------------|
168
+ | `sw_get_receipt` | Download an expense's receipt image/PDF with the server's credentials. Returns it inline (`inline`), as extracted PDF text (`extract_text`), and/or written to a file |
169
+
161
170
  ### Utilities
162
171
 
163
172
  | Tool | What it does |
@@ -170,6 +179,10 @@ Add to Claude Desktop config:
170
179
 
171
180
  **"SPLITWISE_API_KEY is required"** -- set the environment variable in your MCP config or a `.env` file.
172
181
 
182
+ **401 when opening a receipt URL** -- the `receipt.original` / `receipt.large` URLs on an expense are not public; they need the API key. Use `sw_get_receipt` instead of fetching them directly.
183
+
184
+ **Receipt lands somewhere you can't read it** -- `sw_get_receipt` writes to the *server's* filesystem, which is not the caller's when the server is hosted or containerised. Pass `inline: true` for the bytes (an image block for images, an embedded resource for PDFs) or `extract_text: true` for a PDF's text. Pass `write: false` to skip the write; if it fails on its own (read-only filesystem), the call still succeeds and reports `write_error` as long as you asked for content.
185
+
173
186
  **429 rate limit** -- Splitwise has undocumented rate limits. Wait a moment and retry.
174
187
 
175
188
  **Tools not appearing in Claude** -- go to **Claude Desktop > Settings > Developer** to see connected servers. Make sure you fully quit and relaunched after editing the config.
@@ -191,8 +204,9 @@ src/
191
204
  user.ts sw_get_current_user, sw_get_user
192
205
  groups.ts group CRUD and membership
193
206
  friends.ts friend list and management
194
- expenses.ts expense CRUD, comments
195
- utilities.ts notifications, categories, currencies
207
+ expenses.ts expense CRUD
208
+ receipts.ts authenticated receipt download + PDF text extraction
209
+ utilities.ts notifications, categories, currencies, comments
196
210
  ```
197
211
 
198
212
  ## License