Fundamental data MCP server is what you are really searching for when you want an AI assistant like Claude to answer "is this stock expensive?" with the same numbers your spreadsheet would return. You do not want the model to recall a P/E ratio from a training snapshot that is two quarters stale, invent a profit margin, or round market capitalization differently in every conversation. You want one connector that exposes proven company-fundamentals primitives, returns the identical answer every time, and writes those exact numbers into both a chat window and an Excel cell. This guide explains how a Model Context Protocol (MCP) server delivers fundamental data, which functions matter, and it includes two free Excel templates so you can see every formula working.
If you take one idea away, make it this: the value of a fundamental-data MCP server is not "AI plus data." It is consistency from a licensed source. The same question returns the same method across conversations, across users, and across days, because each metric is fetched server-side from a maintained feed instead of being guessed by a language model.
Fundamental data: chat answer vs. spreadsheet, side by side
Here is the gap a good MCP server closes. Both columns below should agree, because they call the same licensed function.
| Question | What a raw language model often does | What a fundamental-data MCP primitive does |
|---|---|---|
| "What is NVDA's P/E ratio?" | Recalls a number from an old training snapshot | Calls PERatio("NVDA") on the live feed |
| "What about forward P/E?" | Confuses trailing and forward | Calls forwardPE("NVDA") |
| "How large is the company?" | Estimates market cap loosely | Calls MarketCapitalization("NVDA") |
| "How profitable is it?" | Offers a vague adjective | Calls ReturnOnEquity(...) and OperatingMargin(...) |
| "Is it cheap on sales?" | Rarely knows the multiple | Calls PricePerSales(...) |
| "Give me an overall read" | Improvises an opinion | Calls RankOverall(...) for a 1 to 100 composite |
The right column is what "fundamental data MCP server" should mean. Every cell in the templates attached to this post maps to one of those functions.
“Educational note: nothing here is investment advice. Fundamentals are third-party data points, and tickers are used only to show how the data and formulas behave.
The current fundamentals picture: mega-cap valuation snapshot
To make this concrete, here is a snapshot pulled through the same MarketXLS functions the MCP server exposes, as of July 9, 2026. Value Score and Overall Score are MarketXLS composite ranks on a 1 to 100 scale, where higher means a stronger reading on that dimension.
| Ticker | Last Price | P/E (TTM) | Forward P/E | P/S | Market Cap | Value Score | Overall Score |
|---|---|---|---|---|---|---|---|
| NVDA | $201.96 | 38.3 | 23.2 | 26.9 | $4.77T | 50 | 45 |
| GOOGL | $355.65 | 27.1 | 24.8 | 11.0 | $4.45T | 55 | 56 |
| MSFT | $379.66 | 36.5 | 22.7 | 13.1 | $2.89T | 40 | 44 |
| AMZN | $242.53 | 32.2 | 31.3 | 3.4 | $2.27T | 40 | 55 |
| META | $613.09 | 28.1 | 20.8 | 10.1 | $1.56T | 55 | 57 |
| JPM | $335.82 | 16.1 | 14.8 | 5.2 | $909B | 80 | 65 |
| XOM | $137.87 | 18.0 | 11.6 | 1.6 | $587B | 100 | 62 |
| JNJ | $259.90 | 18.8 | 22.5 | 5.3 | $459B | 70 | 70 |
The spread tells the story. The AI and cloud names carry the richest multiples, with NVDA trading near 38 times trailing earnings but only about 23 times forward earnings, a gap that reflects how much growth the consensus expects. The financial, energy, and healthcare names sit in the mid-teens on earnings and score highest on the value dimension. A fundamental-data MCP server exists so that both your spreadsheet and your AI assistant read this table the same way, from the same feed, at the same moment.
What an MCP server actually is (and why it matters for fundamentals)
The Model Context Protocol is an open standard that lets an AI assistant call external tools in a structured way. Instead of the model free-associating an answer from its training data, it invokes a named function on a server, receives a typed result, and uses that result in its reply. For fundamental data, this distinction is everything.
Fundamental metrics change on a schedule the model cannot see. Earnings land quarterly. Analysts revise estimates weekly. Prices move by the second, which means every ratio built on price (P/E, P/S, price to book, dividend yield) moves with them. A language model trained months ago simply cannot know today's forward P/E for a stock. It can only approximate, and an approximation of a valuation multiple is worse than useless when you are trying to compare two companies.
An MCP server solves this by putting a live, licensed data layer between the question and the answer. When you ask "what is the price-to-sales ratio for AMZN," a fundamental-data MCP server calls PricePerSales("AMZN") against a maintained feed and hands back one number. Ask it again tomorrow and you get tomorrow's number, computed the same way. That reproducibility is the property that makes the data trustworthy enough to build on.
What MarketXLS takes a different path on
Plenty of tools can hand an AI model a blob of financial text. Where MarketXLS takes a different path is that the same function library powers three surfaces at once: the Excel add-in, Google Sheets, and the MCP server. When you learn PERatio in a spreadsheet, you already know how to ask for it through an AI assistant. There is no separate "AI schema" to memorize and no risk that the chat answer and the spreadsheet answer diverge, because they resolve to the identical function call. The MCP server is not a bolt-on. It is another doorway into the same verified function catalog.
The functions that power fundamental data
Every metric below is a real MarketXLS function. You can drop each one into an Excel cell today, and you can request the same value from any MCP-capable AI assistant pointed at the MarketXLS MCP server. These are the primitives the attached templates are built from.
Valuation multiples
=PERatio("NVDA") → Trailing twelve-month P/E ratio
=forwardPE("NVDA") → Forward P/E on estimated EPS
=PricePerSales("NVDA") → Price to sales (P/S) ratio
=PricePerBook("NVDA") → Price to book (P/B) ratio
=PEGRatio("NVDA") → P/E to growth ratio
Size and income
=MarketCapitalization("NVDA") → Market capitalization
=QM_Last("NVDA") → Last traded price
=DividendYield("NVDA") → Annual dividend yield
=RevenuePerShare("NVDA") → Revenue per share
Profitability and leverage
=ReturnOnEquity("NVDA") → Return on equity (ROE)
=OperatingMargin("NVDA") → Operating margin
=TotalDebtToEquity("NVDA") → Total debt to equity ratio
Composite scores
=RankOverall("NVDA") → Overall MarketXLS score (1 to 100)
=RankValue("NVDA") → Value dimension score
=RankQuality("NVDA") → Quality dimension score
=RankTechnical("NVDA") → Technical dimension score
Notice the pattern. Each function takes a symbol and returns one clean number. That is exactly the shape an AI assistant needs to reason reliably. When the model can call ReturnOnEquity("MSFT") and get 0.33, it does not have to remember or estimate anything. It reports the fetched value. The MCP server turns a fuzzy recall problem into a precise lookup.
The approach: turn scattered metrics into one comparable view
Here is the educational hypothesis behind the template, framed as analysis rather than advice. Investors rarely look at a single ratio in isolation. A P/E of 38 means one thing for a company growing earnings quickly and something very different for a mature, slow grower. So the useful unit of work is not one metric, it is a consistent row of metrics per company, lined up so you can compare like with like.
That is where an MCP-backed spreadsheet shines. You define one row of functions (QM_Last, PERatio, forwardPE, PricePerSales, RankValue, RankOverall) and copy it down your watchlist. Every company is now scored on the identical basis. Then you can ask an AI assistant, pointed at the same MCP server, to summarize the differences in plain English, confident that its numbers match your cells exactly.
Consider the gap between trailing and forward P/E in the snapshot above. For NVDA it is roughly 38 down to 23, and for XOM it is about 18 down to 12. That compression is the market pricing in expected earnings growth. A fundamental-data MCP server lets you compute that gap the same way for every name, with =IFERROR(PERatio(A2)-forwardPE(A2),""), rather than eyeballing it. None of this is a recommendation to buy or sell anything. It is a method for making the comparison honest and repeatable.
MarketXLS implementation: building the screener
Suppose you keep a watchlist of eight tickers in column A, starting at cell A2. A single fundamentals row looks like this:
A2: NVDA
B2: =QM_Last(A2) → 201.96
C2: =PERatio(A2) → 38.3
D2: =forwardPE(A2) → 23.2
E2: =PricePerSales(A2) → 26.9
F2: =PricePerBook(A2) → price to book
G2: =DividendYield(A2) → 0.02%
H2: =ReturnOnEquity(A2) → profitability
I2: =RankValue(A2) → 50
J2: =RankOverall(A2) → 45
Copy that row down and the entire watchlist recalculates from live data. Add an input cell for the maximum P/E you are willing to consider, say cell B1, and a simple flag column turns the sheet into a screener:
K2: =IF(C2<=$B$1,"Within P/E limit","Above limit")
Because every value is a formula, the sheet never goes stale. Open it next quarter and it reflects the new earnings, the new prices, and the new scores. That is the same guarantee the MCP server gives your AI assistant: no manual refresh, no copy-paste, no drift between what the chat says and what the cell shows.
For a scenario view, you can model what a multiple re-rating implies for price. Imply trailing EPS from the live price and P/E, then re-rate it:
C2: =QM_Last(A2)/PERatio(A2) → implied TTM EPS
D2: =C2*PERatio(A2)*0.8 → bear case at 0.8x the multiple
E2: =C2*PERatio(A2)*1.2 → bull case at 1.2x the multiple
This is an illustration of sensitivity, not a forecast. It shows how much of a stock's price rests on the multiple the market is currently willing to pay, which is one of the most useful things fundamental data can teach.
The template: two files, six sheets each
The downloadable workbook comes in two versions so you can both study the data and reuse the formulas.
Sample file (static, real values as of July 9, 2026): every number is a real reading, and a formula reference column shows exactly which MarketXLS function produced it. Use this to see the finished layout and the data without needing the add-in installed.
Template file (live formulas): every data cell is a MarketXLS function. Install the add-in, open the file, and it pulls current fundamentals for the whole watchlist.
Both files share the same six-sheet structure:
- How To Use - explains each sheet, lists the functions, and includes MCP access notes and links.
- Main Dashboard - the fundamentals screener with yellow input cells for portfolio size, maximum P/E, and minimum scores, plus a signal column.
- Scenario Analysis - the P/E re-rating model showing bear, base, and bull price levels from the current multiple.
- Quality / Watchlist - live ROE, operating margin, debt to equity, and the quality score, with an educational read.
- Portfolio / Allocation - score-weighted position sizing driven off your portfolio-size input.
- Comparison / MCP - value, quality, technical, and overall scores side by side, with example prompts to run the same query through an AI assistant.
Every sheet ends with a "MarketXLS Functions Used" box so you always know which formula to reference when you build your own version.
Download the templates:
- - Pre-filled with current data
- - Live-updating formulas
Using the same data inside an AI assistant
Once your MCP client is pointed at the MarketXLS MCP server, you can ask for these fundamentals in plain English and get numbers that match your spreadsheet. A few example prompts:
- "What is the trailing and forward P/E for NVDA, and how do they compare?"
- "Give me the price-to-sales ratio for AMZN, META, and GOOGL."
- "Rank JPM, XOM, and JNJ by value score and show their P/E ratios."
- "What is the operating margin and return on equity for MSFT?"
Behind each answer, the assistant calls the same function you would type in Excel (PERatio, PricePerSales, RankValue, OperatingMargin), so there is no gap between the chat response and the cell. That is the entire point of a fundamental-data MCP server: one licensed source, two front ends, identical numbers. To go deeper on how MarketXLS connects to AI assistants, see the MarketXLS features overview.
FAQ
What is a fundamental data MCP server?
It is a Model Context Protocol server that exposes company-fundamentals functions (valuation multiples, profitability, scores) to an AI assistant. Instead of the model guessing a P/E or margin from stale training data, it calls a named function like PERatio against a live, licensed feed and returns one exact number, the same value your spreadsheet would show.
Why not just ask the AI model directly for fundamentals? A language model's knowledge is frozen at training time, but fundamentals change constantly. Prices move every second, earnings land quarterly, and estimates get revised weekly. Any ratio the model recalls is a snapshot from the past. An MCP server fetches the current value server-side, so the answer is live and reproducible rather than approximate.
Which fundamental metrics can I pull?
Valuation multiples such as PERatio, forwardPE, PricePerSales, PricePerBook, and PEGRatio; size and income such as MarketCapitalization, DividendYield, and RevenuePerShare; profitability and leverage such as ReturnOnEquity, OperatingMargin, and TotalDebtToEquity; and composite scores such as RankOverall, RankValue, and RankQuality.
Do the AI answers match my Excel cells?
Yes, by design. The MCP server and the Excel add-in call the same MarketXLS function catalog. PERatio("NVDA") resolves to the identical value whether you type it in a cell or ask an AI assistant to fetch it, so the two surfaces never disagree.
Is the data licensed? Yes. MarketXLS fundamentals come from maintained, licensed feeds. This post shows official functions only. It never involves scraping, and the data returned is the same feed that powers the Excel and Google Sheets products.
Can I build my own screener with these functions? Absolutely. Put a watchlist in column A, add one row of the functions above, and copy it down. Add input cells for your own thresholds and a flag column, and you have a live fundamental screener. The attached template is a ready-made starting point.
The Bottom Line
Fundamental data MCP server is the connector that makes an AI assistant as reliable as your spreadsheet on company financials. The problem it solves is simple but stubborn: a language model cannot know today's P/E, margin, or valuation score, because those numbers move after its training cutoff. By calling proven functions like PERatio, forwardPE, PricePerSales, ReturnOnEquity, and RankOverall against a live licensed feed, an MCP server returns the same exact value every time, in a chat window and in an Excel cell alike.
Download the two templates above to see every formula in action, then point your AI assistant at the MarketXLS MCP server to ask the same questions in plain English. To see how MarketXLS brings live fundamentals into Excel and AI tools, explore MarketXLS or book a demo.
Educational content only. Nothing here is investment advice, and tickers are used solely to demonstrate how the data and formulas behave.