An MCP server for tracking and managing expenses with SQLite database backend
ExpenseTracker has three tools with visible schemas and descriptions, but quality is significantly below production baseline. Tool descriptions are written in Hindi-English mix (e.g., 'Claude is tool ko use karke...') which is unprofessional and unclear for LLM parsing. Descriptions lack actionable detail about when to use each tool vs. alternatives. Parameter descriptions are minimal (e.g., 'Date of the expense' with no format guidance). No output schemas documented. No error handling guidance. No input validation hints. Tool names are acceptable (add_expense, list_expenses, summarize) but descriptions fail to explain dependencies or expected formats. The 'summarize' tool's category parameter defaults to null but lacks clarity on behavior when omitted.
Claude is tool ko use karke naya expense database me add kar sakta hai. Example: 'Today I spent ₹200 on food' -> Claude add_expense call karega.
Claude is tool se given date range ke expenses dekh sakta hai. Example: 'Show my expenses for June 2026' -> Claude list_expenses call karega.
Claude is tool se expense summary generate kar sakta hai. Example: 'How much did I spend on Food this month?' -> Claude summarize call karega.
Tool descriptions are written in mixed Hindi-English ('Claude is tool ko use karke...') instead of clear, professional English. LLMs cannot reliably parse intent from non-English descriptions, causing tool selection failures.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., expense ID from add_expense, category totals from summarize). Responses are unstructured.
Date parameters lack format specification. Descriptions say 'Date of the expense' but do not specify ISO 8601, YYYY-MM-DD, or other format. LLMs will guess and pass invalid formats.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. If date parsing fails, SQL query returns no results, or category is invalid, the tool returns raw errors or empty lists. LLM has no recovery path.
list_expenses and summarize lack pagination support. No limit, offset, or cursor parameters. Returning all expenses for a year could blow context window.