Skip to main content
Glama
Prem07a
by Prem07a

reverse_dcf

Solve for the annual growth rate a stock's current price implies using a two-stage DCF. Compare that implied rate to historical revenue/FCF growth to judge if market expectations align with past performance.

Instructions

Instead of asking "what is the fair value", ask "what growth does the current price already assume": solves a two-stage DCF (5Y explicit growth + Gordon-growth terminal value) by bisection for the constant annual growth rate that makes the model's enterprise value match today's actual market cap + net debt. Compares that implied rate to the company's own historical revenue/FCF CAGR so you can judge whether the price requires stronger growth than the company has actually achieved. Not a forecast -- an implied-expectations check, with disclosed assumptions (wacc/terminal_growth are inputs you can override, not derived).

:param symbol: ticker symbol, e.g. "RELIANCE", "TCS.NS", or "TCS.BO"
:param wacc: discount rate assumption (default 0.12 = 12%)
:param terminal_growth: perpetuity growth assumption (default 0.04 = 4%); must be < wacc

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waccNo
symbolYes
terminal_growthNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoSet if FCF is negative/zero or no solution exists in the search range
symbolYes
wacc_pctYesDiscount rate assumption used (input, not derived)
market_capNo
current_priceNo
projection_yearsNo
implied_growth_pctNoConstant annual growth rate over the projection period implied by the current price
terminal_growth_pctYesPerpetuity growth assumption used (input, not derived)
historical_fcf_cagr_pctNo
currency_mismatch_warningNoSet when Yahoo's market-data and financial-statement currencies disagree for this ticker -- the entire DCF (which combines market cap with statement-sourced FCF) becomes unreliable when set.
historical_revenue_cagr_pctNo
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the behavioral burden. It reveals the methodology (two-stage DCF with 5Y explicit growth and Gordon-growth terminal value, solved by bisection), declares that wacc and terminal_growth are overridable assumptions rather than derived values, and explicitly states the tool is not a forecast.

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 front-loaded with the core conceptual shift, then state the method, assumptions, and interpretation. Each sentence adds necessary information without filler, and the parameter breakdown is compact and useful.

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?

Given the output schema exists, the description does not need to explain return values. It covers the purpose, method, assumptions, constraints, interpretation, and caveats, providing enough for an agent to decide when to call it and what inputs to provide.

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

Parameters5/5

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

Although schema description coverage is 0%, the description effectively documents all three parameters: symbol with concrete examples, wacc with default conversion, and terminal_growth with the constraint that it must be less than wacc. This compensates fully for the missing schema descriptions.

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 explicitly states the tool's goal: solve a two-stage DCF by bisection to find the constant growth rate that makes enterprise value match current market cap plus net debt. It clearly distinguishes itself from fair-value DCF by framing it as an implied-expectations check rather than a forecast.

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 clearly communicates when to use the tool: when you want to know what growth the current price already assumes, instead of asking what the fair value is. It stops short of explicitly naming sibling alternatives like dcf_valuation or stating exact exclusions, but the use case is clearly conveyed.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Prem07a/FinMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server