Skip to main content
Glama
mhopareprathmesh5-creator

expense-tracker-mcp

list_expenses

Get itemized expense records sorted newest first; filter by category, start date, end date, or limit to see exactly what you spent.

Instructions

List individual expenses, newest first.

All filters are optional; with none set this returns the most recent expenses. Use summarize instead when you want totals rather than rows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows to return.
categoryNoOnly return expenses in this category.
end_dateNoLatest date to include, inclusive, YYYY-MM-DD.
start_dateNoEarliest date to include, inclusive, YYYY-MM-DD.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses ordering ('newest first'), return granularity ('individual expenses' as rows), and default filtering behavior. While it does not explicitly state read-only semantics, 'List' strongly implies a non-mutating operation, and the output schema covers return structure.

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

Conciseness5/5

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

Two tight sentences with no wasted words. The core purpose and ordering are front-loaded, followed by filter semantics and the alternative-tool pointer.

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?

For a simple list tool with a rich schema and output schema, the description covers purpose, behavior, defaults, and the main sibling distinction. It does not discuss pagination beyond the `limit` parameter, but that is documented in the schema and not a significant gap here.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter and its meaning. The description adds useful high-level context about filters being optional and the default result set, but does not need to compensate for any parameter-schema gaps.

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?

The description states a specific verb and resource ('List individual expenses') plus a clear ordering ('newest first'), and explicitly differentiates itself from the sibling `summarize` by contrasting rows vs. totals. An agent can tell exactly what this tool does without opening the schema.

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

Usage Guidelines5/5

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

It explicitly says all filters are optional and describes the default behavior when none are set. It also names the alternative tool (`summarize`) and the condition for choosing it ('when you want totals rather than rows'), giving clear when-to-use guidance.

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