← Alle Recipes
Phase 2 · Connectivity·10 min·5 steps

Web research — Brave, Exa, and SearXNG side-by-side

Three MCP servers that cover 95% of research needs. Brave for fast keyword search, Exa for semantic / neural, SearXNG via mcp-research for unlimited free queries.

5 steps0%
Du liest ohne Account. Mit Login speichern wir Step-Fortschritt + Notes.

Web research

Claude Code's built-in WebSearch is fine for one-off queries but it's a Tier-1 tool with a quota. For real research you want multiple sources running in parallel — different indexes catch different things.

The right setup is three complementary MCP servers:

  • Brave — Brave's own crawled index. Fast, no AI noise. As of April 2026 the unlimited free tier is gone — new accounts get ~$5 in monthly credits (~1k queries), paid plans start at $5 / 1k queries.
  • Exa — semantic / neural search. Finds papers, code, and "things like X" rather than exact-keyword matches. ~$2.50 / 1k queries with a small free starting budget.
  • SearXNG via mcp-research — meta-search across 70+ engines, self-hosted, no quota. The right pick if you do heavy daily research and want to avoid metered APIs.

You don't need all three to start. Brave alone is usually enough for the first week.

Step 1: Brave (fast, recommended start)

Get an API key at https://api.search.brave.com/. New accounts include ~$5 in monthly credits (roughly 1k queries) — enough for daily research. If you outgrow that, plans start at $5 / 1k queries pay-as-you-go. Brave killed the unlimited free tier in early 2026, so plan accordingly.

claude mcp add brave-search -s user \
  -e BRAVE_API_KEY=BSAxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
  -- npx -y @modelcontextprotocol/server-brave-search

Codex equivalent in ~/.codex/config.toml:

[mcp_servers.brave-search]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-brave-search"]

[mcp_servers.brave-search.env]
BRAVE_API_KEY = "BSAxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

That's enough for now. Move to Step 4 to verify if you only want one server. Steps 2 + 3 are optional add-ons.

Step 2: Exa (semantic, optional)

Get a key at https://exa.ai/. Pricing is roughly $2.50 / 1k queries with a small starting credit. The killer use case is web_search_exa for "find me companies that do X" or get_code_context_exa for "how do other repos solve this".

claude mcp add exa -s user --transport http -- "https://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY"

Exa is HTTP-only, the API key goes in the URL.

Step 3: SearXNG / mcp-research (unlimited, optional)

If you want zero quota concerns, run a SearXNG instance (Docker is simplest) and point mcp-research at it. Skip this for now if you don't already have SearXNG — Brave alone is fine.

claude mcp add mcp-research -s user \
  -e SEARXNG_URL=https://your-searxng.example.com \
  -- npx -y @studiomeyer/mcp-research

Step 4: Verify

Run aiguide_validate_step. The validator checks for any of brave|context7|tavily|exa|fetch in claude mcp list. If you installed any of them in Step 1-3 you're green.

Step 5: Make Claude use the right server

Without guidance, Claude will reach for whatever tool description matches first. Add a paragraph to your ~/.claude/CLAUDE.md:

## Research protocol

- Default: use brave-search for keyword queries.
- Use exa for "things like X" / "alternatives to X" / "papers on X".
- Use context7 for library + framework docs (React, Next.js, Prisma, etc).
- For long-form research with multiple sources, run brave + exa in parallel
  (one tool call each, then synthesize).
- Cite the URL when you make a factual claim.

This rule lives in your global memory so Claude picks the right tool automatically. Without the rule, you get inconsistent behavior — sometimes WebSearch, sometimes Brave, sometimes nothing.

After this recipe you have search that scales with you. The next recipe makes Claude understand your code as well as it understands the web.

Client check · run on your machine
claude mcp list 2>&1 | grep -iE "brave|context7|tavily|exa|fetch|searxng" | head -5
Expect: At least one web research MCP is listed.
If stuck: Add brave-search (`claude mcp add brave-search -s user -e BRAVE_API_KEY=... -- npx -y @modelcontextprotocol/server-brave-search`) or context7 (`claude mcp add --transport http context7 https://mcp.context7.com/mcp`).
Memory layer — give your AI peCode intelligence — codebase-m