🎉 Release v0.22.17
📦 Docker Images
# Docker Hub
docker pull agigante80/actual-mcp-server:0.22.17
# GitHub Container Registry
docker pull ghcr.io/agigante80/actual-mcp-server:0.22.17✨ Highlights: Chat-client tool surface
- Toolsets (#483). New
MCP_TOOLSETS,MCP_TOOLSandMCP_READ_ONLYchoose which tools a deployment publishes.MCP_TOOLSETS=chatpublishes a 12-tool preset sized for chat clients with a small context (about 26 KB of tool definitions instead of 108 KB). A hidden tool is refused when called, not just left out of the list. With none of the variables set, the published list is byte-identical to before. Designed by @andycarlberg in #520 and reimplemented on develop with him as co-author: thank you, Andy. actual_rules_create_batch(#485). Create up to 50 rules in one call, with per-itemsucceeded/failedresults. The README "Batch Operations" section now lists every bulk path.actual_budget_updates_batch(#516) writes through the adapter's category and month guards and reports per-item results; an unknown category is a failure, not a success.- Smaller tool list (#486). The seven heaviest tool definitions are about 25% smaller (
tools/listfor all 83 tools: 108,164 to 101,827 bytes), with validation unchanged. A unit test now caps the size.
⚠️ Behaviour changes
actual_transactions_update_batch(#517): invalid input and whole-call failures (budget precondition, timeout, lock) now fail the tool call with a JSON-RPC error instead of resolving withfailed: [{id: 'batch'}]. Per-item outcomes are unchanged.
Upgrade note
actual_rules_create now refuses a rule whose conditions or actions name a category, payee or account id that does not exist in the budget, with a not-found error naming the id, instead of storing a rule that points at nothing. Rules already stored are untouched. actual_rules_create_or_update, actual_rules_update, actual_payees_update and link-schedule values are not checked yet.
📝 Changelog
- chore(release): bump version to 0.22.17 (e686c18)
- refactor(tools): trim the seven heaviest tool schemas and add a tools/list size budget (#486) (b09732f)
- chore(release): bump version to 0.22.16 (dcfd3d8)
- test(toolsets): derive non-queue writers and guard the MCP_TOOLS examples (#483) (f6a11ce)
- feat(toolsets): add MCP_TOOLSETS, MCP_TOOLS, MCP_READ_ONLY and the chat preset (#483) (6454425)
- chore(release): bump version to 0.22.15 (9f5b0a5)
- test(manual): read the rules batch negative without a second unwrap (#485) (21e7f94)
- feat(tools): add actual_rules_create_batch and guard rule references (#485) (2d3513e)
- fix(tools): actual_budget_updates_batch writes through adapter guards with per-item results (#516) (f274279)
- fix(tools): actual_transactions_update_batch reports validation and whole-call errors as tool errors (#517) (2792765)
- docs(plans): record #477 closed as split, all five tickets taken in house (37e2d52)
- docs(roadmap): add the phase roadmap and the Chat-client tool surface plan (b157848)
📊 What this release ships
@actual-app/apipinned at26.10.0- All 83 MCP tools registered and validated on this tag
🔒 Security
This release has been scanned for vulnerabilities. Check the Security tab for details.
Full Changelog: v0.22.14...v0.22.17