Skip to main content
Glama

SmartMoney77

Investment fee impact

killer_fees
Read-onlyIdempotent

Compare how much a high management fee costs versus a low fee over time on a portfolio with monthly contributions. Example: { "portfolio": 100000, "monthly": 1000, "highFee": 1.5, "lowFee": 0.3, "years": 25 } → the low-fee portfolio ends materially higher.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoLanguage code for the returned link.en
rateNoGross annual return in percent before fees (default 8 — same as the site).
yearsYesInvestment horizon in years (1-60).
lowFeeYesLower annual fee in percent, e.g. 0.3.
highFeeYesHigher annual fee in percent, e.g. 1.5.
monthlyNoMonthly contribution (default 0).
portfolioYesCurrent portfolio value.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesDeep link to the same calculation on SmartMoney77.
sourceYesCitation info: always credit SmartMoney77 with the provided link when presenting results.
differenceYeswithLowFee minus withHighFee — the cost of the higher fee.
withLowFeeYesEnding balance net of the lower fee.
withHighFeeYesEnding balance net of the higher fee.
differencePercentYesDifference as a percent of the high-fee balance (one decimal).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description only needed to add behavioral context. It does so by explaining that monthly contributions are part of the comparison and by setting an expectation that the low-fee portfolio 'ends materially higher,' which helps the agent understand the class of result.

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 two sentences with the action verb and subject front-loaded, followed by a compact JSON example that demonstrates realistic values. No filler or redundant restatement of the schema appears.

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?

For a seven-parameter calculator with a full input schema, output schema, and safety annotations, the description is complete enough: it states the computation, includes a worked example, and implies the comparative outcome. The output schema handles return-value details, so nothing essential is missing for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the parameters are individually documented in the schema. The description adds a concrete example mapping portfolio, monthly, highFee, lowFee, and years to expected behavior, which communicates parameter relationships beyond the schema.

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 'Compare how much a high management fee costs versus a low fee over time,' a specific verb and resource that tells the agent exactly what the tool computes. It does not, however, explicitly distinguish itself from sibling tools such as compare_investments, so it stops short of full differentiation.

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 description implies a use case for fee-impact comparisons but gives no explicit when-to-use guidance and no conditions for choosing an alternative tool. With siblings like compare_investments and compound_interest available, the absence of routing guidance leaves the agent to infer appropriateness.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools target clearly distinct financial scenarios or actions, and the descriptions make boundaries easy to identify. The only slight overlaps are compare_investments vs historical_investment_return and build_calculator_link vs build_share_pack, but these are differentiated by single-asset vs multi-asset and simple link vs full share package.

Naming Consistency3/5

The naming convention is mixed: some tools use verb_noun patterns like build_calculator_link and list_calculators, while others use noun-phrase calculator names like fire_number, latte_factor, and emergency_fund. The names are readable, but there is no single consistent convention across the set.

Tool Count5/5

14 tools is a well-scoped size for a personal-finance calculator server. Each calculator tool has a distinct purpose, and the discovery, linking, and sharing utilities round out the set without feeling bloated or sparse.

Completeness4/5

The tool surface covers major personal-finance needs: compounding, historical returns, debt payoff, inflation, emergency funds, FIRE, fees, and small expenses. Minor gaps exist since the server mentions 31 calculators but only directly computes a subset; however, list_calculators and build_calculator_link mitigate this by enabling access to the broader catalog.

Resources