Skip to main content
Glama

value_company

Read-onlyIdempotent

Valuation of a Nordic or US company, from trailing multiples to a DCF. Results are model estimates, not investment advice. Unset assumptions are derived from filings (WACC via CAPM, growth via FCF CAGR) and echoed in assumptions / inputs.

Modes (mode):

  • "forward_dcf" (default): per-share value plus WACC x growth grid; uses wacc, fcf_growth, terminal_growth, forecast_years (3-15), fade_years (0-15), use_forecast, include_peer_triangulation.

  • "reverse_dcf": what the price implies; solve_for "growth" (default) or "wacc".

  • "implied_expectations": per-share value grid over x_axis / y_axis from revenue_cagr, operating_margin, fcf_margin, terminal_growth, wacc, fcf_conversion, tax_rate; optional x_values / y_values and base_* overrides.

  • "multiples": P/E, P/B, P/S, EV/EBITDA, EV/EBIT, EV/Sales, FCF yield (P/FFO for US REITs) on the latest fiscal year, plus ttm: the same on trailing-twelve-month income and latest-quarter balance sheet; uses only company, market, current_share_price, shares_outstanding.

  • "key_statistics": statistics page on TTM / latest-quarter figures: valuation, margins, ROE / ROIC, per share, growth, 52-week range, beta, dividends; basis names each figure's window.

Chart: per the server "Charts" guidance; in ChatGPT call render_chart(source_tool="value_company", source_args=, output="python").

Args: company: Name or ticker. market: "nordic" / "us"; omit to detect. Rates are fractions (0.09 = 9 %): wacc, fcf_growth, terminal_growth, risk_free_rate, equity_risk_premium, tax_rate, cost_of_debt. current_share_price: omit to use the latest stored daily close. beta, shares_outstanding, net_debt, minority_interest: overrides. locale: "en" (default) or "fi".

Returns valuation / reverse / sensitivity_grid / multiples per mode, with quality_notes. Surface sector_fit: "unsuitable" (banks, insurers) means the DCF is illustrative only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "company": "<company>"
    },
    "name": "value_company"
  }
}

Input Schema

NameRequiredDescriptionDefault
betaNo
modeNoforward_dcf
waccNo
localeNoen
marketNo
x_axisNo
y_axisNo
companyYes
net_debtNo
tax_rateNo
x_valuesNo
y_valuesNo
solve_forNo
fade_yearsNo
fcf_growthNo
cost_of_debtNo
use_forecastNo
include_chartNo
fcf_conversionNo
forecast_yearsNo
latest_revenueNo
risk_free_rateNo
base_fcf_marginNo
terminal_growthNo
base_revenue_cagrNo
minority_interestNo
shares_outstandingNo
current_share_priceNo
equity_risk_premiumNo
mid_year_conventionNo
base_operating_marginNo
include_peer_triangulationNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the description is free to add the behavior that matters here: results are model estimates not advice, unset assumptions are derived from filings and echoed in `assumptions`/`inputs`, and `quality_notes` accompanies every mode. The sector_fit caveat for banks/insurers is exactly the kind of limitation an agent needs before presenting numbers.

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?

Purpose is front-loaded, then modes as a scannable bulleted list, then an Args block — a sensible structure for a 32-parameter tool. Some content is duplicated between the mode bullets and the Args section (e.g., forecast_years, fade_years), and the render_chart paragraph is a tangent, but neither is wasteful enough to hurt.

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 32 parameters and an output schema present, the description need not explain return values, yet it still names the per-mode result keys and `quality_notes`. It covers derivation defaults, unit conventions, and the bank/insurer caveat. Gaps remain around the few undocumented parameters and any error/failure behavior.

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 0%, so the description carries the burden and mostly does: it declares rate inputs are fractions, gives bounds for forecast_years (3-15) and fade_years (0-15), supplies enum values for mode/market/locale/solve_for, and explains the base_* override pattern. A handful of parameters (mid_year_convention, include_chart, latest_revenue) remain unexplained in both description and schema, keeping it from a 5.

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?

Opens with a specific verb+resource+scope: "Valuation of a Nordic or US company, from trailing multiples to a DCF." The five enumerated modes make the tool's surface area concrete and distinguishable from data-retrieval siblings like get_company_financials. It stops short of naming an alternative sibling, so it lands at 4 rather than 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?

Each mode is described with the parameters it consumes, and a default ("forward_dcf") is declared, which is genuine mode-selection guidance. It also flags when the output is not to be trusted for DCF purposes ("sector_fit: 'unsuitable' (banks, insurers) means the DCF is illustrative only"). What is absent is explicit routing against siblings such as forecast_financials or get_valuation_history.

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.