MCP server providing tools for financial transaction management, carbon footprint analysis, and sustainable spending tracking via the Bunq API
Server has 7 tools with significant definition gaps. Tool names follow verb_noun convention (good), but descriptions vary widely in quality and completeness. Most critical: 3 tools (estimate_carbon_footprint, improve_carbon_footprint, analyse_spending_patterns) lack proper input schema visibility in source code, only inferred from docstrings. Parameter descriptions are present but often generic. No output schemas documented. Error handling is minimal. Security concerns: request_money_from_sugar_daddy and send_money_between_accounts are WRITE/IRREVERSIBLE operations with no confirmation pattern or dry-run support.
This function prepares instructions for a financial assistant to examine spending behavior based on categorized transaction data from the past 20 days. The analysis focuses on identifying major expense areas, detecting spending patterns, and recommending actionable savings strategies.
Creates a new monetary bank account via the API. This tool uses the `MonetaryAccountBankApiObject.create` method to provision a new bank account associated with the user's profile. The account will be created with the specified currency and will use the provided `account_name` as its description.
Calculates carbon footprint metrics from transaction data and determines sustainability zone. This function analyzes financial records to estimate their environmental impact by: 1. Categorizing spending into predefined CO₂ categories 2. Applying carbon intensity factors to each category (kg CO₂ per €) 3. Computing total carbon emissions and carbon efficiency metrics 4. Determining a sustainability zone (Green, Yellow, or Red)
Retrieves transaction history formatted similarly to Bunq API responses. Designed to provide transaction data for applications integrating with Bunq. Returns a list of transactions covering a recent period. Use this function when transaction data corresponding to a Bunq monetary account is required by the user or application logic.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. Violates pattern:tool and pattern:response-shaper.
Irreversible financial operations (send_money_between_accounts, request_money_from_sugar_daddy) lack confirmation or dry-run pattern. Agents can execute destructive transfers without user approval.
get_transactions_bunq accepts only 'user_prompt' (free-form string) with no schema constraints. No pagination parameters (limit, offset, cursor) despite returning potentially large transaction lists. Violates pattern:paginated-result.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Generates what the user could do to improve his carbon footprint by personalized donation recommendations and carbon offset impact information based on the user's spending patterns and carbon footprint analysis.
Sends a money request for a fixed amount (300) to '[email protected]'. This tool uses the RequestInquiryApiObject to create a specific money request via the bunq API. The request is always for 300 units of the specified currency and is always sent to the email address '[email protected]' with the name 'Sugar Daddy'. It does not allow creating a public bunq.me payment link (`allow_bunqme=False`).
Sends a specified amount of money from one monetary account to another. This function facilitates transferring funds between two accounts owned by the user, identifying them by their 'description' names. It performs the following steps: 1. Fetches a list of the user's monetary accounts using the MonetaryAccountBankApiObject. 2. Finds the account IDs corresponding to the provided `from_account_name` and `to_account_name` by matching their 'description' attributes. 3. Retrieves the full details of the destination account (`to_account_name`) to find its IBAN alias. 4. Creates a payment request using the PaymentApiObject, transferring the specified `amount` from the `from_account_id` to the `to_account_name`'s IBAN.
Three tools (estimate_carbon_footprint, improve_carbon_footprint, analyse_spending_patterns) have input schemas visible only in docstrings, not in explicit tool registration. Cannot verify actual schema enforcement at runtime.
No error handling guidance. Tools return raw API responses or exceptions without actionable recovery hints. Violates pattern:recovery-guide and pattern:error-classification.