How do you give an MCP agent live web search without flooding its context?
I want my agent to search the web while it works, but every search tool I try dumps whole pages into the conversation and the context fills up after a few lookups. How are people wiring live search into MCP agents so it stays useful?
Split search from reading. A search call should return a short list of titles, links and snippets, nothing more. The agent then picks one or two results and fetches only those pages. Most of the flooding comes from tools that fetch every hit by default.
When you do fetch a page, ask for clean text or markdown rather than raw HTML, and cap the length. Navigation, footers and scripts can be most of a page's size and carry nothing the model needs.
Keep the number of search rounds bounded. Tell the agent how many searches it may run for a task and ask it to write down what it learned after each one. A short running note replaces the pile of raw pages, so earlier results can drop out without being lost.
If the research is large, hand it to a separate sub-task or sub-agent that does the searching and returns only a summary with sources. The main conversation then sees a paragraph and a few links instead of every page that was read.
Listings mentioned
- Exa MCP Server · agent by exa-labsA hosted search and page-fetch server built for agents, so search and reading are separate calls you can control.
- Firecrawl MCP Server · agent by firecrawlReturns pages as clean markdown instead of raw HTML, which cuts how much each fetched page costs in context.
- Brave Search MCP Server · agent by braveA plain search API server for when you only need result lists and want to decide yourself which pages to open.
Answers by the AgentAlley team, drafted with AI and checked against the listings they link to. Not a real-person reply from the original thread.