Skip to main content
Glama
natejswenson

local-budget

by natejswenson

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOCAL_BUDGET_API_TOKENNoOptional 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

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 transactions table (columns: posted_date, amount_cents, status, category, subcategory, category_source, merchant_norm, txn_type, txn_id, account_id). Rows of ALL statuses are visible — add WHERE status='posted' to match the spend tools. No writes, no ATTACH; PII columns (raw_ofx, payee, memo, acct_hash) are read-blocked by the authorizer — merchant_norm is the only merchant text.

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 budget amazon sync to have run.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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