An MCP server for tracking and managing expenses with SQLite database backend. Supports adding expenses, listing them within date ranges, and summarizing by category.
This expense tracker server has three clearly named tools with appropriate verb-based naming (add_expense, list_expenses, summarize). Tool descriptions are present but generic. Input schemas are visible and mostly complete with type information. However, parameter descriptions are minimal, output schemas are not documented, and error handling is absent. The server demonstrates basic competence but lacks production-grade polish in documentation and resilience.
Add a new expense entry to the database.
List expense entries within an inclusive date range.
Summarize expenses by category within an inclusive date range.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields from responses.
list_expenses and summarize have no pagination support and no result limit enforcement. Could return thousands of rows, exhausting context window.
No error handling or recovery guidance. Failures (invalid date, DB error, malformed input) return nothing actionable to the LLM.
'category' parameter in add_expense has no enum constraint. LLM cannot know valid category values without calling list_expenses first.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Date parameters lack ISO 8601 format specification. LLM may pass dates in various formats (MM/DD/YYYY, 'Jan 1', timestamps).
Tool descriptions are generic and lack guidance on tool selection. LLM cannot distinguish when to call list_expenses vs summarize.
No input validation or error messages. Passing invalid date, negative amount, or invalid category fails silently or with unhelpful error.