Give Claude Eyes: Web Search, Browsing and MCP
Four layers that let Claude see the live web and your tools: web search, WebFetch in Claude Code, Claude in Chrome, and MCP servers, with safe defaults
Claude only knows what is in its training data and what you put in front of it. Ask about last week's launch or a competitor's new pricing page and you get a polite guess. The fix is giving it eyes: search, page reading, a real browser, and connections to the tools where your information lives. There are four layers, and most people only ever turn on the first one.
Layer 1: web search in the Claude app
In a chat on claude.ai or in the desktop app, click the + button in the lower left of the message box and turn on Web search. A checkmark shows it is on. With it enabled, Claude can search the web and also read a specific page when you paste its URL.
This is enough for quick questions. The problem is that search results look authoritative and often are not. So ask for evidence in a form you can check:
Research [question]. Use web search and read the actual pages, not only
the result snippets. For every claim, give me the source URL and the date
it was published. Separate what the sources state directly from what you
are inferring. If sources disagree, show both sides instead of picking one.
That last line matters. Left alone, a model tends to smooth disagreement into one confident answer.
Layer 2: WebSearch and WebFetch in Claude Code
Claude Code has two built in tools for the web. WebSearch returns result titles and URLs. WebFetch reads a URL, converts the page to Markdown, and has a small, fast model extract what Claude asked for. You do not install anything. Ask a question that needs current information and Claude will reach for them.
Two things are worth knowing because they explain most "Claude missed it" moments:
- WebFetch is lossy on purpose. Claude receives an answer about the page, not the raw page. If it says a page does not mention something, it may only mean the question was too narrow. Ask it to fetch again with a more specific question, or to use
curlfor the unprocessed page. - It asks before fetching new domains. In the default mode, each new domain triggers a prompt. Choosing "don't ask again" saves a rule for that domain.
If you research the same sites often, allow them in advance in .claude/settings.json:
{
"permissions": {
"allow": [
"WebSearch",
"WebFetch(domain:developer.apple.com)",
"WebFetch(domain:github.com)"
]
}
}
I keep documentation sites for the frameworks I build with on this list, so Claude checks the current docs instead of relying on memory. That one habit prevents a lot of outdated code.
Layer 3: a real browser with Claude in Chrome
Search and fetch see the public web. A lot of what matters sits behind a login, or only appears after JavaScript runs, or needs clicking through. For that, Claude needs a browser.
The Claude in Chrome extension lets Claude open tabs, click, type, read the page and its console, and fill forms, using the logins you already have. It works with Chrome, Edge and other Chromium browsers. Using it from Claude Code requires a Pro, Max, Team or Enterprise plan.
To use it from Claude Code:
claude --chrome
Or run /chrome inside a session to check the connection, reconnect, or choose Enabled by default so you do not need the flag. Claude opens its own tabs in a visible window, and when it hits a login page or CAPTCHA it stops and asks you to handle it. Cowork can also pair with Claude in Chrome for tasks on websites.
Where this earns its place in my work: checking a page I just built in a real browser, reading console errors, and pulling data out of web apps that have no export button.
Layer 4: MCP servers for the tools you use
MCP (Model Context Protocol) is how Claude connects to other apps and services. A connector for Notion, Linear or Google Drive gives Claude structured access to your real data, which is far more reliable than scraping a web page.
In the Claude apps you turn connectors on once for your account and sign in to each service. In Claude Code you add servers with one command. For a remote server:
claude mcp add --transport http notion https://mcp.notion.com/mcp
For a local one, such as Microsoft's Playwright MCP, which gives Claude a separate automated browser that is useful for testing:
claude mcp add playwright npx @playwright/mcp@latest
Run /mcp to see what is connected and to sign in where a server needs it. The MCP docs cover every option, and the official servers repository is a good place to find more.
A research prompt worth saving
I want to understand how [audience] talks about [problem] right now.
1. Search the web for discussions, reviews and articles from the last
6 months. Read the pages, not just snippets.
2. Quote at least 15 real complaints verbatim, each with its URL.
3. Group them into themes, ranked by how often they appear.
4. For each theme, note whether any existing product solves it well.
5. Mark clearly which conclusions are yours and which come from sources.
Save the result as research/[topic].md.
Verbatim quotes with links are the point. A summary without them feels finished and cannot be checked.
Keep your eyes safe
More access means more ways for things to go wrong, and web pages are the main one.
- Pages can carry instructions. Text on a website can try to tell Claude to do something. Treat anything Claude reads as information, and be careful about combining web reading with tools that can send, delete or pay.
- A logged in browser is you. Anything Claude does in Chrome happens as your account. Start with read only tasks and watch the first few runs.
- Respect the sites you read. Some platforms limit automated access in their terms. Research at human pace and do not point automation at accounts you cannot afford to lose.
- Only install servers you trust. A local MCP server is code running on your machine with your permissions, and a remote one sees whatever you connect it to. Prefer official servers and read the source of anything else.
Start with Layer 1 today and run the evidence prompt on a real question. If you use Claude Code, add your three most used documentation sites to the allow list, then try claude --chrome on a page you are building. The full browser guide is in the Chrome integration docs.