finance-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FINANCE_MCP_HOME | No | Override directory for access URL and transaction cache (default: ~/.finance-mcp). | |
| SIMPLEFIN_ACCESS_URL | No | The SimpleFIN access URL (overrides saved file if set). It embeds Basic-Auth credentials to read transactions. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List cached accounts with balances and the institution each belongs to. |
| account_balancesA | Return just the balance and as-of date for each cached account. |
| get_transactionsA | Query cached transactions. Dates are YYYY-MM-DD. Amounts are signed (negative = money out), so use
|
| spending_summaryA | Aggregate net spending over a date range, grouped for budgeting.
Per group,
|
| net_worth_historyA | Total balance across all accounts per as-of date, from the archive. Each sync records a balance snapshot, so this builds a net-worth trend over time (oldest first). Loan/credit balances are negative, so the total is true net worth. |
| archive_statsA | Report archive size and date coverage (transaction count, earliest/latest). |
| categorization_statusB | Report category coverage and the breakdown of transactions per category. |
| list_category_rulesB | List the category rules (pattern -> category) currently in effect. |
| add_category_ruleA | Add a category rule: a merchant match (+ optional predicates) -> category.
The merchant match defaults to a case-insensitive substring; set
|
| remove_category_ruleC | Delete a category rule by its id. |
| set_transaction_categoryA | Pin a category to a single transaction. Manual overrides win over every rule and survive re-syncs, so use this to fix a one-off that the rules get wrong. |
| sync_nowA | Pull fresh data from SimpleFIN into the cache (network call). Respect SimpleFIN's ~24 requests/day budget: a sync of >89 days makes one request per ~89-day window. Returns a summary including any SimpleFIN errors. |
| budget_burndownA | Per-envelope planned target vs. actual spend for one Reads the budget config and the categorized archive. Returns each envelope's target, actual spend, and remaining (negative = over budget), plus unmapped spend on accounts in no envelope so nothing is silently dropped. |
| budget_forecastA | Per-envelope sufficiency over a window: will each cover its upcoming bills. Dates are YYYY-MM-DD. |
| allocation_audit_reportA | Audit each scheduled transfer: did it fire on time, late, early, or not at all. Dates are YYYY-MM-DD; |
| red_flags_reportA | Loud alerts for debt payments that were returned or missed.
|
| subscription_audit_reportA | Flag tracked bills that did not post (billing problem / cancellation) and surface untracked recurring merchants as candidates for the assistant to judge. Dates are YYYY-MM-DD; |
| subscriptions_detectA | Detect recurring charges from history and save them as tracked bills. Scans the archive for merchants with repeated, same-amount, monthly-spaced
debits and writes each as a |
| subscriptions_markA | Mark a tracked recurring bill as canceling, canceled, or active again. The cancellation watch: after you cancel (or try to cancel) a subscription,
record it here so the audit stops reporting its expected charges as missing
and instead warns you if it charges again. |
| reconcile_transfersA | Rebuild internal-transfer links from the archive (idempotent). Re-runs the matcher over the categorized archive and persists the links,
preserving every confirmed link and recomputing the rest. Returns counts of
inferred / needs-confirm / unmatched links plus promotions and downgrades.
Run this after a sync so |
| list_transfersA | List reconstructed transfer links as The raw feed names only the product type a transfer went to, never the named
account; each link here recovers the hidden counterparty and records why it was
drawn. |
| confirm_transferA | Confirm one transfer link by id, locking the pairing as authoritative. A confirmed link is excluded from every future reconcile, so the user's decision is never silently recomputed. Only a two-leg link can be confirmed; confirming an unmatched single leg is rejected. Returns the updated link or an error. |
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
- 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/dfrysinger/finance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server