Skip to main content
Glama

Hundo

propose_saved_insight

Propose pinning a filtered insight to the user's Saved Insights tab. Returns a proposal id; to record it, call the confirm_proposal tool with the returned proposalId after the user approves (there is no UI button or proposal card to click in this context).

MCP note: this tool only CREATES a pending proposal; nothing is recorded until confirm_proposal is called.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specYesThe visualization spec. vizType is one of: 'value' (single number), 'comparison' (template income_vs_expense / period_over_period, or custom A/B), 'chart_time' (bucketed time series), 'breakdown' (top groups by category/envelope/account/type), 'table' (list of N transactions). Always set the filter.period - use relative.value='this_month' / 'last_30_days' etc. unless the user gave explicit dates.
titleYesShort user-facing label for the pinned insight, e.g. 'Expenses this month excluding Investment' or 'Dating spending over 6 months'.
editsProposalIdNoId of an existing pending saved-insight proposal to update in place. Pass this when the user asks to adjust a proposal you previously made (e.g. 'exclude Dining too'). Use listPendingProposals if unsure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / spec / description
      Previous value: -"The visualization spec. vizType is one of: 'value' (single number), 'comparison' (template income_vs_expense / period_over_period, or custom A/B), 'chart_time' (bucketed time series), 'breakdown' (top groups by category/envelope/account/type), 'table' (list of N transactions). Always set the filter.period — use relative.value='this_month' / 'last_30_days' etc. unless the user gave explicit dates."New value: +"The visualization spec. vizType is one of: 'value' (single number), 'comparison' (template income_vs_expense / period_over_period, or custom A/B), 'chart_time' (bucketed time series), 'breakdown' (top groups by category/envelope/account/type), 'table' (list of N transactions). Always set the filter.period - use relative.value='this_month' / 'last_30_days' etc. unless the user gave explicit dates."
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With all annotations false, the description carries the full behavioral burden, and it delivers: it discloses the two-phase side-effect boundary ('only CREATES a pending proposal; nothing is recorded until confirm_proposal is called'), the return value (proposal id), and the no-UI context that forces the agent to complete the confirmation itself. This is exactly the critical behavioral context that annotations cannot express.

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?

Three sentences, each earning its place: purpose, then the confirm_proposal workflow with the critical no-UI caveat, then a deliberately emphasized MCP note reinforcing that nothing is recorded. The slight redundancy of the final note is justified given the high cost of an agent assuming the insight was saved after only this call.

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?

Despite the complex spec schema and no output schema, the combination is complete: the schema's parameter descriptions handle spec construction, the description handles the proposal lifecycle, the return shape (proposalId) is disclosed, and the follow-up tool is named. An agent has everything needed to call it correctly and know what happens next.

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 baseline of 3 applies even though the tool description adds no parameter-level detail. The schema's own descriptions are genuinely strong — the spec description enumerates all five vizTypes with guidance to always set filter.period, the title gives concrete examples, and editsProposalId explains update-in-place semantics and routes to listPendingProposals — but the description text itself contributes nothing extra for 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 states a specific action verb ('Propose pinning'), a clear resource ('filtered insight to the user's Saved Insights tab'), and immediately distinguishes the tool from its sibling confirm_proposal by framing it as the pending-proposal half of a two-phase flow. It is unambiguous against the other propose_* siblings and against get_saved_insights, which is a separate read operation.

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 gives explicit workflow guidance: call this to get a proposalId, then call confirm_proposal after the user approves, with a note that no UI button exists to click in this context. It does not explicitly state when-not-to-use alternatives (e.g., that queries should go to run_insight_query), but the propose-vs-confirm lifecycle is so clearly routed that the essential usage decision needs no inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources