Real-time stock prices in Claude sound like they should be a given. You open Claude, ask "what is NVIDIA trading at right now," and expect a number that reflects this second. The reality is more subtle. A language model on its own has no live quote feed. It reasons, it explains, and it writes clearly, but it does not inherently know the last traded price of any stock, let alone a real-time tick that updates as the market moves. This guide shows you how to close that gap the right way: connect Claude to a licensed market data feed over the Model Context Protocol (MCP), then mirror the same live numbers in an Excel workbook where every quote is a MarketXLS formula you can refresh on any ticker.
Real-Time Stock Prices in Claude: Why the Model Needs a Live Feed
Claude is genuinely strong at the reasoning parts of investing. It can explain what bid and ask mean, structure a review checklist for a stock, or draft a plain-English summary of a company. What it cannot do out of the box is quote a real-time price, because prices change every second while a model's internal knowledge is fixed at training time. Ask a bare model for a live quote and you are trusting a number that could be weeks or months stale, dressed up in confident language.
The fix is to give Claude a direct line to a licensed data source. That is exactly what MCP provides. Once Claude is connected to the MarketXLS MCP server, asking for a price stops being a guess and becomes a real lookup against a real feed. The table below shows where the pairing earns its keep.
| Task | Claude Alone | Claude + MarketXLS MCP |
|---|---|---|
| Explain what a real-time tick is | Strong | Strong, plus the live number beside it |
| Quote this second's price for NVDA | Weak and possibly stale | Live via =QM_Last("NVDA") or =Stream_last("NVDA") |
| Stream a moving price during the session | Not possible alone | Live via =Stream_last("NVDA") |
| Build a real-time board for eight tickers | Tedious and error prone | One request, all live |
| Confirm you are entitled to real-time data | Cannot check | Live via =rt_Permission("NVDA") |
The point is not that Claude is weak. The point is that a reasoning engine and a licensed data feed do different jobs. Claude interprets, contextualizes, and explains. MarketXLS supplies the source-linked, exchange-grade number. Put them together and you get answers that are both readable and correct.
What "Real-Time" Actually Means for Stock Prices
Before wiring anything up, it helps to be precise about the word "real-time," because it hides three different things that traders casually lump together.
The first is a snapshot. When you ask for a price once and get a single value that was accurate at the moment of the request, that is a snapshot. In MarketXLS, =QM_Last("NVDA") returns an on-demand last traded price. It does not tick forward on its own; it refreshes when the workbook recalculates. This is the workhorse for reports, quote boards, and anything you take a picture of and move on.
The second is a streaming quote. Here the value updates continuously as new trades print, without you touching anything. =Stream_last("NVDA") streams the real-time last tick in Excel Online. This is what most people picture when they say "real-time": a number that moves.
The third is a real-time intraday bar. Sometimes you do not want every tick, you want the last price within a defined interval such as a five-minute bar. =RTI_Last("NVDA","5m") returns the real-time intraday last for that bar on Excel desktop, which is ideal for building intraday tables and short-term studies without drowning in raw ticks.
There is also a permission layer worth understanding. Real-time exchange data is entitled, meaning your access depends on your subscription and the exchange's rules. =rt_Permission("NVDA") tells you whether real-time streaming is permitted for a given symbol. Where real-time is not entitled, MarketXLS gracefully returns the on-demand snapshot instead, so nothing breaks. This matters when you ask Claude for a "real-time" price and want to know exactly what grade of data you are getting.
How the Claude and MarketXLS Connection Works
The mechanism is the Model Context Protocol, an open standard for letting an assistant call external tools and data. MarketXLS runs an MCP server, and once Claude is pointed at it, Claude can request quotes, fundamentals, and technicals on demand. From your side the experience is simple: you ask a question in natural language, Claude calls the tool, and the live number comes back inside the conversation.
A typical exchange looks like this. You type "what is the real-time price of NVDA, and how far is it from its 50-day and 200-day moving averages." Claude recognizes it needs live data, calls the MarketXLS tool, and returns the current price alongside the two moving averages with a short interpretation. You did not open a terminal, write code, or copy a value from a website. You asked, and the answer arrived with a real number attached.
The reason to keep a workbook alongside the chat is auditability. A conversation is great for asking and reasoning, but it scrolls away. A spreadsheet is where you pin the numbers down, watch them refresh, and build the tables and charts you actually act on. That is why this template exists: it is the same data Claude fetches, laid out so every cell is a formula you can trace and refresh.
The Approach: Ask in Claude, Verify in Excel
The workflow this template supports is a simple loop, and it is educational rather than a recommendation to trade. Treat every figure as a starting point for analysis, not as advice.
Step one, ask Claude. Use natural language for the fast question. "Give me a real-time quote board for NVDA, AAPL, MSFT, GOOGL, AMZN, and META with last price, bid, ask, and RSI." Claude returns the board in seconds.
Step two, mirror it in the workbook. Drop the same tickers into the yellow input cells on the Real-Time Dashboard sheet. Now every price is a live MarketXLS formula, so the board refreshes on demand and you can sort, filter, and chart it.
Step three, decide what grade of data you need. For a quick look, the =QM_Last snapshot is plenty. For an active session where you want the number to move, switch your eye to the =Stream_last column. For intraday structure, use the =RTI_Last bars on the Intraday and History sheet.
Step four, sanity-check against context. Compare the live price to the 50-day and 200-day moving averages, glance at RSI for momentum context, and note the 52-week high and low for range. None of this is a buy or sell signal. It is context that helps you ask better questions, which you can then take back to Claude.
The loop is deliberately boring, and that is the feature. Claude gives you speed and explanation; the workbook gives you traceable, refreshable numbers. Neither one is guessing.
Real-Time Stock Prices in Claude: The MarketXLS Formulas
Every formula below was verified against the MarketXLS function reference before publishing. These are the exact functions the template uses, and the same ones Claude calls behind the scenes through MCP.
Snapshot last price. The on-demand quote, refreshed when the sheet recalculates.
=QM_Last("NVDA") ' On-demand last traded price
=PreviousClose("NVDA") ' Prior session close for change math
Streaming real-time price. A value that ticks forward on its own in Excel Online.
=Stream_last("NVDA") ' Streaming real-time last tick
Real-time intraday bar. The last price within a chosen interval on Excel desktop.
=RTI_Last("NVDA","5m") ' Real-time intraday last for the 5-minute bar
Entitlement check. Confirm whether real-time is permitted before you rely on it.
=rt_Permission("NVDA") ' TRUE if real-time streaming is entitled
Trend and momentum context. The reference numbers that turn a bare price into something interpretable.
=SimpleMovingAverage("NVDA","50") ' 50-day simple moving average
=SimpleMovingAverage("NVDA","200") ' 200-day simple moving average
=RelativeStrengthIndex("NVDA","14") ' 14-period RSI momentum
=Beta("NVDA") ' Beta versus the market
=FiftyTwoWeekHigh("NVDA") ' 52-week high reference
=FiftyTwoWeekLow("NVDA") ' 52-week low reference
Classification and scale. Useful for grouping and comparison.
=Name("NVDA") ' Issuer name
=Sector("NVDA") ' Sector classification
=DividendYield("NVDA") ' Trailing dividend yield
=PERatio("NVDA") ' Price to earnings
=MarketCapitalization("NVDA") ' Market capitalization
Daily history spill. For charts, custom moving averages, and correlation work.
=QM_GetHistory("NVDA") ' Daily OHLCV history, spills into a range
Because each cell references the ticker input, you change one yellow cell and the whole row updates. Point Claude at the same symbols and the two views stay in agreement, which is the entire idea.
Inside the Template: Six Sheets, One Live View
The download includes two files. The static sample is pre-filled with an illustrative real-time snapshot so you can see the layout without the add-in active, and it labels every value with the MarketXLS formula that produced it. The live template contains only formulas, so it refreshes on any ticker once the MarketXLS add-in is running.
Sheet 1, How To Use. The workflow, three ready-to-paste Claude prompts, the MCP endpoint, and a short note on real-time entitlement so you know the difference between a snapshot and a streamed tick.
Sheet 2, Real-Time Dashboard. The centerpiece. Yellow ticker inputs drive a board with snapshot last, streaming last, previous close, day change percent, 50-day and 200-day moving averages, RSI, beta, dividend yield, and market cap. This is the sheet you keep open during the session.
Sheet 3, Watchlist Quotes. An income and quality cross-section showing last price, dividend yield, P/E, beta, and sector, so you can watch a different slice of the market at a glance.
Sheet 4, Intraday and History. Real-time intraday bars via =RTI_Last, a permission check via =rt_Permission, and the =QM_GetHistory daily spill for charting and custom studies. This is where "real-time" and "historical" sit side by side.
Sheet 5, Price Alerts. Yellow buy-below and sell-above thresholds with simple trigger logic driven by the streaming price, plus an entitlement column. The logic is educational, meant to illustrate how you would structure an alert, not to tell you when to act.
Sheet 6, Comparison Matrix. A cross-ticker scan of price versus moving averages, RSI, beta, and yield, color coded so trend and momentum jump out.
Every sheet carries a "MarketXLS Functions Used in This Sheet" box listing the exact formulas on that tab, so you always know which function to reference when you build your own version.
Common Mistakes When Fetching Real-Time Prices in Claude
A few predictable errors trip people up when they first try to get live quotes into an assistant, and each one has a clean fix.
The first is assuming a bare model knows the price. If you ask Claude for a quote without connecting a data source, it will often answer anyway, because it is built to be helpful. That answer reflects training-time knowledge, not today's market. Always confirm the MarketXLS MCP server is connected before you trust a number, and cross-check it against the live formula in the workbook.
The second is confusing delayed data with real-time data. Many free sources quietly serve prices that lag the market by fifteen minutes. That is fine for a casual glance and misleading for anything time-sensitive. The =rt_Permission check exists precisely so you know what grade of data you are looking at. If real-time is not entitled for a symbol, treat the value as a snapshot and plan accordingly.
The third is over-streaming. It is tempting to fill an entire board with =Stream_last and watch everything move at once. On a large watchlist that is a lot of live subscriptions for numbers you only glance at occasionally. A cleaner pattern is to stream the handful of tickers you are actively watching and use the on-demand =QM_Last snapshot for the rest. The template is laid out to make that split easy.
The fourth is treating momentum context as a signal. RSI, moving averages, and the 52-week range are context, not instructions. A price sitting above its 200-day average is not a reason to buy, and an RSI reading near an extreme is not a reason to sell. Use these fields to frame better questions for Claude, then reason through the answer yourself. Nothing in this workflow is a recommendation to trade, and the template is built to inform your analysis rather than replace it.
Avoid those four and the rest is straightforward: ask in Claude, mirror in Excel, and keep an eye on which grade of data each cell is serving.
Download the Templates
Download the templates:
- - Pre-filled with an illustrative real-time snapshot and formula labels
- - Live-updating real-time formulas
Open the live version in Excel with the MarketXLS add-in active, edit the yellow ticker cells, and refresh. Pair it with Claude connected to the MarketXLS MCP server and you have the same real-time data in two places: a conversation for asking, and a workbook for verifying.
Frequently Asked Questions
Can Claude really show real-time stock prices? Not on its own. A language model has no live market feed, so a bare model can only offer a stale, training-time estimate. Once you connect Claude to the MarketXLS MCP server, it can call a licensed data feed and return live prices in the conversation. The workbook in this guide mirrors that same data so you can audit and refresh it.
What is the difference between a snapshot and a streaming price?
A snapshot such as =QM_Last is a single value accurate at the moment of the request; it refreshes when the sheet recalculates. A streaming price such as =Stream_last updates continuously on its own as new trades print. Use a snapshot for reports and boards, and a stream when you want the number to move during the session.
Do I need a special entitlement for real-time data?
Real-time exchange data is entitled based on your subscription and exchange rules. Use =rt_Permission("NVDA") to confirm whether real-time streaming is permitted for a symbol. Where it is not, MarketXLS returns the on-demand snapshot instead, so your workbook keeps working with the best data you are entitled to.
How does the Excel template stay in sync with Claude? Both draw from the same MarketXLS data. Claude calls the MarketXLS MCP server; the workbook uses MarketXLS formulas. Put the same tickers in both and the numbers agree, which lets you use the chat for speed and the sheet for traceable, refreshable records.
Which formula should I use for intraday analysis?
Use =RTI_Last("NVDA","5m") for the real-time last price within a five-minute bar on Excel desktop, and =QM_GetHistory("NVDA") for the daily OHLCV history that spills into a range for charting and custom moving averages. The Intraday and History sheet combines both.
Is any of this investment advice? No. Everything here is educational. The tickers are examples used to show how the formulas work, the alert logic is illustrative, and nothing in the template suggests buying or selling any security. Treat every number as a starting point for your own analysis.
The Bottom Line
Real-time stock prices in Claude are entirely achievable, as long as you remember that Claude is the reasoning engine and MarketXLS is the data feed. Connect the two over MCP and the model stops guessing at quotes and starts calling a licensed source. Keep the companion workbook open beside the chat and every price becomes a formula you can trace, refresh, and build on. Ask fast in Claude, verify in Excel, and let each tool do what it does best.
To connect Claude to live market data and put the same real-time numbers in Excel, explore MarketXLS or book a demo to see the MCP integration and the full function library in action.
Educational content only. Not investment advice. All figures shown are illustrative and provided to demonstrate how the formulas work.