Skip to main content
Glama

Senaro Personal Finance

Opportunity Cost Calculator

calculate_opportunity_cost
Read-onlyIdempotent

Calculation, not advice. Verify with a professional before acting. Calculate the true cost of recurring spending by showing what that money would be worth if invested. The response includes chart_hints with rendering directives any client can use. The senaro-charts MCP server renders them locally over stdio only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolArgumentsYesJSON object with these parameters: monthly_spending: decimal, at least 0.01 (REQUIRED). The opportunity cost of spending $0 is degenerate and is rejected. annual_return_pct: decimal 0-100 as percentage, e.g. 8 not 0.08, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1 (REQUIRED) years: int > 0 (REQUIRED) label: string (optional). e.g. 'coffee' or 'streaming subscriptions' tax_bracket_pct: decimal 0-100 (optional) chart_title: string (optional) override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare the safe-read profile (readOnlyHint=true, idempotentHint=true, openWorldHint=false), so the safety burden is covered. The description adds genuinely non-obvious behavioral context: the response carries `chart_hints` rendering directives and depends on the `senaro-charts` MCP server rendering locally over stdio. That dependency and output-contract disclosure is real value beyond the structured fields.

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

Conciseness4/5

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

Four compact sentences with no redundancy. The lead is a disclaimer rather than the purpose, which slightly delays the front-loaded statement of what the tool does, but otherwise every sentence earns its place.

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?

With no output schema, the description partially compensates by disclosing the `chart_hints` return element and the rendering server dependency. It does not describe the core numeric result, but for a single-argument calculator whose nested schema is fully documented, the coverage is adequate.

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%, and the nested `toolArguments` object documents every parameter with types, constraints, and examples (e.g., annual_return_pct as an effective annual rate, monthly compounding formula, chart_title character limits). The description adds nothing to parameter meaning, so the baseline of 3 applies.

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 gives a specific verb and resource: 'Calculate the true cost of recurring spending by showing what that money would be worth if invested.' This is clear and concrete. However, it does not differentiate from closely related siblings such as compound_interest, payoff_vs_invest, or compare_strategies, so an agent must reason about which one applies.

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

Usage Guidelines2/5

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

The only context is a disclaimer ('Calculation, not advice. Verify with a professional before acting'), which is not usage guidance. There is no statement of when to use this vs. compound_interest or payoff_vs_invest, and no exclusions or prerequisites beyond what the schema's required fields imply.

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