Banking Assistant (Metabind demo)
by metabind.ai · remote · no sign-in to list tools · v0.0.17 · published by ai.metabind
Demo personal-finance MCP App: spending, subscriptions, and net worth as interactive UI.
9 tools: 4 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http banking-assistant https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFlTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 4Claude Code: ask
net_worth_trendRender net_worth_trend: Net worth: current total, change over the period, a trend chart, and the account balances behind it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Render net_worth_trend: Net worth: current total, change over the period, a trend chart, and the account balances behind it. It loads its own data. To compare periods against each other pass chartStyle:'bar' plus groupBy ('year' for this-year-vs-last-year, 'month' for month-by-month) — each bar is that period's closing balance.
Annotations the server declares
- title: Net Worth Trend
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
spending_breakdownRender spending_breakdown: Spending split by category for a period: a composition bar plus a ranked category list.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Render spending_breakdown: Spending split by category for a period: a composition bar plus a ranked category list. It loads its own data — pass the period alone for the whole picture, which is what a broad 'where did my money go' question wants. Use highlight only on a follow-up about particular categories; it dims everything else, so on an opening question it hides most of the answer.
Annotations the server declares
- title: Spending Breakdown
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
subscriptionsRender subscriptions: Recurring charges: total monthly cost and a row per subscription with its cadence, next charge date, and New / price-increase flags.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Render subscriptions: Recurring charges: total monthly cost and a row per subscription with its cadence, next charge date, and New / price-increase flags. It loads its own data.
Annotations the server declares
- title: Subscriptions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
trend_cardRender trend_card: Any metric over time that has no dedicated card — one category's spend by month, a series you computed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Render trend_card: Any metric over time that has no dedicated card — one category's spend by month, a series you computed. Points are {label, value} in display order. Set upIsGood=false for cost-like metrics. Use chartStyle:'bar' whenever the user compares periods — month by month, or over the last 3/6/12 months; give each point a `series` name (repeating the label once per series) to stack them with a legend. Pass `items` to list the composition behind the number.
Annotations the server declares
- title: Trend Card
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 5Claude Code: allow
get_net_worthNet worth history + account balances.No findings
Why it is in this group
- The name "get_net_worth" says "get": a word for reading.
Description, as the server wrote it Net worth history + account balances. Numbers to reason with — to display, use net_worth_trend.
Annotations the server declares
- title: get_net_worth
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_spending_breakdownCategorized spending + prior-period comparison.No findings
Why it is in this group
- The name "get_spending_breakdown" says "get": a word for reading.
Description, as the server wrote it Categorized spending + prior-period comparison. Numbers to reason with — to display, use spending_breakdown.
Annotations the server declares
- title: get_spending_breakdown
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_subscriptionsRecurring-charge detection.No findings
Why it is in this group
- The name "get_subscriptions" says "get": a word for reading.
Description, as the server wrote it Recurring-charge detection. Numbers to reason with — to display, use the subscriptions card.
Annotations the server declares
- title: get_subscriptions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_transactionsRaw transactions by category or merchant, ~12 months of history.No findings
Why it is in this group
- The name "get_transactions" says "get": a word for reading.
Description, as the server wrote it Raw transactions by category or merchant, ~12 months of history. Numbers to reason with — to display, use transaction_list.
Annotations the server declares
- title: get_transactions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
transaction_listRender transaction_list: Individual purchases for a category or a merchant: the window total plus the matching transactions.No findings
Why it is in this group
- The name "transaction_list" says "list": a word for reading.
Description, as the server wrote it Render transaction_list: Individual purchases for a category or a merchant: the window total plus the matching transactions. It loads its own data. Plain terms like 'restaurants', 'groceries' or 'gas' resolve to categories; omit both filters for all spending. Do NOT use this when the user asks how much they spent over the last 3, 6 or 12 months — that is a period comparison, so use trend_card with chartStyle:'bar' instead.
Annotations the server declares
- title: Transaction List
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.0.17. Values in angle brackets are yours to fill in.
claude mcp add --transport http banking-assistant https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFlRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__banking-assistant__get_net_worth",
"mcp__banking-assistant__get_spending_breakdown",
"mcp__banking-assistant__get_subscriptions",
"mcp__banking-assistant__get_transactions",
"mcp__banking-assistant__transaction_list"
],
"ask": [
"mcp__banking-assistant__net_worth_trend",
"mcp__banking-assistant__spending_breakdown",
"mcp__banking-assistant__subscriptions",
"mcp__banking-assistant__trend_card"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as banking-assistant. Review it before you use it.