Skip to main content
Glama
JosueM1109

personal-finance-mcp

Search Transactions

search_transactions
Read-only

Find specific transactions by searching merchant names, transaction descriptions, and counterparty details within a date range to track personal finance activity.

Instructions

Search transactions by keyword across merchant, name, and counterparty names.

Fetches transactions in [start_date, end_date] and filters them with a case-insensitive substring match against:

  • merchant_name

  • name

  • counterparties[].name

The match is performed on the raw Plaid payload before shaping so that counterparty names (which are dropped by shape_transaction) are searchable. Dates are ISO YYYY-MM-DD. The window is clipped to ~2 years and a WINDOW_CLIPPED warning is emitted when applicable.

Returns: {"transactions": [...], "warnings": [...]}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
start_dateYes
end_dateYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

The description adds substantial behavioral context beyond the readOnlyHint annotation. It explains the search logic (case-insensitive substring match), date format requirements (ISO YYYY-MM-DD), window clipping behavior (~2 years limit with WARNING emission), and that it searches raw Plaid payload data to include counterparty names that would otherwise be dropped. This provides crucial operational details not captured in annotations.

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?

The description is efficiently structured with zero wasted sentences. Each sentence adds critical information: search scope, matching logic, date handling, behavioral constraints, and return format. The information is front-loaded with the core purpose immediately clear.

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

Completeness5/5

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

Given the tool's complexity (search with multiple match fields, date clipping, special payload handling) and the presence of an output schema, the description provides excellent completeness. It explains the search logic, date constraints, behavioral warnings, and return structure, making the tool's operation fully understandable without needing to reference the output schema for basic understanding.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining all three parameters: 'query' is for keyword search across specified fields, 'start_date' and 'end_date' define the date range with ISO format requirement. It also clarifies the inclusive date range notation [start_date, end_date] and the clipping behavior that affects these parameters.

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 clearly states the specific action ('Search transactions by keyword') and resource ('transactions'), with explicit scope ('across merchant, name, and counterparty names'). It distinguishes this tool from siblings like 'get_transactions' by emphasizing keyword search functionality rather than simple retrieval.

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?

The description provides clear context for when to use this tool: when searching transactions by keyword across specific fields. However, it doesn't explicitly state when NOT to use it or name alternatives among sibling tools (like when to use 'get_transactions' instead for unfiltered retrieval).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JosueM1109/personal-finance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server