finance-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLAID_ENV | No | Plaid environment: sandbox, development, or production | sandbox |
| PLAID_SECRET | Yes | Your Plaid secret | |
| PLAID_CLIENT_ID | Yes | Your Plaid client ID | |
| FINANCE_MCP_VAULT_PATH | No | Path to your Obsidian vault | |
| FINANCE_MCP_FINANCE_FOLDER | No | Folder inside vault for finance data |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| link_startA | Start linking a new institution. Returns a Plaid link_token the user completes in their browser, then calls link_complete with the public_token. |
| link_completeA | Exchange a public_token (from completed Plaid Link) for a permanent access_token. Stores token in macOS Keychain. Caches institution + accounts metadata in SQLite. |
| list_linkedA | List all linked institutions with their last-sync timestamps and keychain status. Does NOT return any access tokens. |
| unlinkA | Remove a linked institution. Revokes the Plaid item, deletes the keychain entry, and clears local SQLite state. |
| sync_balancesA | Pull current balances for all linked institutions (or one specific alias) and write the auto-sync block in Accounts.md. |
| sync_holdingsA | Pull investment holdings (stocks, ETFs, mutual funds, bonds) and write the auto-sync block in Investments.md. Skipped silently for institutions that don't support the Plaid investments product (most checking-only banks). |
| sync_transactionsA | Cursor-based transaction sync. First run pulls historical; subsequent
runs pull only the delta. Stores raw transactions in SQLite. Use
|
| sync_liabilitiesA | Pull credit-card APRs, minimums, statement balances, and student-loan payoff info. Skipped silently for institutions that don't support the Plaid liabilities product. |
| sync_allB | Convenience: balances + holdings + liabilities + transactions in sequence. Use this for daily / on-demand full refresh. |
| rollup_monthB | Compute income / expense / by-category totals for a given YYYY-MM from the SQLite transaction store, then write the auto-sync block in Cash Flow.md. |
| healthcheckA | Verify the MCP's runtime config: Plaid creds, vault path, finance folder, keychain access, SQLite state. Returns a green/yellow/red summary with explicit blockers if any. |
| audit_tailA | Return the last N audit-log entries. Every Plaid call and every keychain operation is recorded. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool has a clearly distinct purpose: sync operations for different data types, monthly rollups, institution linking, health checks, audit logs, and unlink. No overlap or ambiguity.
Tool names consistently follow a verb_noun pattern (e.g., sync_transactions, rollup_month, link_start). Even single-word names like healthcheck fit the pattern (verb as noun). No mixing of conventions.
12 tools is well-scoped for a finance management server covering syncing, monthly rollups, institution linking, healthchecks, and audit logs. Each tool earns its place without redundancy.
The set covers core lifecycle: link, sync (transactions, balances, holdings, liabilities), rollup, unlink, healthcheck, audit. Minor gaps: no tool for manual transaction editing or single-institution transaction sync, but the domain is well-covered overall.