local-budget
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOCAL_BUDGET_API_TOKEN | No | Optional 32+ character API token required when binding the dashboard to a non-loopback host. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_month_summaryA | Spend summary for a month (YYYY-MM, default current): spend total, per-category breakdown, income, transfers, and any unresolved conflicts. Call this first for 'how am I doing this month'. |
| get_category_breakdownB | Per-category spend totals for a month (YYYY-MM). |
| query_transactionsA | List posted transactions with optional filters (category, merchant substring, month YYYY-MM or days lookback — month wins and days is ignored if both are given, min amount). Most recent first. |
| top_merchantsC | Top merchants by spend for a month (YYYY-MM). |
| compare_periodsA | Compare spend between two months (YYYY-MM each). Returns each total, the overall delta, and a per-category delta table (sorted by biggest change). |
| recurring_chargesC | Detected recurring/subscription charges (near-monthly, stable amount). |
| find_anomaliesA | Transactions far above their merchant's historical mean (default 2 sd). UNSCOPED by default — returns flags across ~2 years of history; pass month (YYYY-MM) and/or limit to scope the output (detection baselines still use full history). |
| run_sqlA | Run a read-only SELECT/WITH query against the |
| save_user_noteA | Save a NEW durable user preference (one sentence). Not financial data. |
| list_user_notesB | List saved user-preference notes. |
| delete_user_noteB | Delete the note at the given line index. |
| set_merchant_categoryA | Pin a merchant (merchant_norm substring) to a category (+ optional subcategory): adds a rule and recategorizes that merchant's existing transactions. Setting category='Random' requires confirm_random=true — it's discouraged, pick a real category or leave it in the review queue. |
| set_txn_categoryA | Categorize a SINGLE transaction by txn_id (no rule). Setting category='Random' requires confirm_random=true — it's discouraged, pick a real category or leave it in the review queue. |
| amazon_breakdownB | What was actually bought behind the Amazon charges in a month — item titles, quantities and line totals. Read-only; needs |
| amazon_coverageB | How much Amazon spend has item detail behind it, in DOLLARS. Check this before trusting an Amazon breakdown — a low number means most of the spend is still unexplained. |
| propose_splitA | Item lines behind an Amazon charge, each scaled to its share of what was actually charged. Read-only. Assign a category to every line yourself, show the user, and only then call apply_split. |
| apply_splitB | Split one charge across categories. Lines MUST sum to the charge exactly or the write is refused. Confirm with the user first — a wrong allocation silently misstates a budget. |
| add_custom_categoryC | Add a user-defined spend category. |
| remove_categoryA | Remove a spend category by MERGING it into another (re-points its transactions/rules/budgets, then hides it). |
| mark_floor_categoryA | Mark a category as floor-type: MORE spend is good (e.g. Investments), the opposite of every other (ceiling-type) category. |
| unmark_floor_categoryA | Revert a category to ordinary ceiling-type semantics (less spend is good). |
| set_budget_limitA | Set a monthly budget limit (cents) for a category or (category, subcategory). Direction (over-budget-is-bad vs under-target-is-bad) comes from the category's floor/ceiling marking (see mark_floor_category), not from this call. |
| clear_budget_limitC | Clear the budget limit for a category (or subcategory). |
| set_expected_incomeB | Set expected monthly income (cents). |
| split_subscriptionsB | Give every Subscriptions merchant its own subcategory (blank ones only) so each can be budgeted individually. |
| save_briefA | Save a composed brief markdown to data/briefings/.md (period = YYYY-MM | 'all' | 'lastN'). |
| budget_overviewB | Spend vs budget per category for a month (over-budget flagged; floor categories like Investments flip the comparison — under-target is flagged instead of over-budget). |
| income_by_sourceC | Income grouped by source for a month. |
| income_transactionsC | Income transactions for a given source (+ optional month). |
| subcategory_breakdownB | Spend by subcategory within a category for a month. |
| insightsA | Deterministic 'ways to save' for a month (over-budget, biggest discretionary, subscriptions; floor categories like Investments falling short of target are flagged separately as 'under target' — add more, not a cut). |
| monthly_trendB | Spend + income per month (most recent N, oldest-first). |
| render_reportA | Render the month's visual report PDF (stat row, spend-vs-budget chart, trend, flags) deterministically to reports/budget-report-.pdf. period is YYYY-MM; optional narrative is a short plain-text paragraph placed under the headline. Writes a local file — confirm with the user before calling. |
| list_categoriesA | The assignable category vocabulary: every category's exact name, kind (spend/structural), floor-vs-ceiling direction, and custom flag. Call this before any category write — set_merchant_category / set_txn_category / set_budget_limit require an EXACT name from this list. |
| review_queueB | The categorization review queue: uncategorized merchants + individual checks to review. |
| open_conflictsA | Open (unresolved) import conflicts to reconcile (advisory; resolve via the CLI). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/natejswenson/local-budget'
If you have feedback or need assistance with the MCP directory API, please join our Discord server