Skip to main content
Glama
akutishevsky

LunchMoney MCP Server

get_transactions

Read-only

Retrieve financial transactions filtered by date range, account, category, and more. Supports pagination and excludes pending or split transactions by default.

Instructions

Retrieve transactions, optionally filtered by date range, account, category, tag, recurring item, status, and more. Returns at most limit transactions (default 1000, max 2000); has_more is set on the response when more match the filters. Pending and split-parent / group-child transactions are excluded by default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_dateNoBeginning of the date range. Required if end_date is set.
end_dateNoEnd of the date range. Required if start_date is set.
created_sinceNoOnly return transactions created after this timestamp.
updated_sinceNoOnly return transactions updated after this timestamp.
manual_account_idNoFilter by manual account ID, or 0 to omit all manual-account transactions.
plaid_account_idNoFilter by Plaid account ID, or 0 to omit all Plaid-account transactions.
recurring_idNo
category_idNoFilter by category ID. 0 returns only un-categorized transactions. Matches both leaf categories and category groups.
tag_idNo
is_group_parentNoIf true, returns only transaction groups (group parents).
statusNo
is_pendingNoFilter by pending status. Takes precedence over include_pending when set.
include_pendingNoInclude imported pending transactions in results.
include_metadataNoInclude plaid_metadata and custom_metadata fields on each transaction.
include_split_parentsNoInclude the original parent transactions of split transactions.
include_group_childrenNoInclude the original transactions that were combined into transaction groups.
include_childrenNoPopulate the `children` array on group/split parent transactions.
include_filesNoInclude the `files` array (attachment metadata) on each transaction.
limitNoMax transactions to return (1-2000, default 1000).
offsetNoOffset for pagination. Use with `has_more` from a previous response.
Behavior5/5

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

Annotations already declare readOnlyHint=true. The description adds critical behavioral details: pagination behavior (limit, has_more, offset), default exclusions (pending, split-parents, group-children), and that include_* flags can override. No contradictions.

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 sentences: first lists filter options, second explains pagination and default exclusions. Efficient, front-loaded, no wasted words.

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 retrieval tool with 20 parameters and no output schema, the description covers pagination, default filters, and override flags. It could mention the response format (e.g., array of transaction objects) but is otherwise complete.

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 coverage is 85%, so the schema already documents most parameters. The description summarizes filter types (e.g., 'date range, account, category, tag') but does not add meaningful details beyond what the schema descriptions provide, e.g., no explanation of the 'status' enum values.

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 'Retrieve transactions' and enumerates numerous filtering dimensions (date, account, category, etc.), distinguishing it from siblings like get_single_transaction or create_transactions.

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 explains optional filters, default limit, and that pending/split-group exclusions apply by default. It does not explicitly contrast with sibling tools (e.g., get_single_transaction) but provides enough context for when to use this tool.

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/akutishevsky/lunchmoney-mcp'

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