canli-mcp / Reverse DCF

How can an AI agent tell what growth a stock price implies?

canli-mcp's company_reverse_dcf works back from today's price to the cash-flow growth it implies, using the company's own filed cash flows, with the discount rate and terminal growth you choose.

Free and MIT-licensed. No account and no API key. Or run claude mcp add canli -- npx -y canli-mcp in Claude Code.

Ask it

What growth is priced into Microsoft?

The agent finds the tool through canli-mcp's find_tool and runs it through run_tool. This is the call:

{
  "name": "company_reverse_dcf",
  "arguments": {
    "company": "MSFT"
  }
}

What came back

Recorded from canli-mcp 0.11.1 on 2026-10-25, with no API key set. The model read 2,959 characters.

What company_reverse_dcf returned: sensitivity, every row
discount rateterminal 0.02terminal 0.025terminal 0.03
0.070.1510.14060.1289
0.080.1790.17040.1608
0.090.20450.19710.189
0.10.2280.22160.2146
0.110.25020.24440.2383
The result company_reverse_dcf sent back, in full form
{
  "ref": "r24",
  "company": {
    "cik": 789019,
    "name": "Microsoft Corporation",
    "ticker": "MSFT"
  },
  "fiscal_year_end": "2026-06-30",
  "implied_growth": 0.1971,
  "reading": "At 524.51 a share, the market's enterprise value needs free cash flow to grow about 19.7% a year for 10 years, then 2.5% for ever, discounte…",
  "history": {
    "fcf_cagr_3y": 0.0404,
    "fcf_cagr_5y": 0.036,
    "revenue_cagr_3y": 0.1612,
    "revenue_cagr_5y": 0.1457,
    "free_cash_flow": {
      "columns": [
        "fiscal_year_end",
        "operating_cash_flow",
        "capex",
        "free_cash_flow"
      ],
      "rows": [
        [
          "2021-06-30",
          76740000000,
          20622000000,
          56118000000
        ],
        [
          "2022-06-30",
          89035000000,
          23886000000,
          65149000000
        ],
        [
          "2023-06-30",
          87582000000,
          28107000000,
          59475000000
        ],
        [
          "2024-06-30",
          118548000000,
          44477000000,
          74071000000
        ],
        [
          "2025-06-30",
          136162000000,
          64551000000,
          71611000000
        ],
        [
          "2026-06-30",
          182935000000,
          115948000000,
          66987000000
        ]
      ]
    }
  },
  "sensitivity": {
    "note": "Implied yearly growth for each discount rate (rows) and terminal growth (columns).",
    "columns": [
      "discount_rate",
      "terminal_0.02",
      "terminal_0.025",
      "terminal_0.03"
    ],
    "rows": [
      [
        0.07,
        0.151,
        0.1406,
        0.1289
      ],
      [
        0.08,
        0.179,
        0.1704,
        0.1608
      ],
      [
        0.09,
        0.2045,
        0.1971,
        0.189
      ],
      [
        0.1,
        0.228,
        0.2216,
        0.2146
      ],
      [
        0.11,
        0.2502,
        0.2444,
        0.2383
      ]
    ]
  },
  "inputs": {
    "price": 524.51,
    "price_date": "2026-10-23",
    "shares_outstanding": 7425545491,
    "equity_value": 3894772865484,
    "debt": 40294000000,
    "cash_and_investments": 76843000000,
    "enterprise_value": 3858223865484,
    "base_free_cash_flow": 66987000000,
    "base": "latest",
    "discount_rate": 0.09,
    "terminal_growth": 0.025,
    "years": 10,
    "tags": {
      "operating_cash_flow": "NetCashProvidedByUsedInOperatingActivities",
      "capex": "PaymentsToAcquirePropertyPlantAndEquipment",
      "cash": "CashAndCashEquivalentsAtCarryingValue",
      "investments": "ShortTermInvestments",
      "debt": [
        "LongTermDebtCurrent",
        "LongTermDebtNoncurrent"
      ],
      "shares": "dei:EntityCommonStockSharesOutstanding"
    }
  },
  "sources": [
    "https://data.sec.gov/api/xbrl/companyfacts/CIK0000789019.json",
    "Yahoo Finance chart data (no key)"
  ],
  "meaning": "A reverse DCF asks what the price already assumes. Compare the implied growth with the company's own history and its industry: an implied ra…",
  "limits": [
    "Free cash flow here is operating cash flow less capital spending, before share-based pay and acquisitions; one year's figure is the base, so…",
    "Debt is the tagged borrowings; leases, pensions and minority interests are not added.",
    "Not investment advice."
  ]
}

Prices, filings and statistics are as the sources published them on that day; run the call again for today's. Nothing here is investment advice.

The tools behind the answer

From canli-mcp's tool index
ToolPackWhat it does
company_reverse_dcfmarketsThe free-cash-flow growth a share price implies: solves a discounted cash flow model for the growth that reaches the market's enterprise value, from the company's annual XBRL and the last close, with a sensitivity table and the company's own history beside it.

Add canli-mcp

Claude Code
claude mcp add canli -- npx -y canli-mcp
Cursor, Claude Desktop or any MCP client
{ "mcpServers": { "canli": { "command": "npx", "args": ["-y", "canli-mcp"] } } }
claude.ai, ChatGPT or any client that takes a URL
https://canlicapital.com/mcp/canli

Everything canli-mcp does · How it compares with other finance MCP servers

Related questions