What's been built, fixed, and improved - most recent first.
News, SEC filings, insider trading, earnings dates and reported results, and analyst changes were kept in separate places. They now come as one timeline, newest first, on the stock page, on the dashboard and in two new tools for your agent.
get_stock_activity: the timeline of one stock over the last 90 days in one call, with filters by kind and paging. Counts as one call whatever the page size.get_stock_filings: the latest SEC 8-K filings of a US-listed company, newest first, with when each was filed and what it covers. Companies with a market cap of about $1 billion or more are covered, and routine filings are left out.get_economic_calendar now looks 1 day ahead on Free and guest (it was 7), still 2 days back. Pro keeps 14 days ahead and 7 back. A call that does not set days gets the window of its plan; a Free call that asks for more is served 1 day and the response says what Pro adds.get_earnings_calendar has a new limit parameter. On Free and guest you get at most 5 companies, and each one returned counts as one call. When more companies report in the window, you get the 5 largest by market cap, listed by date, and the new total_in_window field says how many report in all. Before, one call could return up to 500 rows. Pro gets up to 500 companies per call (100 by default) for one call, and can page through a long window with the new offset parameter (the response carries next_offset). New symbols (up to 50 tickers) and min_market_cap (US dollars) parameters narrow the list on every tier.The universe grew beyond the US and the large European exchanges. Companies that trade on their home exchange are now covered there as well, next to their US listings, with price, history and indicators in the local currency. Every tool that takes a symbol works on them, including get_stock, get_stocks and get_stock_history.
^BVSP.Stocklake lets you try the tools without an account. Some MCP clients took that as "no sign-in needed" and never offered one, so their users stayed on the guest limit.
https://api.stocklake.dev/mcp/auth, that always asks you to sign in. It is the same server with the same tools. Use it when your client connects to https://api.stocklake.dev/mcp but never shows a sign-in. After a one-time sign-in with an emailed link or code, calls run on your own account and its daily limit.https://api.stocklake.dev/mcp/auth, so sign-in starts right away.The market direction call, the suggested exposure and the lists of sectors to prefer or avoid did not hold up when we checked them against what the market did next. The Market page now shows measured readings instead.
Now and then a stock split is missing from a stock's price history, so the older prices are on a different share basis than today's price. That turns a 200-day average into a meaningless number.
get_stock and get_stocks return sma200 and ema200 as null with sma200_unreliable / ema200_unreliable set to true, on every tier, instead of an average that mixes two price scales. A price break counts only when it is split-sized (five-fold or more), the whole day trades at the new level, and the volume is ordinary; large moves on heavy volume are real and keep their averages. Short-window indicators such as RSI and MACD are unaffected.get_stock_financials leaves out periods that have no real values behind them, so the latest column is always a filed one.Total Debt (includes leases), levered free cash flow, why eps_forward can be far off for a few thinly covered foreign ADRs, and that ai_score measures conviction, not direction.RSI, ATR, MACD and Bollinger Bands now follow their original definitions, so the numbers match what charting platforms and textbooks show. This applies to get_stock, get_stocks, the stock page and new rows of get_indicator_history; rows recorded before the change keep their original values.
atr_20 can differ by a few percent on any given day.bb_pct and how often a close counts as outside a band. MACD starts its averages from a simple mean, the common convention; on stocks with a long history the values are the same..md to its address, for agents and readers that prefer it.get_stock_news, get_news_feed, get_stock_research, the stock page and the dashboard feed show one article per event instead of several versions of the same story, and leave out articles that have no summary. Each call still counts as before.This month's additions, and how they fit together on one real company: what a research desk checks that a price feed doesn't.
Filings, statements and the macro calendar are data, so they are now open to everyone. Guest and free go from 8 tools to 11. Pro keeps the longer windows and the AI read.
get_insider_activity is now free: buy and sell counts, total values and the 5 most recent insider filings from the last 90 days. Pro looks back up to a year, returns up to 50 filings and adds institutional holders and the AI read.get_stock_financials is now free for the latest fiscal year: balance sheet, income statement and cash flow. Pro returns up to 5 fiscal years and the quarterly statements.get_economic_calendar is now free: rate decisions, CPI, GDP, payrolls and more, up to 7 days ahead and 2 days back. Pro sees 14 days ahead and 7 back.Today's analyst rating tells you where consensus is. Now you can see where it's been heading.
get_analyst_trend (Pro) - the day-by-day history of analyst consensus for a stock: the consensus rating, the mean, high, low and median price target, how many analysts are contributing, and the stock's price on each date so a target can be read against where the stock actually traded. Up to 365 days per call. It answers the question get_stock's single current rating can't: are analysts getting more or less bullish on this name? The rating score uses the same scale as get_stock (1.0 = strong buy, 5.0 = strong sell), so a trend row lines up directly against today's value. History starts in July 2026 and grows every weekday, so longer windows fill in over time. That brings Stocklake to 20 tools.get_stock_history now returns a stock's full price history on Pro - daily bars back to the ticker's listing, which is decades for most established names (Apple from 1980, Ford from 1972, and so on), up to 20,000 trading days per call. Guest and free are unchanged at the most recent 365 trading days; a free call that asks for more is capped at 365 and says what Pro unlocks. Every response now also includes history_available - how many daily bars exist for the ticker and the earliest date - so you can see what's there before you ask for it. A full-history call can run to 10,000+ bars, so request only the window you need.A 12% revenue growth rate or a 30% margin means little on its own. Now you can see how it stacks up against the company's peers.
sector_context (Pro) on get_stock and get_stocks - where a stock's revenue growth, gross margin and operating margin sit within its own sector. For each metric you get the stock's value, the sector median, the stock's percentile (0-100) among its sector peers, and how many peers the comparison is based on. It's positioning only - "revenue growth is in the 80th percentile of its sector" - with no rating or buy/sell reading layered on top. Sectors are pooled across every equity Stocklake tracks, and the baseline refreshes daily. A metric is left out when a company has no value for it or its sector has too few peers to be meaningful. get_stock also returns a trend: the same three metrics for the last few quarters, each beside the sector median for that quarter, so you can see whether a company is gaining or losing ground on its peers.get_stock now returns gross_margins for every tier, alongside the net and operating margins it already showed.rs_rank (Pro) in get_stock and get_stocks - a relative-strength rank from 1 to 99: the stock's return over the past year, with the latest quarter counted double, ranked against every stock Stocklake tracks. 99 means it outperformed almost all of them. Stocks only, and it needs about a year of price history.get_stock / get_stocks (td_sequential.signal, setup_direction, countdown_direction) and get_indicator_history (td_signal): a count on falling closes is now DOWNTREND_EXHAUSTION_SETUP / DOWNTREND_EXHAUSTION_COUNTDOWN and downtrend_exhaustion, a count on rising closes is UPTREND_EXHAUSTION_SETUP / UPTREND_EXHAUSTION_COUNTDOWN and uptrend_exhaustion. The counts and phases are unchanged. If your agent matches on the old names, update it.One insider sale in the last month is a data point. The same people selling all year is a pattern.
get_insider_activity takes a new days parameter: how far back to look for insider transactions, 90 days by default and, on Pro, up to a full year (365). The window applies to the transaction rows and to the insider_buys/insider_sells counts alike, so the two always agree, and the response tells you the window it used as window_days. The year of filing history is new and fills in company by company as each one's filings are next checked, so a 365-day window can come back shorter than a year for some stocks for a few weeks.An AI summary written five days ago can still be right. Now the stock page tells you whether it is.
Two test agents ran every tool on both tiers. This is what they found and what changed.
7203.T (Toyota), 6758.T (Sony), 8306.T (Mitsubishi UFJ), 8316.T (Sumitomo Mitsui), 8411.T (Mizuho), 7974.T (Nintendo), 7267.T (Honda), 4502.T (Takeda), SHEL.L (Shell) and ASML.AS (ASML). Disco, Japan Post Bank, Fujifilm and Olympus are new as well.get_stock_research and get_stock_news now show the same signal score on a stock's news. Research could show an older, higher score.x-ratelimit-remaining header now says what is left, so a smaller request can follow. It used to say 0.period and statement in get_stock_financials, sector and country in get_screener. Sector names are matched without regard to case.get_market_assessment and get_sector_intelligence describe what the data shows. They no longer contain phrases that read as an instruction.get_screener with the high_conviction preset still needs Pro, but the answer now says how many stocks match the preset today.get_market_pulse carries the index and volatility readings).We retired the old conviction / confidence / flag_score trio in favor of a single, consistent Signal Score (0-100) everywhere our AI makes a call - plus deeper research, broader European coverage, and a more reliable delivery pipeline underneath it all.
signal_score_band (Weak / Moderate / Strong / Very Strong) now rides alongside the raw number on every signal, so you don't have to memorize what "72" means.get_stock_research now returns a full signal block with signal_score and its band inline - previously this tool didn't surface a score at all.get_stock/get_stocks now return Altman Z-Score (bankruptcy risk), Piotroski F-Score (fundamental strength), and Beneish M-Score (earnings-manipulation likelihood), computed from each company's own filings.get_stock_financials (Pro) - the raw numbers behind those forensic scores, and more: up to 5 years of annual balance sheet, income statement, and cash flow line items, plus the last 7-8 quarters, all in one call. Full history per line item, not just the latest period.get_economic_calendar (Pro) - recently released and upcoming macro data (interest rate decisions, CPI, GDP, non-farm payrolls, and more) with actual-vs-previous values, plus major_only and key_events_only filters.macro_score and sector_score - the real 0-100 number behind our regime and sector labels (RISK_OFF..AGGRESSIVE, LAGGING..LEADING) is now on your dashboard and in the API for Pro. get_market_assessment returns macro_score/regime_strength, get_sector_intelligence returns sector_score/strength_score - both alongside the labels you already had, not replacing them. Read the story: the number behind the label.get_signals' default limit is now 25 (was 50; the max is unchanged, pass limit=50 for the old default). get_indicator_history now returns a slimmer default snapshot (price, RSI, MACD histogram, Bollinger %B, SMAs); pass full=true to also get Williams %R, Ultimate Oscillator, VIX Fix, Williams A/D, TD Sequential, and analyst rating/target, as before.min_conviction and min_flag_score on get_signals are deprecated - they're still accepted for now (no schema break) but no longer do anything. Use the new min_signal_score instead.Star the stocks you care about and track them in one place - with switchable views for prices, technicals, and performance, plus AI verdicts and analyst targets for Pro members. And the whole site is now built for your phone.
get_watchlist MCP tool for Pro - ask your AI agent what's on your watchlist and get it back enriched with price, technicals, and AI verdictstance_signals[].source on get_stock/get_stocks (Pro) no longer prefixes screener-sourced entries with discovery: - now prefixed signal: instead (e.g. signal:elliott_screener), matching our Signals terminology. No backwards-compatible alias - update any client-side code that parses or strips the old prefix.get_stocks, get_screener, and get_signals. get_earnings_intelligence gains a limit param (default and max 25 - it previously had no caller-facing cap). All five now bill one call toward your daily limit per ticker actually returned, not a flat one call per request - see rate limits for the exact accounting.One page, every signal: your dashboard now shows market mood, top movers, AI outlook, and news the moment you log in - no digging required. Stock pages got deeper too, with new trend charts and hover explanations for every number.
Stocklake opened to the public. 20 tools across free and Pro tiers, full MCP Streamable HTTP transport, OAuth 2.1, and a complete developer portal.
The Pro tier went live with AI-powered tools backed by a fully operational data pipeline - sentiment profiles, stock summaries, and a growing news corpus.
The analysis stack went live - macro regime assessment, sector rotation signals, AI portfolio reviews, and insider activity monitoring running on a continuous pipeline.
Core data infrastructure built. Prices, technical indicators, news ingestion, and initial AI assessment across a universe of 2,700+ stocks.