Skip to main content
Glama
jamiew

Monarch Money MCP Server

by jamiew

Analyze Spending Patterns

analyze_spending_patterns
Read-only

Summarize monthly spending trends, category expenses, account usage, and budget data over a chosen lookback period, with optional forecasting and full budget details.

Instructions

Summarize monthly trends, category expenses, account usage, and budget data.

Args: lookback_months: Months before today to include (default: 6). include_forecasting: Include average-based income and expense estimates. verbose: Include full budget details instead of monthly budget totals.

Requests one page of up to 2000 transactions, without pagination; analysis can be incomplete for larger periods. Forecasts average up to three month buckets in response order, not necessarily the latest three calendar months. The confidence label is fixed, not a statistical measure. Failed transaction or budget requests appear in errors; successful analysis sections remain available. metadata.transactions_truncated reports whether more transactions exist (null when unknown). Fetch narrower date ranges with get_transactions for detail.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
verboseNo
lookback_monthsNo
include_forecastingNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorsNo
verboseNo
forecastNo
metadataNo
account_usageNo
monthly_trendsNo
analysis_periodNo
category_analysisNo
budget_performanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.5.0
    • addedInput schema / properties / verbose
      Added value: +{
      +  "default": false,
      +  "title": "Verbose",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / errors
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "title": "Errors",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verbose
      Added value: +{
      +  "default": false,
      +  "title": "Verbose",
      +  "type": "boolean"
      +}
  2. First observedv0.3.2

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries important behavioral disclosure. It reveals significant non-obvious traits: no pagination, up to 2000 transactions, potential incompleteness, forecast buckets in response order rather than calendar order, fixed confidence labels, partial error behavior, and metadata.transactions_truncated. This goes well beyond the annotations and is exactly the kind of context agents need.

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 well structured: a one-sentence purpose statement, a compact Args block, and then dense but relevant behavioral caveats. No sentence is wasted, and the critical limitations are grouped clearly. The length is justified by the operational importance of the caveats.

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?

With an output schema present, return values are already documented, so the description focuses on invocation semantics. It covers parameter meaning, data limits, error behavior, truncation signaling, and provides a pointer to get_transactions for narrower detail. This is complete for safe and correct use of the tool.

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?

Schema description coverage is 0%, so the description must compensate for all parameters. The Args section does this thoroughly for all three: lookback_months specifies the window and default, include_forecasting explains the estimate type, and verbose clarifies full budget details vs monthly totals. This adds real meaning beyond the bare schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Summarize monthly trends, category expenses, account usage, and budget data.' This clearly states what the tool does and its scope. It does not explicitly differentiate itself from sibling analysis tools like get_spending_summary, so it falls short of a perfect 5.

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 on when this tool is appropriate, noting that it uses only one page of up to 2000 transactions and can be incomplete for larger periods. It also gives an explicit alternative: 'Fetch narrower date ranges with get_transactions for detail.' It does not fully enumerate when-not-to-use cases versus other analysis siblings, so a 4 is appropriate.

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