Claude Code Search
Attach a web search MCP server to Claude Code and it can pull live pages, current docs, and fresh benchmarks from inside your terminal.
Problem: A fresh Claude Code session is offline by default. No live docs, no current tickets, no new blog posts, nothing the model didn't already memorize. A search MCP server closes that gap.
Quick Win: Point your MCP config at a web search server and Claude Code gets an internet door. The terminal session now has a researcher sitting next to the coder.
Understanding MCP Search Integration
An MCP server is a small process that gives Claude Code extra tools through a shared protocol. Web search servers plug into the same pipeline as every other MCP tool. Claude can call them during a chat without leaving your terminal.
No browser tab switch. Claude pulls API references, checks docs, sanity-checks code patterns, and tracks new releases, all without losing the project context you just built up.
Installing Web Search Capabilities
MCP servers are wired in through JSON config. Where the file lives depends on how you run Claude:
- Claude Code CLI:
~/.claude/settings.json - Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)
Option 1: Brave Search MCP (Recommended)
Brave Search is privacy-first and returns a full result set. Add this block to your MCP config:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
}
}
}Grab a free API key from brave.com/search/api.
Option 2: Tavily Search MCP
Tavily is built for technical lookups and dev-flavored queries:
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "@tavily/mcp-server"],
"env": {
"TAVILY_API_KEY": "your-tavily-api-key"
}
}
}
}Option 3: Web Research MCP (Open Source)
If you'd rather self-host and skip API keys:
git clone https://github.com/mzxrai/mcp-webresearch
cd mcp-webresearch
npm installThen point your config at the local build:
{
"mcpServers": {
"webresearch": {
"command": "node",
"args": ["/path/to/mcp-webresearch/index.js"]
}
}
}Using Search in Development Workflows
Once a server is wired, Claude can search mid-conversation.
Real-Time API Documentation
No more tab flipping to read the latest docs:
You: Search for Next.js 15 app router authentication patterns
Claude: [Searches and provides current, actionable examples]Technology Comparison Research
Hand Claude the matchup and get back a synthesis:
You: Compare Redux vs Zustand performance - find recent benchmarks
Claude: [Searches and synthesizes current community recommendations]Troubleshooting with Current Solutions
When a stack trace shows up, Claude can go hunting for fresh fixes:
You: Search for solutions to this TypeScript module resolution error
Claude: [Finds current fixes from documentation and community]Multiple Search Servers
Nothing stops you from running more than one search backend at a time:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-key"
}
},
"tavily": {
"command": "npx",
"args": ["-y", "@tavily/mcp-server"],
"env": {
"TAVILY_API_KEY": "your-tavily-key"
}
}
}
}Claude sees every tool from every configured server and picks whichever fits the question it's been asked.
Verifying Your Configuration
After a config change, restart Claude Code and run this short check:
- Start a new Claude Code session
- Ask Claude: "What MCP tools do you have available?"
- Your configured search tools should show up in the list
If nothing shows up, walk through:
- JSON syntax is valid (no trailing commas, proper quotes)
- File paths are absolute and correct
- API keys are set correctly
- The MCP server package exists and is accessible
Search Query Best Practices
Better input gets better results. Pin down the specifics:
# Less effective
"How do I use databases?"
# More effective
"Search for Prisma PostgreSQL connection pooling best practices 2025"Always include:
- Specific technology names and versions
- The year for time-sensitive information
- Technical terms relevant to your stack
Next Steps
A few directions from here:
- Turn on MCP Tool Search so search servers only load when a query needs them
- Build a research-first loop that checks the web before writing any code
- Add custom MCP integrations that match your stack
- Layer in browser automation MCPs for pages that need real interaction
- Try Context7 for structured, version-pinned docs on tap
- Skim the FAQ when a setup question pops up
With a web search MCP server in place, a Claude Code session stops being a sealed box. It can read the live internet as fast as you can describe what you want.
Stop configuring. Start building.
Cursor MCP Servers
Configure MCP servers inside Cursor IDE. Where the config files go, the JSON format Cursor accepts, and the handful of servers worth adding first.
Browser Automation MCP for Claude Code
Wire Playwright or Puppeteer into Claude Code over MCP and drive real browsers with plain-language requests instead of selector scripts.