@dizzlkheinz/ynab-mcpb 0.16.0 → 0.17.0
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/.code/agents/0098661e-0fa3-4990-beb9-c0cbf3f123aa/status.txt +1 -0
- package/.code/agents/1324/exec-call_tIpx9uV1TpARbAMZonRQm8AO.txt +757 -0
- package/.code/agents/1572/exec-call_GjVFBFOWcY7lE0idc5nWlLNh.txt +781 -0
- package/.code/agents/1846/exec-call_1YNAVD18RjrMN7JnfkkQhUP3.txt +766 -0
- package/.code/agents/1846/exec-call_lh3lDzE4WJAh1lFiomiiZ73D.txt +766 -0
- package/.code/agents/2038/exec-call_DYwOukaYsL8VCONWmV2rUW5u.txt +766 -0
- package/.code/agents/2038/exec-call_c7fOQ7UrpVcTtvdfGBRM146V.txt +652 -0
- package/.code/agents/2038/exec-call_ySNyq9Mm55jWE480s54r5QcA.txt +766 -0
- package/.code/agents/2256/exec-call_AtPcRWPmFPMcmX6qOFm1fCEY.txt +766 -0
- package/.code/agents/2454/exec-call_aFJpupwjfZeOBm7ixI5Vc8z2.txt +766 -0
- package/.code/agents/2454/exec-call_wogZ4HfXTodTEXvdgXlVUBpv.txt +766 -0
- package/.code/agents/2e905864-aa07-4314-bcf9-c5b32277e4ac/result.txt +36 -0
- package/.code/agents/3073/exec-call_Peeagc9DxGYLgE6pNdMZhqIE.txt +766 -0
- package/.code/agents/3073/exec-call_d2YSE3hXF08KRSoUM3qd8Z3x.txt +766 -0
- package/.code/agents/335aa031-466d-4fb7-925f-3cd864e264d0/result.txt +191 -0
- package/.code/agents/3364/exec-call_NbhIrsM5HhyDZDmJZG5CuCYL.txt +766 -0
- package/.code/agents/3364/exec-call_cKtJg0NrXiwXEFwlsE3uPZRA.txt +766 -0
- package/.code/agents/36d98414-5cde-4d9d-9a67-a240a18c1f07/result.txt +189 -0
- package/.code/agents/4604e866-b7b8-44f5-992f-2f683b0a523b/status.txt +1 -0
- package/.code/agents/5f8dc01c-47b3-4163-b0b3-aa31be89fcdc/status.txt +1 -0
- package/.code/agents/7/exec-call_HltHpkDox0Zm1vGEjdksUgpE.txt +1120 -0
- package/.code/agents/7/exec-call_LCATrOPPAgbxW9Q1z0XaVi2E.txt +2646 -0
- package/.code/agents/7/exec-call_W8DeRfNG9hvbgVFvf0clBf6R.txt +2646 -0
- package/.code/agents/94a0ddf3-a304-4ec3-913e-3cceef509948/error.txt +1 -0
- package/.code/agents/e2c752b7-711d-423a-af57-f53c809deb84/result.txt +160 -0
- package/.code/agents/e6601719-c31f-4a0e-8c71-d70787d0ab71/status.txt +1 -0
- package/.code/agents/f250b7ed-5bd5-4036-aa8c-ce63caee7d61/result.txt +20 -0
- package/AGENTS.md +1 -36
- package/CLAUDE.md +131 -51
- package/NUL +0 -1
- package/README.md +27 -14
- package/dist/bundle/index.cjs +41 -41
- package/dist/server/YNABMCPServer.js +28 -381
- package/dist/server/config.d.ts +2 -0
- package/dist/server/config.js +1 -0
- package/dist/tools/accountTools.d.ts +2 -0
- package/dist/tools/accountTools.js +45 -0
- package/dist/tools/adapters.d.ts +12 -0
- package/dist/tools/adapters.js +25 -0
- package/dist/tools/budgetTools.d.ts +2 -0
- package/dist/tools/budgetTools.js +30 -0
- package/dist/tools/categoryTools.d.ts +2 -0
- package/dist/tools/categoryTools.js +45 -0
- package/dist/tools/monthTools.d.ts +2 -0
- package/dist/tools/monthTools.js +32 -0
- package/dist/tools/payeeTools.d.ts +2 -0
- package/dist/tools/payeeTools.js +32 -0
- package/dist/tools/reconciliation/index.d.ts +2 -0
- package/dist/tools/reconciliation/index.js +33 -0
- package/dist/tools/schemas/common.d.ts +3 -0
- package/dist/tools/schemas/common.js +3 -0
- package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +1 -1
- package/dist/tools/transactionTools.d.ts +2 -0
- package/dist/tools/transactionTools.js +129 -0
- package/dist/tools/utilityTools.d.ts +3 -1
- package/dist/tools/utilityTools.js +32 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/toolRegistration.d.ts +27 -0
- package/dist/types/toolRegistration.js +1 -0
- package/package.json +2 -2
- package/scripts/run-domain-integration-tests.js +4 -1
- package/src/__tests__/workflows.e2e.test.ts +1 -7
- package/src/server/YNABMCPServer.ts +33 -519
- package/src/server/__tests__/toolRegistration.test.ts +236 -0
- package/src/server/config.ts +1 -0
- package/src/tools/__tests__/adapters.test.ts +113 -0
- package/src/tools/__tests__/transactionTools.test.ts +90 -17
- package/src/tools/__tests__/utilityTools.test.ts +7 -7
- package/src/tools/accountTools.ts +53 -0
- package/src/tools/adapters.ts +74 -0
- package/src/tools/budgetTools.ts +37 -0
- package/src/tools/categoryTools.ts +53 -0
- package/src/tools/monthTools.ts +39 -0
- package/src/tools/payeeTools.ts +39 -0
- package/src/tools/reconciliation/index.ts +45 -0
- package/src/tools/schemas/common.ts +18 -0
- package/src/tools/transactionTools.ts +150 -0
- package/src/tools/utilityTools.ts +42 -2
- package/src/types/index.ts +3 -0
- package/src/types/toolRegistration.ts +88 -0
- package/.dxtignore +0 -57
- package/.github/workflows/pr-description-check.yml +0 -88
- package/CODEREVIEW_RESPONSE.md +0 -128
- package/SCHEMA_IMPROVEMENT_SUMMARY.md +0 -120
- package/TESTING_NOTES.md +0 -217
- package/accountactivity-merged.csv +0 -149
- package/bundle-analysis.html +0 -13110
- package/docs/README.md +0 -72
- package/docs/getting-started/CONFIGURATION.md +0 -175
- package/docs/getting-started/INSTALLATION.md +0 -333
- package/docs/getting-started/QUICKSTART.md +0 -282
- package/docs/guides/ARCHITECTURE.md +0 -533
- package/docs/guides/DEPLOYMENT.md +0 -189
- package/docs/guides/INTEGRATION_TESTING.md +0 -730
- package/docs/guides/TESTING.md +0 -591
- package/docs/plans/2025-11-20-reloadable-config-token-validation.md +0 -93
- package/docs/plans/2025-11-21-fix-transaction-cached-property.md +0 -362
- package/docs/plans/2025-11-21-reconciliation-error-handling.md +0 -90
- package/docs/plans/2025-11-21-v014-hardening.md +0 -153
- package/docs/plans/reconciliation-v2-redesign.md +0 -1571
- package/docs/reconciliation-flow.md +0 -83
- package/docs/reference/EXAMPLES.md +0 -946
- package/docs/reference/TOOLS.md +0 -348
- package/docs/reference/TROUBLESHOOTING.md +0 -481
- package/fix-types.sh +0 -17
- package/test-csv-sample.csv +0 -28
- package/test-exports/sample_bank_statement.csv +0 -7
- package/test-reconcile-autodetect.js +0 -40
- package/test-reconcile-tool.js +0 -152
- package/test-reconcile-with-csv.cjs +0 -89
- package/test-statement.csv +0 -8
- package/test_debug.js +0 -47
- package/test_mcp_tools.mjs +0 -75
- package/test_simple.mjs +0 -16
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
# Quick Start: Testing YNAB MCP Server with Claude Desktop
|
|
2
|
-
|
|
3
|
-
This guide provides the fastest path to test the YNAB MCP server with Claude Desktop integration.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
1. **YNAB Account**: Active YNAB subscription with transaction data
|
|
8
|
-
2. **YNAB Token**: Personal Access Token from [YNAB developer settings](https://app.youneedabudget.com/settings/developer)
|
|
9
|
-
3. **Node.js**: Version 18.0.0 or higher (`node --version`)
|
|
10
|
-
4. **Claude Desktop**: Latest version installed
|
|
11
|
-
|
|
12
|
-
## Step 1: Environment Setup
|
|
13
|
-
|
|
14
|
-
1. Install dependencies with `npm install` if you haven’t already.
|
|
15
|
-
2. Create or update a `.env` file with useful testing values:
|
|
16
|
-
- `LOG_LEVEL=debug` (surface detailed logs while validating)
|
|
17
|
-
- `YNAB_EXPORT_PATH=./test-exports` (keep test exports in a disposable folder)
|
|
18
|
-
|
|
19
|
-
## Step 2: Build and Test
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Build the project
|
|
23
|
-
npm run build
|
|
24
|
-
|
|
25
|
-
# Run tests to verify everything works
|
|
26
|
-
npm test
|
|
27
|
-
|
|
28
|
-
# Quick test of the server locally (optional)
|
|
29
|
-
npm run start
|
|
30
|
-
# Press Ctrl+C to stop after verifying it starts
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Expected Results**:
|
|
34
|
-
|
|
35
|
-
- Build completes without TypeScript errors
|
|
36
|
-
- All tests pass
|
|
37
|
-
- Server starts without connection errors
|
|
38
|
-
|
|
39
|
-
## Step 3: Claude Desktop Integration
|
|
40
|
-
|
|
41
|
-
### Option A: Local Development Server (Recommended for Testing)
|
|
42
|
-
|
|
43
|
-
1. **Configure Claude Desktop**:
|
|
44
|
-
- Open Claude Desktop Settings
|
|
45
|
-
- Navigate to "Extensions" or "MCP Servers" section
|
|
46
|
-
- Add new server with these settings:
|
|
47
|
-
- **Name**: `ynab-mcp-server`
|
|
48
|
-
- **Command**: `node`
|
|
49
|
-
- **Arguments**: `["dist/index.js"]`
|
|
50
|
-
- **Working Directory**: `/path/to/ynab-mcp-mcpb`
|
|
51
|
-
- **Environment Variables**:
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"YNAB_ACCESS_TOKEN": "your_actual_token_here"
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
2. **Restart Claude Desktop** completely (close and reopen)
|
|
59
|
-
|
|
60
|
-
### Option B: MCPB Package (Alternative)
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
# Build MCPB package
|
|
64
|
-
npm run package:mcpb
|
|
65
|
-
|
|
66
|
-
# The .mcpb file will be created in dist/
|
|
67
|
-
# Drag and drop it into Claude Desktop
|
|
68
|
-
# Configure YNAB_ACCESS_TOKEN in extension settings
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Step 4: Basic Testing (2 minutes)
|
|
72
|
-
|
|
73
|
-
### 4.1 Verify Connection
|
|
74
|
-
|
|
75
|
-
**Ask Claude**:
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
Can you run the diagnostic_info tool for the YNAB MCP server?
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Expected**: Should return server status, cache configuration, and authentication details.
|
|
82
|
-
|
|
83
|
-
### 4.2 Test Budget Access
|
|
84
|
-
|
|
85
|
-
**Ask Claude**:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
Can you list my YNAB budgets using the list_budgets tool?
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Expected**: Should return your budget(s) with names and IDs.
|
|
92
|
-
|
|
93
|
-
### 4.3 Set Default Budget
|
|
94
|
-
|
|
95
|
-
**Ask Claude**:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
Set my default budget to [your_budget_name] using the set_default_budget tool.
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**Expected**: Should confirm success and mention cache warming.
|
|
102
|
-
|
|
103
|
-
### 4.4 Test Cache Performance
|
|
104
|
-
|
|
105
|
-
**Ask Claude**:
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
List my accounts using the list_accounts tool.
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Then immediately ask again:
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
List my accounts again.
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**Expected**: Second request should be noticeably faster due to caching.
|
|
118
|
-
|
|
119
|
-
## Step 5: Advanced Testing (5 minutes)
|
|
120
|
-
|
|
121
|
-
### 5.1 Financial Analysis
|
|
122
|
-
|
|
123
|
-
**Ask Claude**:
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
Show me all transactions for the last month.
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Expected**: Comprehensive analysis with trends, insights, and spending patterns.
|
|
130
|
-
|
|
131
|
-
### 5.2 Transaction Management
|
|
132
|
-
|
|
133
|
-
**Ask Claude**:
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
Show me my recent transactions using the list_transactions tool.
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Expected**: List of recent transactions with details.
|
|
140
|
-
|
|
141
|
-
### 5.3 Export Testing
|
|
142
|
-
|
|
143
|
-
**Ask Claude**:
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
Export my transactions to a file using the export_transactions tool.
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Expected**: Creates a file in the test-exports directory.
|
|
150
|
-
|
|
151
|
-
### 5.4 Receipt Split Workflow
|
|
152
|
-
|
|
153
|
-
**Ask Claude**:
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
Create a receipt split transaction with these categorized items…
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
Provide the categorized items and tax totals you gathered.
|
|
160
|
-
|
|
161
|
-
**Expected**: Claude reviews the categorization, optionally returns a dry-run preview, and creates the split with proportional tax allocation using `create_receipt_split_transaction`.
|
|
162
|
-
|
|
163
|
-
### 5.5 CSV Comparison Testing
|
|
164
|
-
|
|
165
|
-
**Ask Claude**:
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
Compare the CSV file test-csv-sample.csv with my YNAB transactions using the compare_transactions tool.
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**Expected**: Analysis of matches and differences between CSV and YNAB data.
|
|
172
|
-
|
|
173
|
-
## Step 6: Performance Verification
|
|
174
|
-
|
|
175
|
-
### 6.1 Cache Testing
|
|
176
|
-
|
|
177
|
-
**Ask Claude**:
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
Run diagnostic_info again and show me the cache metrics.
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Expected**: Should show cache hits, entries, and performance metrics.
|
|
184
|
-
|
|
185
|
-
### 6.2 Repeat Operations
|
|
186
|
-
|
|
187
|
-
Run the same commands from Step 4 again and notice:
|
|
188
|
-
|
|
189
|
-
- Faster response times
|
|
190
|
-
- Improved cache hit ratios
|
|
191
|
-
- Consistent data accuracy
|
|
192
|
-
|
|
193
|
-
## Step 7: Troubleshooting Common Issues
|
|
194
|
-
|
|
195
|
-
### Issue: "Invalid or expired token"
|
|
196
|
-
|
|
197
|
-
**Solution**:
|
|
198
|
-
|
|
199
|
-
1. Check YNAB_ACCESS_TOKEN in .env file
|
|
200
|
-
2. Generate new token at [YNAB developer settings](https://app.youneedabudget.com/settings/developer)
|
|
201
|
-
3. Restart Claude Desktop after updating token
|
|
202
|
-
|
|
203
|
-
### Issue: "No default budget set"
|
|
204
|
-
|
|
205
|
-
**Solution**:
|
|
206
|
-
|
|
207
|
-
1. Use `set_default_budget` tool first
|
|
208
|
-
2. Or provide budget_id parameter to tools that need it
|
|
209
|
-
|
|
210
|
-
### Issue: Connection errors
|
|
211
|
-
|
|
212
|
-
**Solution**:
|
|
213
|
-
|
|
214
|
-
1. Verify Node.js version: `node --version` (should be 18+)
|
|
215
|
-
2. Verify build completed: check that `dist/index.js` exists
|
|
216
|
-
3. Check Claude Desktop logs for detailed error messages
|
|
217
|
-
4. Restart Claude Desktop completely
|
|
218
|
-
|
|
219
|
-
### Issue: Tools not available
|
|
220
|
-
|
|
221
|
-
**Solution**:
|
|
222
|
-
|
|
223
|
-
1. Verify server appears as "connected" in Claude Desktop
|
|
224
|
-
2. Check MCP server configuration in Claude Desktop settings
|
|
225
|
-
3. Ensure working directory path is correct
|
|
226
|
-
|
|
227
|
-
## Quick Verification Commands
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
# Check Node.js version
|
|
231
|
-
node --version
|
|
232
|
-
|
|
233
|
-
# Verify build exists
|
|
234
|
-
ls dist/index.js
|
|
235
|
-
|
|
236
|
-
# Test environment loading
|
|
237
|
-
node -r dotenv/config -e "console.log(process.env.YNAB_ACCESS_TOKEN ? 'Token configured' : 'Token missing')"
|
|
238
|
-
|
|
239
|
-
# Check test directory
|
|
240
|
-
ls test-exports
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
## Step 8: Success Indicators
|
|
244
|
-
|
|
245
|
-
You'll know the testing is successful when:
|
|
246
|
-
|
|
247
|
-
✅ **Connection**: Server shows as "connected" in Claude Desktop
|
|
248
|
-
✅ **Authentication**: diagnostic_info shows "authenticated: true"
|
|
249
|
-
✅ **Basic Functions**: Budget, account, and transaction tools work
|
|
250
|
-
✅ **Caching**: Repeated requests are faster (cache hits increase)
|
|
251
|
-
✅ **Analysis**: Financial tools provide insights and recommendations
|
|
252
|
-
✅ **Export**: Files are created in test-exports directory
|
|
253
|
-
✅ **Performance**: Response times are acceptable (< 2 seconds cached)
|
|
254
|
-
|
|
255
|
-
## Next Steps After Basic Testing
|
|
256
|
-
|
|
257
|
-
1. **Explore Transaction History**: Test list_transactions with date filters
|
|
258
|
-
2. **Transaction Management**: Try creating, updating, and deleting test transactions
|
|
259
|
-
3. **Advanced Features**: Test reconcile_account with bank statement data
|
|
260
|
-
4. **Performance Testing**: Run multiple concurrent requests
|
|
261
|
-
5. **Error Testing**: Try invalid parameters to test error handling
|
|
262
|
-
|
|
263
|
-
## Getting Help
|
|
264
|
-
|
|
265
|
-
- **Test Scenarios**: See `docs/TEST_SCENARIOS.md` for detailed test cases
|
|
266
|
-
- **Comprehensive Testing**: Use `docs/TESTING_CHECKLIST.md` for systematic validation
|
|
267
|
-
- **Issues**: Check Claude Desktop logs and diagnostic_info output
|
|
268
|
-
- **Performance**: Monitor cache metrics in diagnostic_info
|
|
269
|
-
|
|
270
|
-
## Safety Notes
|
|
271
|
-
|
|
272
|
-
- **Test Transactions**: Remember to clean up any test transactions you create
|
|
273
|
-
- **Export Files**: Clean up test-exports directory as needed
|
|
274
|
-
- **Real Data**: Be careful when testing with production YNAB data
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
**Estimated Time**: 10-15 minutes for complete basic testing
|
|
279
|
-
**Prerequisites Time**: 5 minutes if environment is already set up
|
|
280
|
-
**Success Rate**: High when following this guide step by step
|
|
281
|
-
|
|
282
|
-
The YNAB MCP server v0.8.2 includes receipt-driven split creation, enhanced caching, improved performance, and comprehensive financial analysis tools. This quick start gets you testing immediately while the detailed documentation provides comprehensive validation.
|