Wallet BudgetBakers MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TRANSPORT | No | Transport mode for the server. 'streamable-http' for HTTP mode; defaults to stdio if not set. | stdio |
| WALLET_API_TOKEN | Yes | Your Wallet by BudgetBakers API token (from https://web.budgetbakers.com/settings/apiTokens) |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_accountsA | Get all financial accounts (bank accounts, cash, cards, etc.). Use this first to discover account IDs — you'll need them for get_records(). Args: ctx: MCP context limit: Items per page (1-100, default 30) offset: Items to skip for pagination account_id: Filter by exact account ID name: Filter by account name (use prefix: eq., contains., contains-i.) account_type: Filter by type (e.g. general, loan, insurance) currency_code: Filter by ISO currency code (e.g. UAH, USD, EUR) bank_account_number: Filter by bank account number created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_recordsA | Get financial records (transactions) for a specific account. IMPORTANT: account_id is required. Use get_accounts() first to find it. Max date range is 370 days. If no date filter, returns last 3 months. Date filter examples:
Amount filter examples:
Text filter prefixes: eq., contains., contains-i. Args: ctx: MCP context account_id: Required. Account ID (use get_accounts to find IDs) record_date: Date range filter with prefix (e.g. "gte.2025-01-01") limit: Items per page (1-100, default 30) offset: Items to skip for pagination category_id: Filter by category ID label_id: Filter by label ID note: Filter by note text (use prefix: contains-i.grocery) payee: Filter expenses by payee (use prefix: contains-i.amazon) payer: Filter income by payer amount: Filter by amount (use prefix: gte.100,lte.500) record_type: Filter by type: income or expense. Transfers are not a separate type — they are identified by transferId/transferAccountId fields in the response sort_by: Sort field and direction (e.g. "recordDate,asc" or "amount,desc") created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_records_by_idA | Get specific records by their IDs (comma-separated, max 30). Args: ctx: MCP context record_ids: Comma-separated record IDs (e.g. "id1,id2,id3") |
| get_categoriesA | Get spending/income categories. Categories are organized hierarchically (parent -> children). Use category IDs to filter records by category. Args: ctx: MCP context limit: Items per page (1-100, default 50) offset: Items to skip category_id: Filter by exact category ID name: Filter by name (use prefix: contains-i.food) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_budgetsA | Get all budgets with their limits, spent amounts, and periods. Args: ctx: MCP context limit: Items per page (1-100, default 30) offset: Items to skip budget_id: Filter by exact budget ID name: Filter by budget name (use prefix: eq., contains., contains-i.) currency_code: Filter by currency (e.g. UAH, USD) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_goalsA | Get all savings goals with current/target amounts and deadlines. Args: ctx: MCP context limit: Items per page (1-100, default 30) offset: Items to skip goal_id: Filter by exact goal ID name: Filter by goal name (use prefix: eq., contains., contains-i.) note: Filter by note text (use prefix: contains-i.vacation) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_labelsA | Get custom labels (tags) used to organize records. Args: ctx: MCP context limit: Items per page (1-100, default 50) offset: Items to skip label_id: Filter by exact label ID name: Filter by label name (use prefix: eq., contains., contains-i.) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_standing_ordersA | Get recurring/scheduled payments (standing orders). Shows planned future transactions: bills, subscriptions, salary, etc. Args: ctx: MCP context limit: Items per page (1-100, default 30) offset: Items to skip standing_order_id: Filter by exact standing order ID name: Filter by name (use prefix: eq., contains., contains-i.) currency_code: Filter by ISO currency code (e.g. UAH, USD, EUR) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_record_rulesA | Get auto-categorization rules for records. These rules automatically assign categories/labels to matching transactions. Args: ctx: MCP context limit: Items per page (1-100, default 30) offset: Items to skip rule_id: Filter by exact rule ID name: Filter by rule name (use prefix: eq., contains., contains-i.) created_at: Filter by creation date (e.g. "gte.2025-01-01") updated_at: Filter by last update date (e.g. "gte.2025-01-01") |
| get_api_usageB | Get API usage statistics. Args: ctx: MCP context period: Time period — format is Xdays, Xweeks, or Xmonths (e.g. "30days", "4weeks", "3months") |
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 10 tools
Each tool targets a distinct resource (accounts, records, categories, budgets, goals, labels, standing orders, rules, API usage). The only potential overlap is get_records vs get_records_by_id, but the latter explicitly retrieves by IDs, making the distinction clear.
All tools follow the get_<resource> pattern with consistent snake_case. The sole variation, get_records_by_id, still adheres to the overall convention and is predictable.
10 tools is well-scoped for a read-only financial data API, covering all major entities without unnecessary bloat or missing core resources.
The tool set provides comprehensive read-only coverage of the budgeting domain: accounts, transactions, categories, budgets, goals, labels, standing orders, rules, and API usage. No obvious gaps exist for querying financial data, and filters allow for detailed retrieval.