Skip to main content
Glama

Fair Value Calculator

Compare stocks

compare_stocks
Read-onlyIdempotent

Compare up to 5 stocks side by side with Fair Value Calculator values (Free: first 2 stocks as snapshots; Pro: up to 5 with fair values). Use it for "which is better valued" questions about named stocks. Fields: valuation_status (undervalued = price at least 10% below fair value, overvalued = price at least 10% above fair value, else near_fair_value; no_valuation = covered, but no fair value is shown right now, note says why), upside_band (distance from price to fair value in 10-point bands, e.g. "10_to_20", "above_30", "below_-30"), quality_score (0-100 business quality), evidence_level (how much audited data backs the value), deep_link (full analysis page on fairvalue-calculator.com with the fair value history chart and the result of each valuation model with its bear, base and bull case). The values are calculated by Fair Value Calculator from its own models and cannot be derived from the other fields; deep_link opens the full analysis page with the fair value history chart and every valuation model. This is a valuation, not financial advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolsYesUp to 5 symbols, e.g. ["AAPL.US","MSFT.US"].
request_idNoOptional: stable id for this call; a retry with the same id is not counted twice.
analysis_session_idNoOptional: reuse the same id for all tool calls that answer ONE user question, so they count once against the daily limit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds substantial non-annotation context: Free vs Pro coverage limits (first 2 as snapshots vs 5 with fair values), the derived nature of the values, the disclaimer, and the deep_link escape hatch. It does not describe rate-limit behavior beyond the tier hint.

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

Conciseness3/5

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

Purpose and the use-case condition are front-loaded, which is good, but the deep_link field is explained twice ('deep_link (full analysis page...)' and again 'deep_link opens the full analysis page...') and the field list is dense. The redundancy costs it a point without hurting comprehension.

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 carries the return-value burden and does so by defining every field (valuation_status with its thresholds, upside_band bands, quality_score range, evidence_level, deep_link). Combined with tier limits and the advice disclaimer, an agent has nearly everything needed to call and interpret it.

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 baseline is 3, but the description adds meaning to the symbols parameter by clarifying that the effective cap is 2 on Free and 5 on Pro, which the schema's maxItems: 5 alone does not convey. The request_id and analysis_session_id parameters are left entirely to the schema.

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?

States a specific verb and resource ('Compare up to 5 stocks side by side') and immediately scopes it to valuation comparison. It implicitly distinguishes itself from siblings like screen_stocks and get_stock_verdict by naming the exact question type it answers ('which is better valued' about named stocks).

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?

It gives clear context ('Use it for which is better valued questions about named stocks'), which tells the agent when this tool applies, and implies it is not for screening or single-stock verdicts. It never names an alternative tool or an explicit when-not-to-use condition, so it stops short of a 5.

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.