Skip to main content
Glama
bharat-mcp

bharat-mcp

by nansa1

Analyse bank statement

analyze_bank_statement
Read-onlyIdempotent

Parse Indian bank statement PDFs or CSVs locally to categorize spending and track monthly cash flow, top payees, largest spends, recurring payments, subscriptions, and UPI usage.

Instructions

Analyse an Indian bank statement locally: spending by category (food delivery, groceries, travel, bills, EMI, investments...), month-by-month in/out, top payees, largest spends, recurring payments and subscriptions, and UPI usage. Provide file_path to a PDF or CSV statement from net banking (SBI, HDFC, ICICI, Axis, Kotak and other layouts are detected automatically; password-protected PDFs need password), or pass transactions directly. Every PDF row is checked against the running balance. Data never leaves the computer.

Input Schema

NameRequiredDescriptionDefault
toNoOnly include transactions on/before this date (YYYY-MM-DD)
fromNoOnly include transactions on/after this date (YYYY-MM-DD)
top_nNo
passwordNoPDF password, if the statement is password-protected. Ask the user; never guess it.
file_pathNoPath to a PDF or CSV statement
transactionsNoRows to analyse if there is no readable file (e.g. a scanned statement you read yourself)
include_transactionsNoAlso return every transaction (can be long)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, closed-world), so the bar is lower, and the description still adds real behavior: processing happens locally ('data never leaves the computer'), passwords are user-supplied and must never be guessed, bank layouts are auto-detected, every PDF row is validated against the running balance, and `include_transactions` can produce long output. Only the failure behavior for an unreadable/unparseable file is left implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the analysis produces, then input modes. The category list in parentheses is slightly long but earns its place by previewing the output shape. No filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing returns, and it does so by naming each report section, plus it discloses the input alternatives for a zero-required-parameter tool. The one gap is what happens if neither `file_path` nor `transactions` is supplied, which an agent would have to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 86%, so baseline is 3, but the description adds meaning beyond the schema: `file_path` accepts net-banking exports from named banks with automatic layout detection, `password` is specifically for protected PDFs and must come from the user, and `transactions` is the alternate path for statements the agent has read itself. `from`/`to`/`top_n` are left to the schema, which documents them adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (analyse) and resource (Indian bank statement) and enumerates the concrete outputs: category spending, monthly in/out, top payees, largest spends, recurring payments, UPI usage. This clearly separates it from the sibling convert_bank_statement, which does conversion rather than analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two input modes explicitly — provide `file_path` for a PDF/CSV from net banking, or pass `transactions` directly when there is no readable file (e.g. a scanned statement). It also states the password requirement for protected PDFs. It lacks an explicit 'use this instead of convert_bank_statement when...' routing statement, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.