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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +5 -2
- package/README.md +17 -3
- package/dist/bundle.js +42017 -1816
- package/dist/client.js +95 -8
- package/dist/index.js +3 -1
- package/dist/tools/friends.js +2 -6
- package/dist/tools/groups.js +2 -6
- package/dist/tools/receipts.js +247 -0
- package/dist/tools/user.js +2 -14
- package/package.json +2 -1
- package/server.json +9 -2
- package/skills/splitwise-mcp/SKILL.md +19 -1
|
@@ -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
|
|
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
|
|
18
|
+
"version": "2.2.1",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/.mcp.json
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"splitwise": {
|
|
4
4
|
"command": "node",
|
|
5
|
-
"args": [
|
|
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
|
-
|
|
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
|
|
195
|
-
|
|
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
|