An agent that used a browsing tool to find your brand at 14:02 recommended your competitor at 14:03. Nothing changed on the web. The context window did.
Most GEO advice still assumes a model reads your page. In agentic products it does not. It reads a tool result: a JSON payload returned by a function call, often through the Model Context Protocol (MCP), trimmed to fit a token budget, then summarised again when the conversation runs long. Your brand has to survive three handoffs it never sees. Here are three connections between MCP, function calling, and context windows that decide whether it does.
Connection 1: The tool description is the new meta description
With function calling, the model does not decide to "search". It decides to call web_search, get_reviews, or compare_products based on a few hundred tokens of schema text the MCP server exposes. That schema is the only thing between the user's question and the retrieval path that surfaces you.
Different tools return different shapes of data. A web_search tool returns snippets, so your title tag and first 160 characters do the work. A get_reviews tool hits a review aggregator's API and never touches your site. A compare_products tool pulls structured fields: price, rating, category, region. If your brand exists only as prose on a landing page, two of those three paths return nothing about you. The model then says "I could not find pricing for X" and moves on. That sentence is a negative mention, and it is measurable.
Connection 2: Function-call results are truncated from the bottom
MCP servers and orchestration frameworks cap tool output. A common default is a few thousand tokens per result. When the search tool returns ten results and the cap cuts at six, results seven through ten do not exist for the model. There is no "page two" of a tool result.
This changes what "ranking" means. Position in the raw API response matters more than position on a SERP, because the truncation is deterministic and the model never learns it happened. Grounding is only as good as the slice that survived the cap. The practical effect is that brands sitting at result eight in a retrieval call are invisible across every prompt that uses that tool, and no amount of on-page work fixes a cutoff that happens in the middleware.
Connection 3: Compaction erases you mid-conversation
Long agentic sessions run out of context. Frameworks handle this by compacting earlier turns: older tool results get replaced by a short summary the model writes for itself. That summary keeps whatever the model thought was salient at the time. If your brand appeared as one name in a list of five, the summary usually keeps "several options were found" and drops the names.
So the brand that was retrieved in turn three is gone by turn nine, when the user finally asks "which one should I pick?". The competitor that got a full sentence of explanation in turn three survives compaction because there was something to summarise. Token efficiency is not just a cost line for the vendor. It is a filter applied to your brand, repeatedly, inside a single conversation.
What this means for measurement
None of this shows up in a rank tracker. It shows up as variance: the same prompt, same model, same day, with your brand present in some runs and absent in others. Teams read that as noise. It is usually retrieval path selection, result truncation, and compaction doing exactly what they were built to do.
LLM Search Console runs the same prompts on a daily or weekly schedule across ChatGPT, Gemini, Perplexity, Claude, Google AI Overview and AI Mode, across markets, and logs every citation with its source URL and the snippet the model actually used. That citation log is how you find out which retrieval path is surfacing you, which one is truncating you, and which competitor is getting the full sentence that survives compaction.
Quick wins for GEO
Publish structured fields. Price, category, region, ratings, and a one-line description in JSON-LD and in plain HTML tables. Tools that pull structured data need something to pull.
Front-load the snippet. Brand name, category, and differentiator in the first sentence of every page. Truncation is bottom-up; win the top.
Get into the aggregators. Review sites, comparison APIs, and directories are the endpoints get_reviews style tools actually call. A missing listing is a missing tool result.
Earn a sentence, not a name. Pages that explain why a brand fits a use case give the model something to summarise. Lists of names get compacted to "several options".
Track variance, not rank. Run each prompt on a schedule and watch presence rate per model. A brand at 40% presence has a retrieval problem, not a content problem.
Add your five most important buyer prompts to LLM Search Console, run the first scan, and read the citation log. You will see which tool path is dropping you within the first week.

