@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.
Files changed (114) hide show
  1. package/.code/agents/0098661e-0fa3-4990-beb9-c0cbf3f123aa/status.txt +1 -0
  2. package/.code/agents/1324/exec-call_tIpx9uV1TpARbAMZonRQm8AO.txt +757 -0
  3. package/.code/agents/1572/exec-call_GjVFBFOWcY7lE0idc5nWlLNh.txt +781 -0
  4. package/.code/agents/1846/exec-call_1YNAVD18RjrMN7JnfkkQhUP3.txt +766 -0
  5. package/.code/agents/1846/exec-call_lh3lDzE4WJAh1lFiomiiZ73D.txt +766 -0
  6. package/.code/agents/2038/exec-call_DYwOukaYsL8VCONWmV2rUW5u.txt +766 -0
  7. package/.code/agents/2038/exec-call_c7fOQ7UrpVcTtvdfGBRM146V.txt +652 -0
  8. package/.code/agents/2038/exec-call_ySNyq9Mm55jWE480s54r5QcA.txt +766 -0
  9. package/.code/agents/2256/exec-call_AtPcRWPmFPMcmX6qOFm1fCEY.txt +766 -0
  10. package/.code/agents/2454/exec-call_aFJpupwjfZeOBm7ixI5Vc8z2.txt +766 -0
  11. package/.code/agents/2454/exec-call_wogZ4HfXTodTEXvdgXlVUBpv.txt +766 -0
  12. package/.code/agents/2e905864-aa07-4314-bcf9-c5b32277e4ac/result.txt +36 -0
  13. package/.code/agents/3073/exec-call_Peeagc9DxGYLgE6pNdMZhqIE.txt +766 -0
  14. package/.code/agents/3073/exec-call_d2YSE3hXF08KRSoUM3qd8Z3x.txt +766 -0
  15. package/.code/agents/335aa031-466d-4fb7-925f-3cd864e264d0/result.txt +191 -0
  16. package/.code/agents/3364/exec-call_NbhIrsM5HhyDZDmJZG5CuCYL.txt +766 -0
  17. package/.code/agents/3364/exec-call_cKtJg0NrXiwXEFwlsE3uPZRA.txt +766 -0
  18. package/.code/agents/36d98414-5cde-4d9d-9a67-a240a18c1f07/result.txt +189 -0
  19. package/.code/agents/4604e866-b7b8-44f5-992f-2f683b0a523b/status.txt +1 -0
  20. package/.code/agents/5f8dc01c-47b3-4163-b0b3-aa31be89fcdc/status.txt +1 -0
  21. package/.code/agents/7/exec-call_HltHpkDox0Zm1vGEjdksUgpE.txt +1120 -0
  22. package/.code/agents/7/exec-call_LCATrOPPAgbxW9Q1z0XaVi2E.txt +2646 -0
  23. package/.code/agents/7/exec-call_W8DeRfNG9hvbgVFvf0clBf6R.txt +2646 -0
  24. package/.code/agents/94a0ddf3-a304-4ec3-913e-3cceef509948/error.txt +1 -0
  25. package/.code/agents/e2c752b7-711d-423a-af57-f53c809deb84/result.txt +160 -0
  26. package/.code/agents/e6601719-c31f-4a0e-8c71-d70787d0ab71/status.txt +1 -0
  27. package/.code/agents/f250b7ed-5bd5-4036-aa8c-ce63caee7d61/result.txt +20 -0
  28. package/AGENTS.md +1 -36
  29. package/CLAUDE.md +131 -51
  30. package/NUL +0 -1
  31. package/README.md +27 -14
  32. package/dist/bundle/index.cjs +41 -41
  33. package/dist/server/YNABMCPServer.js +28 -381
  34. package/dist/server/config.d.ts +2 -0
  35. package/dist/server/config.js +1 -0
  36. package/dist/tools/accountTools.d.ts +2 -0
  37. package/dist/tools/accountTools.js +45 -0
  38. package/dist/tools/adapters.d.ts +12 -0
  39. package/dist/tools/adapters.js +25 -0
  40. package/dist/tools/budgetTools.d.ts +2 -0
  41. package/dist/tools/budgetTools.js +30 -0
  42. package/dist/tools/categoryTools.d.ts +2 -0
  43. package/dist/tools/categoryTools.js +45 -0
  44. package/dist/tools/monthTools.d.ts +2 -0
  45. package/dist/tools/monthTools.js +32 -0
  46. package/dist/tools/payeeTools.d.ts +2 -0
  47. package/dist/tools/payeeTools.js +32 -0
  48. package/dist/tools/reconciliation/index.d.ts +2 -0
  49. package/dist/tools/reconciliation/index.js +33 -0
  50. package/dist/tools/schemas/common.d.ts +3 -0
  51. package/dist/tools/schemas/common.js +3 -0
  52. package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +1 -1
  53. package/dist/tools/transactionTools.d.ts +2 -0
  54. package/dist/tools/transactionTools.js +129 -0
  55. package/dist/tools/utilityTools.d.ts +3 -1
  56. package/dist/tools/utilityTools.js +32 -2
  57. package/dist/types/index.d.ts +1 -0
  58. package/dist/types/toolRegistration.d.ts +27 -0
  59. package/dist/types/toolRegistration.js +1 -0
  60. package/package.json +2 -2
  61. package/scripts/run-domain-integration-tests.js +4 -1
  62. package/src/__tests__/workflows.e2e.test.ts +1 -7
  63. package/src/server/YNABMCPServer.ts +33 -519
  64. package/src/server/__tests__/toolRegistration.test.ts +236 -0
  65. package/src/server/config.ts +1 -0
  66. package/src/tools/__tests__/adapters.test.ts +113 -0
  67. package/src/tools/__tests__/transactionTools.test.ts +90 -17
  68. package/src/tools/__tests__/utilityTools.test.ts +7 -7
  69. package/src/tools/accountTools.ts +53 -0
  70. package/src/tools/adapters.ts +74 -0
  71. package/src/tools/budgetTools.ts +37 -0
  72. package/src/tools/categoryTools.ts +53 -0
  73. package/src/tools/monthTools.ts +39 -0
  74. package/src/tools/payeeTools.ts +39 -0
  75. package/src/tools/reconciliation/index.ts +45 -0
  76. package/src/tools/schemas/common.ts +18 -0
  77. package/src/tools/transactionTools.ts +150 -0
  78. package/src/tools/utilityTools.ts +42 -2
  79. package/src/types/index.ts +3 -0
  80. package/src/types/toolRegistration.ts +88 -0
  81. package/.dxtignore +0 -57
  82. package/.github/workflows/pr-description-check.yml +0 -88
  83. package/CODEREVIEW_RESPONSE.md +0 -128
  84. package/SCHEMA_IMPROVEMENT_SUMMARY.md +0 -120
  85. package/TESTING_NOTES.md +0 -217
  86. package/accountactivity-merged.csv +0 -149
  87. package/bundle-analysis.html +0 -13110
  88. package/docs/README.md +0 -72
  89. package/docs/getting-started/CONFIGURATION.md +0 -175
  90. package/docs/getting-started/INSTALLATION.md +0 -333
  91. package/docs/getting-started/QUICKSTART.md +0 -282
  92. package/docs/guides/ARCHITECTURE.md +0 -533
  93. package/docs/guides/DEPLOYMENT.md +0 -189
  94. package/docs/guides/INTEGRATION_TESTING.md +0 -730
  95. package/docs/guides/TESTING.md +0 -591
  96. package/docs/plans/2025-11-20-reloadable-config-token-validation.md +0 -93
  97. package/docs/plans/2025-11-21-fix-transaction-cached-property.md +0 -362
  98. package/docs/plans/2025-11-21-reconciliation-error-handling.md +0 -90
  99. package/docs/plans/2025-11-21-v014-hardening.md +0 -153
  100. package/docs/plans/reconciliation-v2-redesign.md +0 -1571
  101. package/docs/reconciliation-flow.md +0 -83
  102. package/docs/reference/EXAMPLES.md +0 -946
  103. package/docs/reference/TOOLS.md +0 -348
  104. package/docs/reference/TROUBLESHOOTING.md +0 -481
  105. package/fix-types.sh +0 -17
  106. package/test-csv-sample.csv +0 -28
  107. package/test-exports/sample_bank_statement.csv +0 -7
  108. package/test-reconcile-autodetect.js +0 -40
  109. package/test-reconcile-tool.js +0 -152
  110. package/test-reconcile-with-csv.cjs +0 -89
  111. package/test-statement.csv +0 -8
  112. package/test_debug.js +0 -47
  113. package/test_mcp_tools.mjs +0 -75
  114. 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.