mcpField
F
Fundamental Analysis

Fundamental Analysis

Local
boffincoders.comFinance1Updated 2d ago

About Fundamental Analysis

Fundamental Analysis is a read-only MCP server that gives AI assistants fundamental finance calculators for valuation, profitability, liquidity, and solvency. Results include the value, formula, inputs, and caveats; the client supplies the figures.

Key features

  1. 01Calculate P/E and DCF valuation
  2. 02Calculate Graham Number and Altman Z-Score
  3. 03Calculate Piotroski F-Score
  4. 04Analyze margins, liquidity, and leverage
  5. 05Run all available metrics in one call
  6. 06Return formulas, inputs, and caveats

Use cases

  1. 01Assess company valuation from supplied figures
  2. 02Review profitability and solvency metrics
  3. 03Check the formulas and inputs behind financial ratios

MCP support

The MCP server exposes financial ratio calculators and an analyze_company tool that runs all metrics allowed by the supplied figures; every tool is read-only.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"boffincoders-fundamental-analysis": {
"command": "npx",
"args": [
"-y",
"fundamental-analysis-mcp"
]
}
}
}
Run commandnpx -y fundamental-analysis-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmfundamental-analysis-mcp0.1.0

Tools

10

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
epsnumberYesEarnings per share, same period basis as you intend (trailing or forward)
pricenumberYesShare price

Details

From the project README

fundamental-analysis-mcp

An MCP server that gives an AI assistant the calculators from fundamental-analysis: P/E, DCF, Graham Number, Altman Z-Score, Piotroski F-Score, return on equity, profit margins, and liquidity and debt ratios, plus one tool that runs every ratio your figures allow in a single call.

Every result returns four things: the value, the formula that produced it, the inputs it used and the caveats you need before acting on it. The assistant brings the figures. The server fetches nothing, needs no API key and has no dependencies.

Tools

ToolWhat it returns
pe_ratioPrice / EPS, with a note when EPS is zero or negative
dcf_valuationEnterprise value from projected free cash flow, the terminal value's share of it, and an implied share price when you pass debt, cash and shares
graham_numbersqrt(22.5 x EPS x book value per share), and the price against it
altman_z_scoreZ (public manufacturers) or Z'' (everyone else), with the zone
return_on_equityNet income / equity, null when equity is zero or negative
piotroski_f_scoreThe 0 to 9 score with each of the nine signals, and which signals a missing prior year leaves unscored
profit_marginGross, operating, net or free cash flow margin as a share of revenue
liquidity_ratioCurrent ratio, or quick ratio without inventory
leverage_ratioDebt to equity, or interest coverage (EBIT / interest expense)
analyze_companyEvery ratio the figures allow, grouped as valuation, profitability, liquidity, solvency, efficiency, risk and quality, with the metrics that came back null named. Add withInsights for a status and a one-line reading per metric

Every tool is read-only: it computes and answers, and changes nothing.

Set up

Claude Code:

claude mcp add fundamental-analysis -- npx -y fundamental-analysis-mcp

Claude Desktop (claude_desktop_config.json) and Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "fundamental-analysis": {
      "command": "npx",
      "args": ["-y", "fundamental-analysis-mcp"]
    }
  }
}

Example

Ask: "Graham Number for EPS 4 and book value 25 a share, price 40?" The graham_number tool answers:

{
  "value": 47.43,
  "priceVsGraham": 0.84,
  "formula": "Graham Number = sqrt(22.5 * EPS * book value per share)",
  "inputs": { "eps": 4, "bookValuePerShare": 25, "price": 40 },
  "caveats": ["22.5 is 15 times earnings by 1.5 times book, Graham's limits for a defensive investor. It ignores growth, so it is strict on growth companies and on asset-light businesses."]
}

Build and test

npm run build   # one file, dist/server.js, with the library bundled in
npx vitest run mcp   # from the repository root

MCP registry

server.json describes the server for the official MCP registry as io.github.boffincoders/fundamental-analysis-mcp, and mcpName in package.json carries the same name so the registry can check the npm package. Publish to npm first, then run mcp-publisher publish from this folder.

Licence

MIT. Maintained by Boffin Coders.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.